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 for TikTok, Instagram Reels, YouTube Shorts, or Facebook. $0.06 per render. 50 free seeds on signup. No subscription. For Claude Code, install as a plugin (recommended) — see below.
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.
The plugin bundles the MCP server + 4 skills + 3 slash commands. Skills give Claude pre-loaded knowledge about when to call which tool, how to verify the finished video, and how to troubleshoot — so you get better defaults out of the box than the raw MCP install below.
/plugin marketplace add Poppify/poppify-claude-plugin
/plugin install poppify@poppify
After install, say "Use Poppify to turn these photos into a reel." Source on GitHub.
If you want only the MCP tools (no skills/slash commands) — useful for advanced users or when integrating Poppify into a larger custom workflow:
claude mcp add --transport http poppify https://poppify.ai/mcp
Then /mcp inside Claude Code to verify tools registered. Local scope (default) writes to .claude.json in the project; --scope user writes to ~/.claude.json globally. Both apply instantly.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop.
{
"mcpServers": {
"poppify": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://poppify.ai/mcp"
]
}
}
}
Settings → Connectors → Add custom connector → paste the endpoint URL below. Claude runs a one-click “Connect Poppify” screen (OAuth) — no API key, no JSON, no config. Your wallet with free signup seeds is created automatically on connect.
https://poppify.ai/mcp
Requires Pro, Max, Team, or Enterprise plan. Auth is OAuth 2.1 + PKCE, handled automatically. Prefer a manual key? Call register() and pass it as the apiKey arg instead.
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per-project):
{
"mcpServers": {
"poppify": {
"url": "https://poppify.ai/mcp"
}
}
}
Cline MCP UI → Remote Servers tab → Name + URL. Or paste into ~/.cline/mcp.json:
{
"mcpServers": {
"poppify": {
"url": "https://poppify.ai/mcp",
"disabled": false,
"autoApprove": []
}
}
}
Add to ~/.continue/config.yaml (list form, explicit type):
mcpServers:
- name: poppify
type: streamable-http
url: https://poppify.ai/mcp
Add to ~/.codeium/windsurf/mcp_config.json — note the field is serverUrl, not url:
{
"mcpServers": {
"poppify": {
"serverUrl": "https://poppify.ai/mcp"
}
}
}
For ChatGPT Plus / Pro / Team / Enterprise / Edu:
https://poppify.ai/mcp → CreatePublic distribution via the OpenAI Apps SDK is pending review. Free tier not supported. (GPT Builder uses Actions / OpenAPI, not MCP — different surface.)
If your client speaks MCP Streamable HTTP, point it at the endpoint URL above. Stateless mode, no session ID required.
Register a wallet, top up with a $0.50 trial pack or $5.99 standard pack, then make reels. Same pipeline mobile uses, exposed as MCP tools.
Mint an apiKey + wallet (one-time per user). Save to ~/.poppify/key.
Balance, Stripe Checkout top-up (mini $0.50 = 5 seeds or standard $5.99 = 100 seeds), and app-account linking.
Upload 1-10 photos + optional theme/audience/goal. Runs strategist + copywriter inline; returns concept, slides, caption.
Tweak every field before render — literal text, per-slide images + motion, music, color. No LLM unless explicitly invoked.
Lock config and start render. AI assets (image/music/voiceover, 5 seeds each) are charged at generation time — opt-in only.
Poll status. Returns signed video URL when complete — valid ~7 days.
register, persists the apiKey locally.start_session_from_photos, shows the concept + slides, lets the user adjust.register(). The apiKey IS the account. Email optional (for Stripe receipts only — videos are not emailed).http(s) URLs, data:image/...;base64,... data URLs, or use upload_asset to mint a presigned GCS PUT URL and skip third-party temp hosts entirely.get_result returns status: failed with a reason. See our refund policy.