Your AI assistant, now publishes.
Hand your CrossPoster workspace to Claude Desktop, Cursor, or ChatGPT. They get a toolbelt — drafts, publishing, audits, personas, autonomous scheduling. You get one OAuth consent screen and zero copy-paste between tabs.
CrossPoster speaks Model Context Protocol (MCP) — the open standard every modern AI assistant supports.
One-click install
Already have Claude Desktop or Cursor installed? Use the buttons below. Otherwise jump to the copy-paste configs further down.
What you can do
Three concrete examples. Same OAuth-scoped access for all three.
Schedule a LinkedIn post for tomorrow morning
Draft a LinkedIn post about our Q3 launch — focus on the new agent features — and schedule it for tomorrow at 9am London time.
Creates a draft, generates a caption tuned for LinkedIn voice, suggests publish time, schedules. Tools: create_draft → generate_caption → suggest_publish_time → schedule_post.
Generate a week of Instagram content from a single brief
Plan 5 Instagram posts for next week. Theme is 'behind the scenes at a startup'. Generate the images too. I'll review before anything ships.
Creates a calendar, generates captions + images per day, presents each draft for review. Nothing publishes until you explicitly approve. Tools: create_content_calendar → generate_image (×5).
Switch personas mid-conversation
Switch to my 'Founder thought leadership' persona, then audit my latest LinkedIn draft and tell me if it actually sounds like a founder, not like a marketer.
Switches active persona for the session, then runs a content audit scoring the draft across 7 dimensions. Tools: switch_persona → run_content_audit.
Install via CLI
The CLI detects Claude Desktop + Cursor on disk and writes the CrossPoster MCP entry — no manual JSON paste. Existing entries are preserved (merged, not clobbered).
npx -y @crossposter/mcp-server init
Restart your MCP client after install. The OAuth consent flow runs the first time the client connects — pick the scopes you want to grant.
Claude Desktop config
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\\Claude\\claude_desktop_config.json (Windows).
{
"mcpServers": {
"crossposter": {
"url": "https://app.crossposter.tech/api/mcp",
"auth": {
"type": "oauth2",
"authorization_endpoint": "https://app.crossposter.tech/api/auth/oauth2/authorize",
"token_endpoint": "https://app.crossposter.tech/api/auth/oauth2/token",
"scopes": [
"tools.read",
"tools.drafts.write",
"tools.publish"
]
}
}
}
}Cursor config (manual)
{
"mcp": {
"servers": {
"crossposter": {
"url": "https://app.crossposter.tech/api/mcp",
"oauth": {
"authorize_url": "https://app.crossposter.tech/api/auth/oauth2/authorize",
"token_url": "https://app.crossposter.tech/api/auth/oauth2/token",
"scopes": "tools.read tools.drafts.write tools.publish"
}
}
}
}
}Available scopes
Each scope grants a fixed capability cluster. You approve the bundle once on the consent screen; revoke individual tokens anytime in Integrations.
| Scope | What it grants |
|---|---|
| tools.read | Read drafts, posts, platforms; recall memory. |
| tools.drafts.write | Create, edit, transform drafts. |
| tools.content.generate | Generate new content, improve captions. |
| tools.media.generate | Generate AI images, videos, edits. |
| tools.publish | Publish or schedule posts. |
| tools.audit | Score content; run compliance checks. |
| tools.memory.write | Save / delete / clear memories. |
| tools.workflows | Create calendars, request team approval. |
| tools.persona | Switch + configure personas. |
| tools.autonomous | Configure autonomous publishing thresholds. |
How OAuth works
- You configure CrossPoster in Claude Desktop / Cursor (button above, CLI, or paste-JSON).
- On first connect, the client opens a browser tab to app.crossposter.tech.
- You sign in (if you weren't already) and approve the scopes the client requested.
- The client receives an access token via PKCE + RFC 7591 dynamic registration. No keys to manage.
- You revoke or rotate any time at
/settings/integrations.
Already using an API key?
Legacy cp_live_* keys keep working — no breaking changes. Add them to your MCP client as x-api-key headers. OAuth is the recommended new path; API keys remain available.