MIT · npm · 16 tools

The social media MCP server

One command gives any Model Context Protocol client — Claude, Cursor, ChatGPT, your own agent — a typed toolkit for publishing to seven social networks. Scheduling, retries, token health and image generation included.

claude_desktop_config.json
{
  "mcpServers": {
    "postmcpai": {
      "command": "npx",
      "args": ["-y", "@postmcpai/server"],
      "env": {
        "POSTMCPAI_API_KEY": "pmcp_sec_•••"
      }
    }
  }
}
→ 16 tools registered · 7 networks reachable

Two transports, one binary

stdio · default

Local desktop and IDE clients

The client spawns the server as a subprocess and speaks over stdin/stdout. Nothing is exposed to the network, and the key stays in your local config. This is the mode Claude Desktop and Cursor use.

npx -y @postmcpai/server
Streamable HTTP · set PORT

Remote and web connectors

Setting a port switches the same binary into HTTP mode with an OAuth 2.0 / RFC 9728 discovery surface — what Claude.ai and other remote connectors expect. Host it anywhere and hand over the URL.

PORT=3000 npx -y @postmcpai/server
The toolkit

Sixteen tools, split by what they can break

Full parameter reference

Read-only · safe to run unattended

  • get_user_info

    Plan tier, credit balance, AI tokens, active workspace and role.

  • list_workspaces

    Every workspace on the key, with ids, roles and connected platforms.

  • get_connected_accounts

    Connected profiles and the profileId needed to target them.

  • get_account_health

    Connections whose token expired or is close to it.

  • list_brandings

    Brand kits — tone, audience, keywords, style images.

  • list_posts

    The queue, newest first, with per-profile status and counts.

  • get_post

    One post in full: deliveries, live URLs, per-profile errors.

Mutating · gated behind approval

  • preflight_post

    Dry run: limits, unconnected profiles, missing media, credit cost.

  • create_post

    Draft, schedule or publish to named profiles. One post per profile.

  • publish_post_now

    Publish early, or retry a failure, skipping delivered profiles.

  • update_post

    Change copy, targets, schedule, media or status.

  • reschedule_post

    Move to a new slot, keeping copy and targets.

  • reset_stuck_post

    Release a post caught mid-publish so it can retry.

  • delete_post

    Cancel and delete a scheduled or failed post.

  • generate_image

    Generate an image and return a hosted URL for mediaUrl.

  • multicall

    Run up to 20 of the above in one request, validated before execution.

What the model can and cannot see

Three separate credentials, and the AI holds none of them

  1. 1
    Your social OAuth tokens

    Encrypted in the backend vault. Never sent to the MCP server, let alone the model. Reconnecting a network mints a new one; nothing is ever handed out.

  2. 2
    Your PostMCP API key

    Lives in the MCP server process — an env var, a query parameter or a header. It authenticates calls to the backend. The model never receives it as tool output.

  3. 3
    The conversation

    The model sees tool names, the arguments it chose, and the results. That is the whole surface: enough to publish a post, not enough to exfiltrate an account.

MCP server FAQ

What is an MCP server?
Model Context Protocol is an open standard for exposing tools to AI assistants. An MCP server advertises a set of typed tools; a client such as Claude Desktop, Claude.ai, Cursor or a custom agent discovers them and can call them during a conversation. PostMCP’s server exposes social publishing as 16 such tools.
How do I install the PostMCP MCP server?
You do not install anything permanently — npx -y @postmcpai/server fetches and runs it. Point your client at that command, set POSTMCPAI_API_KEY to a key from your dashboard, and the tools appear in the client’s tool list.
What is the difference between stdio and HTTP mode?
Stdio is the local mode: the client spawns the server as a subprocess and talks over standard input and output. It is what Claude Desktop and Cursor use. Setting a PORT switches the same binary into streamable HTTP mode, which is what remote connectors like Claude.ai need — you host it and hand over a URL.
Does my API key get sent to the AI model?
No. The key lives in the server process — in an environment variable, a URL query parameter or a header — and is used to call the PostMCP backend. The model sees tool names, arguments and results, never the credential. Your social OAuth tokens never leave the backend vault at all.
Can the server work with multiple workspaces?
Yes. An API key is bound to the workspace it was issued from, so a bare key is enough for single-workspace use. To act elsewhere, pass workspaceId on a call, set projectId on the connection, or set POSTMCPAI_PROJECT_ID for the process.
Is it open source?
Yes — MIT licensed and published on npm as @postmcpai/server. You can read exactly what each tool sends, fork it, or self-host the HTTP mode on your own infrastructure.