UGC API

Publish and schedule UGC videos, photo slideshows and images to TikTok and Instagram accounts from any MCP client. Post to many accounts at once, plan campaigns across creator accounts with a schedule and credit preview, send creators connect links, track results, cancel and retry. Hosted remote server with OAuth; 50 free posts.

Hosted MCP Server

npx add-mcp 'https://ugcapi.dev/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

MCP server

UGC API has a remote MCP server, so an AI assistant can post and schedule UGC for you. Ask in plain words, review what it plans, and it publishes through the same API, credits and rules as your code.

Connect

  • Server URL: https://ugcapi.dev/mcp (Streamable HTTP).
  • Claude: Settings → Connectors → Add custom connector, paste the URL, then sign in and click Allow. Or install the UGC API plugin from the Claude directory.
  • ChatGPT, Cursor and others: add a remote MCP server with the same URL. They register themselves and send you through sign-in. Exact steps per client are below.
  • Sign-in: OAuth 2.1 with PKCE and dynamic client registration. You sign in with your UGC API email code and approve the app on our consent screen. Tokens last an hour and refresh automatically; disconnect any time from the app.
  • API keys don't work here. /mcp accepts OAuth tokens only. ugc_live_ keys are for the REST API.

Clients

ClientHow to add UGC API
Claude (claude.ai, Desktop)Settings → Connectors → Add custom connector → https://ugcapi.dev/mcp. Guide: post from Claude.
Claude Codeclaude mcp add --transport http ugcapi https://ugcapi.dev/mcp, then /mcp to sign in. Or /plugin install ugcapi --marketplace ugcapi/plugin for the server plus posting skill.
ChatGPTSettings → connectors (developer mode where your plan requires it) → new connector with the URL and OAuth. Guide: schedule from ChatGPT.
Cursor~/.cursor/mcp.json: {"mcpServers":{"ugcapi":{"url":"https://ugcapi.dev/mcp"}}}
VS Code (Copilot agent mode).vscode/mcp.json: {"servers":{"ugcapi":{"type":"http","url":"https://ugcapi.dev/mcp"}}}
Windsurfmcp_config.json: {"mcpServers":{"ugcapi":{"serverUrl":"https://ugcapi.dev/mcp"}}}
Gemini CLIsettings.json: {"mcpServers":{"ugcapi":{"httpUrl":"https://ugcapi.dev/mcp"}}}, then /mcp auth ugcapi.
Codex CLI~/.codex/config.toml: [mcp_servers.ugcapi] with url = "https://ugcapi.dev/mcp", then codex mcp login ugcapi.

More per-client detail: Claude, ChatGPT, Cursor, VS Code and Windsurf, Gemini. Client menus change; if a step has moved, look for "MCP", "connectors" or "tools" in its settings.

Building an agent that runs without a person, for example with the OpenAI Agents SDK, LangChain, or Grok through the xAI API? Call the REST API as a tool with an API key instead of MCP. See agent frameworks.

Tools

ToolWhat it doesChanges things
get_account_overviewCredits, posts published this month, connected accounts per platformNo
list_accountsConnected social accounts and their idsNo
get_creator_infoWho a post goes out as and the privacy choices TikTok allowsNo
create_connect_linkA link to connect a TikTok, Instagram, Facebook Page or YouTube accountCreates a link
upload_media_from_urlCopies a public video or image into UGC API storageStores a file
publish_postPublishes one post to one or more accounts, now or at a timePublishes; uses credits
preview_campaignThe schedule and credits for many posts over many accountsNo
create_campaignSchedules that campaignSchedules; reserves credits
list_posts, get_postPosts with filters, and one post's results and URLsNo
cancel_post, cancel_campaignStops what hasn't gone out and refunds itCancels
retry_postResends failed resultsPublishes; uses credits
list_campaigns, get_statsCampaign progress, and results by status, platform and dayNo
get_campaign_report, list_clips, get_clip_performanceWhich platform, account, clip or caption won, with views over time and cost per 1,000 viewsNo
tag_accountPuts accounts in groups that campaigns can targetChanges tags only

Answers your agent can show

Every tool result includes a Markdown summary next to the JSON: a headline, the key numbers, a table, insights and suggested next steps. Agents quote it instead of reading raw payloads, so “which platform won?” gets a one-line answer and a table.

/mcp/v2: summaries and a results card

https://ugcapi.dev/mcp/v2 is the agent-first version of the same server, with the same OAuth sign-in and credits. Use it for custom connectors, Cursor, VS Code, Gemini CLI and Codex. The directory listings keep using /mcp, which only gets additive changes.

AddsWhat it does
get_results_summary“How did we do?” for a period (default 7 days): published, failed, views, views per post by platform, the best platform, top clips, breakouts, spend and next steps
explain_failuresFailed results grouped by error, why each happened in plain words, the fix, and whether retry_post will help
Results cardApps that support MCP Apps (and ChatGPT apps) draw KPI tiles, a bar chart of what won and a table inline for the report, clip, stats, summary, failures and campaign-preview tools
Answer-first instructionsThe server tells the agent to lead with the answer, show the table, treat missing numbers as “not reported” rather than zero, and end with one step you can approve

Safeguards

  • The assistant is told to confirm accounts, caption and time with you before publishing, and to preview campaigns first.
  • For TikTok it must show the creator nickname and ask you to choose the privacy level. A TikTok post without a privacy choice is refused.
  • Everything else works like the API: credits are reserved per result and refunded on failure or cancel. See create a post and campaigns.

Try it

  • "Which accounts do I have connected, and how many credits are left?"
  • "Post https://example.com/clip.mp4 to my TikTok and as an Instagram Reel plus Story. Caption: Morning routine in 19 seconds #ugc"
  • "Plan these 12 videos across my two TikTok accounts, one a day at 10:00 New York time from Monday. Show me the plan before scheduling."
  • "What failed this week and why?"
  • "How did our UGC do this week? Which platform and caption won?" (best on /mcp/v2)

FAQ

Should I use /mcp or /mcp/v2?

Use /mcp/v2 when you add the server yourself (custom connector, Cursor, VS Code, Gemini CLI, Codex): it adds summary tools and the inline results card. /mcp is the stable version behind the Claude and ChatGPT directory listings. Both use the same account and credits.

Can the assistant post without asking me?

Its instructions say to confirm before publishing, and Claude asks before using tools that make changes unless you allowed them. Review the plan it shows you.

Can I attach a video in the chat?

Not directly. The server needs a public https URL. Upload the file to the dashboard composer, or host it and paste the link.

Does it cost extra?

No. Posts made through MCP use the same credits as the API, from the same one-time packs, which start at $10 for 1,000 posts.