Guide

Social Media MCP Server: Connect Claude, Cursor and ChatGPT to TikTok, Instagram, Facebook and Threads

Updated 2026-09-27

A social media mcp server exposes posting, scheduling and analytics as tools an AI assistant can call directly, instead of writing raw HTTP requests. IMMA AI's MCP server (preview) wraps the same rules as the social media API: any connected agent can post to TikTok, Instagram, Facebook Pages and Threads, and TikTok still requires human approval.

What is a social media MCP server?

MCP, the Model Context Protocol, is an open standard that lets an AI assistant discover and call a set of tools over a single connection, instead of every integration needing custom glue code. A social media MCP server publishes tools like list_accounts, upload_media, create_post, create_posts_batch and get_calendar, each with a description written for the model: what it does, what input it expects, and when to use it. IMMA AI's MCP server (preview) is built on the official @modelcontextprotocol/sdk and served over Streamable HTTP at https://api.getimma.com/mcp. Every call goes through the same validation as the REST API: platform format checks, daily quota limits, and for TikTok, a hosted approval link instead of a direct publish. The assistant never needs to know TikTok's Content Posting API or Meta's Graph API directly; it just calls a small, consistent set of tools and gets back structured JSON plus a short summary it can read to the user.

How do you connect an AI agent to social media with MCP?

Setup depends on the client. Claude Code, Cursor and n8n read a local mcpServers entry (or a node's fields) carrying IMMA AI's MCP URL and a Bearer API key, so setup is adding one block and reconnecting. ChatGPT and Claude.ai/Claude Desktop instead add IMMA AI as a custom connector with just the MCP URL, then sign in through an OAuth consent screen, no key to copy, because those custom connectors only accept OAuth, not a pasted key. Once connected, the assistant can call list_accounts to see which TikTok, Instagram, Facebook and Threads accounts are linked to the workspace, without any extra setup per platform. Because IMMA AI's REST API and MCP server share the same underlying rules (in packages/core), a post created through MCP behaves exactly like one created through the dashboard or the API: TikTok always goes to approval or inbox mode, never straight to public, and quota checks happen before a post is queued rather than after a platform rejects it.

Which AI assistants can use IMMA AI's MCP server?

Any client that speaks MCP over Streamable HTTP can connect: Claude Desktop, Claude.ai, Claude Code, Cursor, a ChatGPT connector, and workflow tools like n8n's MCP client. Two auth paths cover them. ChatGPT and Claude.ai/Claude Desktop add IMMA AI as a custom connector and authenticate with an OAuth 2.1 login, since neither product accepts a static key for a custom connector. Claude Code, Cursor and n8n instead read a local config or node field carrying a Bearer API key, which suits scripts and terminal tools better than an interactive login. Because every client calls the same set of roughly 15 tools, the assistant's behavior does not change between them: list_accounts returns the same account list, create_post enforces the same TikTok approval rule, and create_posts_batch schedules up to 31 posts the same way regardless of which assistant or auth method is driving it. A team can standardize on IMMA AI's MCP server once and let each member use whichever assistant fits their workflow.

Copy paste MCP configuration (preview)

Cursor and Claude Code both read a local mcpServers entry, but the entry shape differs. Replace imma_live_... with a real API key from the IMMA AI dashboard once the API leaves preview.

Cursor reads a url plus headers:

{
  "mcpServers": {
    "imma": {
      "url": "https://api.getimma.com/mcp",
      "headers": { "Authorization": "Bearer imma_live_..." }
    }
  }
}

Claude Code needs an explicit "type": "http". Per the official docs, an entry with a url but no type is a configuration error, because Claude Code then reads it as a stdio server:

{
  "mcpServers": {
    "imma": {
      "type": "http",
      "url": "https://api.getimma.com/mcp",
      "headers": { "Authorization": "Bearer imma_live_..." }
    }
  }
}

You can also add it without editing JSON by hand: claude mcp add --transport http imma https://api.getimma.com/mcp --header "Authorization: Bearer imma_live_...".

Claude Code and Cursor: add the matching block to the MCP server settings file, then restart the app or run the reconnect command. ChatGPT and Claude.ai/Claude Desktop: skip the JSON entirely. Add IMMA AI as a custom connector with just the URL https://api.getimma.com/mcp, click Connect, and log in on IMMA AI's OAuth consent screen. n8n: does not read an mcpServers JSON file. Add IMMA AI's URL and a Bearer API key in the MCP Client Tool node's own fields instead; see the n8n integration page.

MCP clients and how they connect

ClientConfig locationAuth method (preview)
ChatGPT (Developer mode app)Hosted connector settings screenOAuth 2.1 login
Claude.ai / Claude Desktop (Customize > Connectors)Hosted connector settings screenOAuth 2.1 login
Claude CodeLocal mcpServers JSON fileBearer API key in headers
CursorLocal mcpServers JSON fileBearer API key in headers
n8nMCP client node fieldsBearer API key in headers

How it works

An AI agent connects once to https://api.getimma.com/mcp, then calls tools like create_post or create_posts_batch the same way it would call any other function. IMMA AI validates the request against each platform's rules, publishes or schedules Meta targets, and for TikTok returns an approval link for a human to confirm. See AI agent social media posting for a full example session, or the TikTok posting API page for how TikTok approval works in detail.