Poppify exposes a Model Context Protocol server that lets Claude, ChatGPT, Cursor — any MCP-compatible assistant — turn a user's photos into a short-form vertical video. Stripe handles payment ($0.50 / render). No Poppify account required.
Streamable HTTP transport. Stateless. CORS-open. Drop the URL into your MCP-compatible client and the tools register themselves.
Most clients support a remote MCP URL directly. Older clients (and Claude Desktop) need the mcp-remote bridge — both options below.
From any project directory — use --scope local so it takes effect without restarting Claude Code:
claude mcp add --transport http --scope local poppify https://poppify.ai/api/mcp
Then /mcp inside Claude Code to verify tools registered. Without --scope local the install goes to user scope and you have to quit + reopen Claude Code to pick it up.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude.
{
"mcpServers": {
"poppify": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://poppify.ai/api/mcp"
]
}
}
}
Settings → Connectors → Add custom connector → paste the endpoint URL. No JSON needed.
https://poppify.ai/api/mcp
Add to your ~/.cursor/mcp.json:
{
"mcpServers": {
"poppify": {
"url": "https://poppify.ai/api/mcp"
}
}
}
Paste the same mcp.json shape (above) into your client's MCP settings. All three accept remote url servers natively.
For GPT Builder: import the manifest at /.well-known/mcp.json. ChatGPT public app store distribution (ACP) is pending review.
If your client speaks MCP Streamable HTTP, point it at the endpoint URL above. Stateless mode, no session ID required.
Minimal surface area on purpose — the AI calls one tool to create the order, one to deliver it.
Takes 1–10 photos (public URLs or base64 data URLs) + user email. Returns a Stripe Checkout URL. Share it with the user; once paid, the render kicks off automatically.
Poll with the jobId returned by convert_photos_to_video. Returns status (awaiting_payment · rendering · ready) and, once ready, a signed 24h download URL.
convert_photos_to_video.get_video, gets a signed download URL, hands it to the user.http(s) URLs or data:image/...;base64,... data URLs. AI assistants typically have the user's photos as base64 already, so most flows skip URL hosting entirely.get_video returns status: failed with a human-readable reason. See our refund policy.convert_photos_to_video call mints a fresh Stripe Checkout Session, which expires after 30 minutes if unpaid.