CrossPoster MCP
Draft, preview, score, schedule and publish social posts from Claude, ChatGPT, Cursor, Gemini CLI, Perplexity, Mistral Le Chat, VS Code, Cline, Windsurf, Raycast or any other MCP client.
- Server URL:
https://mcp.crossposter.tech/mcp(Streamable HTTP) - Sign-in: OAuth 2.1 with dynamic client registration. Your client opens a browser window on first use, you approve the permissions, and nothing is pasted anywhere. Clients without OAuth can send a CrossPoster API key as
Authorization: Bearer <key>instead (Settings → API keys in the app). - Account: a CrossPoster account is required: https://app.crossposter.tech. Social accounts are connected in CrossPoster, never from chat.
This repository holds what directories and clients read: the Claude plugin manifest, the Agent Plugins package that ChatGPT and Cursor use, the Gemini CLI extension, and the install steps below. The server itself is hosted by CrossPoster; nothing here runs on your machine.
Connect
Claude Code
claude mcp add --transport http crossposter https://mcp.crossposter.tech/mcp
Or install the plugin from Anthropic's directory with /plugin once it is listed.
Claude.ai and Claude Desktop
Settings → Connectors → Add custom connector, paste the server URL, then sign in when asked.
ChatGPT
Settings → Apps & Connectors → Create (developer mode), paste the server URL, then sign in. When the CrossPoster app is listed in the directory, add it from there instead.
Cursor
Add to Cursor, or put this in ~/.cursor/mcp.json:
{
"mcpServers": {
"crossposter": {
"url": "https://mcp.crossposter.tech/mcp"
}
}
}
Cursor discovers the OAuth endpoints from the URL.
VS Code
code --add-mcp '{"name":"crossposter","type":"http","url":"https://mcp.crossposter.tech/mcp"}'
Gemini CLI
gemini extensions install https://github.com/backhandvolley/crossposter-mcp
Or add the server to ~/.gemini/settings.json under mcpServers as { "crossposter": { "httpUrl": "https://mcp.crossposter.tech/mcp" } }. Gemini CLI discovers OAuth and registers itself.
Perplexity
Plugins → Add custom → Add MCP connector → Remote. Name it CrossPoster, paste the server URL, confirm the acknowledgement and select Add, then select the connector card to sign in. In an organisation, the same steps live under Organization settings → Connectors.
Mistral Le Chat
Settings → Connectors → Add connector → custom MCP connector, paste the server URL, then sign in.
Cline
Settings → MCP Servers → Remote Servers: name crossposter, URL https://mcp.crossposter.tech/mcp.
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"crossposter": {
"serverUrl": "https://mcp.crossposter.tech/mcp"
}
}
}
Any other client
Paste the server URL where the client takes a remote MCP server. A client that only speaks stdio can bridge with npx -y mcp-remote https://mcp.crossposter.tech/mcp.
Permissions
Each permission is a separate OAuth scope. You approve them on the consent screen, and a client gets only what it asked for.
| Scope | Permission | What it allows |
|---|---|---|
tools.read | Read your content | See your drafts, connected platforms, their analytics and your past posts, and score or suggest rewrites of a post's wording. Nothing is changed. |
tools.drafts.write | Create drafts | Create new drafts, and start proposed caption edits that leave the draft itself unchanged. |
tools.content.generate | Generate content | Write new social-media copy from a prompt, or improve, shorten or rephrase text you supply. |
tools.publish | Publish posts | Publish drafts to your connected platforms, or schedule them to publish later. |
Tools (21)
| Tool | Does | Access |
|---|---|---|
allocate_draft_id | Allocate draft ID | read-only |
check_draft_job | Check draft job | read-only |
connect_platform | Connect platform | read-only |
create_draft | Create draft | writes a draft |
create_empty_draft | Create empty draft | writes a draft |
generate_content | Generate content | read-only |
get_platform_analytics | Platform analytics | read-only |
improve_content | Improve content | read-only |
improve_wording | Improve a post's wording | read-only |
list_drafts | List drafts | read-only |
list_platforms | List platforms | read-only |
list_workspaces | List workspaces | read-only |
preview_draft_image | Preview draft image | read-only |
preview_platform | Preview platform | read-only |
preview_post | Preview post | read-only |
publish_post | Publish post | publishes, asks for confirmation first |
read_draft | Read draft | read-only |
schedule_post | Schedule post | writes a draft |
score_x_wording | Score an X post's wording | read-only |
search_past_content | Search past content | read-only |
whoami | Who am I | read-only |
publish_post returns a confirmation token first and publishes only on a second call that carries it, so nothing reaches a social network without an explicit confirmation step.
Example prompts
- "List my recent CrossPoster drafts and show how the newest will look."
- "Write a short LinkedIn post announcing our new feature and save it as a draft."
- "Score the wording of this X post and suggest a better version."
- "How did my LinkedIn posts do this month?"
Support
- Documentation: https://crossposter.tech/integrations/mcp
- Support: https://crossposter.tech/support
- Email: support@crossposter.tech
- Privacy: https://crossposter.tech/privacy
- Terms: https://crossposter.tech/terms
Published by Blinov Tech Ltd. The manifests in this repository are MIT-licensed; the CrossPoster service is governed by its own terms.