Skip to main content

MCP Server Integration

Model Context Protocol (MCP) is an open standard that lets AI assistants call external tools. The PostEverywhere MCP server gives any MCP-compatible AI tool — Claude Code, Claude Desktop, Cursor, Windsurf, ChatGPT, OpenAI Codex, and others — direct access to your social media accounts, letting you draft, schedule, and publish posts through natural language.

Two ways to connect

Hosted (recommended)Local (npm)
SetupPaste one URL + your API keyInstall Node, edit a config file
Runs onOur serversYour machine
RequiresJust an API keyNode.js 18+

Connect to our hosted endpoint — nothing to install, no Node, nothing running on your machine. The URL is:

https://mcp.posteverywhere.ai

In Claude Code, one command does it:

claude mcp add --transport http posteverywhere \
https://mcp.posteverywhere.ai \
--header "Authorization: Bearer pe_live_YOUR_KEY"

For any client that supports a remote/HTTP MCP server with a custom header:

  • URL: https://mcp.posteverywhere.ai
  • Header: Authorization: Bearer pe_live_YOUR_KEY

Get your API key from Settings → Developers in the dashboard. Your key is passed straight through to the PostEverywhere API on every request, which enforces the same authentication, tenancy, and rate limits as a direct API call — the hosted MCP server stores nothing.

Connect from the claude.ai website (browser)

You can also add PostEverywhere as a custom connector in the claude.ai web app — no API key to paste, nothing to install. This flow uses a one-time sign-in (OAuth) instead of a header.

  1. In claude.ai, open Settings → Connectors.
  2. Under Custom connectors, click Add custom connector.
  3. In the URL field, enter https://mcp.posteverywhere.ai
  4. Click Add. You can leave Advanced settings empty — a Client ID and Secret are not needed, because Claude registers itself automatically.
  5. Claude opens a PostEverywhere sign-in page. Log in, then click Approve on the "Connect Claude to PostEverywhere" screen.

That's it — Claude can now list your accounts and draft, schedule, and publish posts. Approving creates a revocable access key that you can view or delete any time under Settings → Developers in the dashboard.

note

Custom connectors are a beta feature in Claude, so claude.ai shows an "unverified" notice during setup — that's expected for every custom connector. Available on all Claude plans (Free is limited to one connector; Pro, Max, Team, and Enterprise allow more).

The hosted URL also works today in Claude Code, Claude Desktop, Cursor, ChatGPT, OpenAI Codex, and any client that supports a Bearer header (above), and the local option below works everywhere.

Connect from ChatGPT

ChatGPT connects to the hosted MCP server through a custom connector, too. The simplest path is to open the PostEverywhere agents page and follow the Connect ChatGPT flow — it walks you through adding https://mcp.posteverywhere.ai as a connector and authorizing it, no API key to paste. Once connected, ChatGPT can list your accounts and draft, schedule, and publish posts. OpenAI Codex uses the same hosted endpoint via its MCP configuration with a Bearer header (above).

Local MCP (npm)

Prefer to run the server on your own machine? The @posteverywhere/mcp npm package runs via npx — the configs below set that up.

Prerequisites

Setup for Claude Code

Add this to your Claude Code MCP configuration (~/.claude/claude_code_config.json, or the project-level .claude/claude_code_config.json):

{
"mcpServers": {
"posteverywhere": {
"command": "npx",
"args": ["-y", "@posteverywhere/mcp"],
"env": {
"POSTEVERYWHERE_API_KEY": "pe_live_..."
}
}
}
}

Restart Claude Code after saving. You should see PostEverywhere listed in your available tools.

Setup for Cursor

Open Cursor's MCP settings (Settings > MCP) and add a new server with this configuration:

{
"mcpServers": {
"posteverywhere": {
"command": "npx",
"args": ["-y", "@posteverywhere/mcp"],
"env": {
"POSTEVERYWHERE_API_KEY": "pe_live_..."
}
}
}
}

Alternatively, create a .cursor/mcp.json file in your project root with the same content.

Setup for Windsurf

In Windsurf, go to Settings > Extensions > MCP and add:

{
"mcpServers": {
"posteverywhere": {
"command": "npx",
"args": ["-y", "@posteverywhere/mcp"],
"env": {
"POSTEVERYWHERE_API_KEY": "pe_live_..."
}
}
}
}

