Social media MCP server

Social media MCP server for Claude, Cursor and ChatGPT

A social media MCP server lets an AI assistant publish posts by calling tools instead of scraping a dashboard. Socifyr hosts one at https://api.socifyr.com/api/mcp over Streamable HTTP. Add the URL and your API key as a Bearer header, and the assistant gets 20 tools for posting text, images and video to 18 platforms, scheduling, checking status, reading analytics and renewing expired accounts. Your assistant holds one Socifyr key. It never sees an Instagram, X or LinkedIn token.
20
MCP tools
18
platforms, one key
3
connected accounts on Free
30
free uploads per month

What you get

  • Remote server, nothing to install

    Works anywhere remote MCP is supported: claude.ai, Claude Desktop, Claude Code, ChatGPT, Cursor, VS Code, Windsurf and Gemini CLI.
  • 20 tools, one per real task

    Post text, images and video. Schedule one post or up to 500 in a single call. Edit drafts, retry failures, read analytics.
  • Slugs instead of tokens

    The assistant targets accounts by slug such as instagram-mybrand. Platform credentials stay on the Socifyr side.
  • Self-healing connections

    refresh_connection renews a token without the owner. reconnect_connection returns a one-time link when the platform cannot refresh.

Connect Socifyr to Claude Code as an MCP server

  1. 1

    Create an API key

    Create a workspace API key in the Socifyr dashboard under API keys. It starts with sk_.
  2. 2

    Add the server

    Run: claude mcp add --transport http socifyr https://api.socifyr.com/api/mcp --header "Authorization: Bearer sk_your_key_here".
  3. 3

    Verify

    Run claude mcp list, then ask the assistant to list your Socifyr connections.

How do I connect Socifyr to Claude, Cursor or ChatGPT?

Create an API key at app.socifyr.com/dashboard/api-keys. Each key belongs to one workspace, so the connector acts on that workspace. Then pick your client.

Where each MCP client stores its server config
ClientWhere to configureURL field
claude.ai, Claude DesktopSettings, Connectors, Add custom connectorURL plus Request headers
Claude Codeclaude mcp add --transport httpcommand flag
ChatGPTSettings, Connectors (developer mode)URL plus headers
Cursor~/.cursor/mcp.jsonurl plus headers
VS Code (Copilot agent).vscode/mcp.jsonurl plus headers, type: "http"
Windsurf~/.codeium/windsurf/mcp_config.jsonserverUrl plus headers
Gemini CLI~/.gemini/settings.jsonhttpUrl plus headers
Claude Code
bash
claude mcp add --transport http socifyr https://api.socifyr.com/api/mcp \
  --header "Authorization: Bearer sk_your_key_here"
Cursor (~/.cursor/mcp.json). Cursor reads the key from your environment.
json
{
  "mcpServers": {
    "socifyr": {
      "url": "https://api.socifyr.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${env:SOCIFYR_API_KEY}"
      }
    }
  }
}
  1. claude.ai: open Settings, Connectors, Add custom connector. Enter https://api.socifyr.com/api/mcp, expand Advanced, add the header Authorization: Bearer sk_your_key_here, and leave sign-in set to "No sign-in required". The header is the authentication.
  2. ChatGPT: needs a plan with Connectors and developer mode (Plus, Pro, Team or Enterprise). Create a connector with the same URL and the same Authorization header.

Which tools does the Socifyr MCP server expose?

All 20 tools exposed by the Socifyr MCP server
ToolWhat it does
list_connectionsLists connected accounts and their slugs, with a health flag. Call it first.
post_textPublishes text to one or more slugs now. Optional firstComment.
post_imagePublishes one or more images, from public URLs or media library IDs.
post_videoPublishes a video from a public URL or media library ID.
schedule_postSchedules a text post for an ISO 8601 time.
schedule_postsSchedules 1 to 500 text posts in one call and reports per-row errors.
check_post_statusReturns the status and per-platform result of a post.
list_postsLists drafts, scheduled and published posts with their IDs.
update_postEdits a draft or not-yet-published scheduled post. connections replaces the full target set.
publish_draftPublishes a saved draft immediately.
retry_postRetries the channels that failed on a post.
refresh_connectionRenews an account token without the owner, when the platform supports refresh.
reconnect_connectionReturns a single-use link for the owner to re-authorize an expired account.
get_post_analyticsPer-platform engagement metrics for one post.
get_follower_growthFollower change per connected account over a window.
compare_accountsSide-by-side followers, posts published and engagement.
get_usageShows posts, accounts and storage used against your plan.
list_mediaLists media library files and IDs you can reuse in posts.
delete_mediaDeletes media library items by ID.
generate_captionDrafts captions from a description, URL or brief, tuned per platform.

What can I ask my assistant to do?

Once the connector is enabled, plain language is enough. The assistant picks the tool and fills the arguments.

  • "List my Socifyr connections." (calls list_connections and reads back your slugs)
  • "Post 'just shipped a new feature' to LinkedIn and X." (calls post_text with both slugs)
  • "Schedule these five posts for next week at 9am on linkedin-mybrand." (calls schedule_posts)
  • "Did my last post go out everywhere? Retry anything that failed." (calls check_post_status, then retry_post)
  • "Which accounts are about to expire? Renew them." (calls list_connections, then refresh_connection)

Scheduling requires a paid plan. Free workspaces can publish immediately but not schedule. See how scheduling works.

What happens when an account token expires?

list_connections flags accounts as expiring or needing reconnect, and a failed post reports reconnect_required. The assistant can handle both without you opening the dashboard. It calls refresh_connection first. If the platform cannot refresh, it calls reconnect_connection, which returns a link that works once and expires after 10 minutes. The owner opens it and approves the same account, and the slug and any scheduled posts keep working.

Arguments for both tools
json
{ "connection": "instagram-mybrand" }

The full walkthrough is in OAuth token expiry and how to refresh or reconnect accounts.

Is it safe to give an AI agent a posting key?

Keys can carry guardrails: a daily post cap, a monthly X spend cap, and a mode that routes every post into an approval queue for a human. A key with any guardrail cannot manage keys, members, webhooks or connections, so it cannot lift its own limits. Read how to give an AI agent safe access to social accounts.

Frequently asked questions

What is a social media MCP server?

It is a Model Context Protocol server that exposes publishing actions as tools. An MCP client such as Claude, Cursor or ChatGPT can call those tools to post, schedule and read analytics on your connected social accounts.

What is the Socifyr MCP server URL?

https://api.socifyr.com/api/mcp. It uses the Streamable HTTP transport and authenticates with an Authorization: Bearer sk_... header. Self-hosted installs use {API_URL}/api/mcp.

Does the MCP server work with ChatGPT?

Yes, on a ChatGPT plan that offers Connectors with developer mode. Create a connector with the server URL and the Authorization header, then enable it in a chat.

Does the agent get my Instagram or X password or token?

No. The agent holds a Socifyr API key scoped to one workspace and targets accounts by slug. Platform tokens stay in Socifyr.

Can the MCP server schedule media posts?

schedule_post and schedule_posts schedule text posts. For scheduled media, save a draft and publish it at the target time from code, or schedule through the REST API or SDK.

Is there a local stdio option?

Yes. Install @socifyr/mcp globally and register the socifyr-mcp command in your client with SOCIFYR_API_KEY and SOCIFYR_WORKSPACE_ID set. Use it when a client cannot reach a remote URL.

Related

Put social media mcp server to work

One key, 18 platforms, flat pricing from $9.99. The free plan needs no card.