What You Can Do

Once connected, you can manage your social media entirely through natural language:

  • List accounts — see all connected social accounts and their status
  • Create posts — content for any combination of platforms
  • Save drafts — create a post as a draft (create_post with draft: true) for review before it goes out; accounts can be chosen now or later
  • Review drafts — list and inspect drafts (with their target accounts and per-platform content) before committing them
  • Schedule a draft — turn a draft into a scheduled or immediately-publishing post with schedule_post
  • Schedule posts — set a specific date and time for publishing
  • Upload media — attach images or videos to your posts
  • Check results — see which platforms published successfully and which failed

Draft → review → schedule (human-in-the-loop)

The MCP server supports an approval workflow that's ideal when a human (or a second agent) should sign off before anything publishes:

  1. create_post with draft: true — saves the post as a draft. account_ids is optional at this stage; you can decide targets later.
  2. list_posts with status: "draft" (or get_post) — review the draft. The response includes the draft's account_ids and platform_content so you can see exactly what will publish.
  3. schedule_post — once approved, pass the post_id plus either scheduled_for (ISO 8601 UTC) or publish_now: true. You can also supply account_ids here to set or override the draft's targets, and an optional timezone for display. schedule_post only works on drafts.

Example Prompts

Here are prompts you can use with any MCP-compatible AI tool:

Schedule a post:

"Schedule a post to Instagram and LinkedIn for tomorrow at 10am saying 'We just launched our new feature! Check it out at example.com'"

Cross-platform content:

"Create a post announcing our Q2 results. Put it on X, LinkedIn, and Threads. Schedule it for Monday at 9am EST. Keep X under 280 characters but make the LinkedIn version longer and more professional."

Check your accounts:

"Show me all my connected social media accounts and their status"

Review scheduled posts:

"What posts do I have scheduled for this week?"

Upload and post media:

"Upload the image at ./campaign-banner.png and schedule it to Instagram and Facebook for Friday at noon"

Draft for review, then schedule:

"Draft three LinkedIn posts about our new pricing — don't schedule them yet, just save them as drafts so I can review."

"Show me my draft posts." … then … "The second one looks great — schedule it to LinkedIn for Tuesday at 9am EST."

Environment Variables

VariableRequiredDescription
POSTEVERYWHERE_API_KEYYesYour API key starting with pe_live_. Generate at Settings > Developers.

Troubleshooting

"Tool not found" or MCP server not connecting

  1. Make sure Node.js 18+ is installed: node --version
  2. Test the package is accessible: npx @posteverywhere/mcp --help
  3. Confirm your configuration file is valid JSON
  4. Restart your AI tool after changing MCP configuration

"Unauthorized" errors

  • Double-check your API key is correct and starts with pe_live_
  • Make sure the key hasn't been revoked in Settings > Developers
  • Verify there are no extra spaces or quotes around the key in your config

Posts failing to publish

  • Confirm the target accounts are still connected and healthy in your dashboard
  • Check platform-specific requirements (e.g., TikTok requires video, YouTube requires a title)
  • See the platform guides for media and content requirements

Rate limit errors

The MCP server respects the same rate limits as direct API calls. If you're making many requests in quick succession, wait a moment and try again.

FAQ

What AI tools support MCP?

MCP is supported by Claude Code, Claude Desktop, Cursor, Windsurf, ChatGPT, OpenAI Codex, Cline, Continue, and a growing list of AI assistants. Any tool that implements the MCP client specification will work with the PostEverywhere MCP server. For ChatGPT, connect via the hosted connector on the agents page.

Is my API key secure in the MCP config?

Your API key is stored locally in your MCP configuration file and passed as an environment variable to the MCP server process. It is never sent to the AI model itself — only the MCP server uses it to authenticate with the PostEverywhere API. Treat your config file like any other file containing secrets: don't commit it to public repositories.

Can I use MCP to schedule many posts at once?

Yes. Ask your AI assistant to create multiple posts in a single conversation — it will call the Create Post tool once per post with different scheduled_for times. Scheduled posts don't count against the per-minute posting rate limit, so bulk scheduling works smoothly.

Does it work with self-hosted or team accounts?

The MCP server uses your personal API key, which is scoped to your organization. Any accounts connected to your PostEverywhere organization are accessible through MCP.

Next Steps