MCP server

Automate10x exposes a Model Context Protocol server so Claude, Cursor, and any MCP-aware agent can research, draft, publish, and schedule — using the same API the app uses. It speaks the Streamable-HTTP transport.

Endpoint & auth

The MCP endpoint is:

https://automate10x.com/mcp

Authenticate with your Automate10x API key, either as an Authorization: Bearer sk_… header or a ?key=sk_… query param. Get / rotate a key in Settings → API.

Connect a client

Claude Desktop — add to claude_desktop_config.json:

claude_desktop_config.json
{
  "mcpServers": {
    "automate10x": {
      "url": "https://automate10x.com/mcp",
      "env": {
        "AUTOMATE10X_API_KEY": "<your-key>"
      }
    }
  }
}

Claude Code:

claude mcp add automate10x https://automate10x.com/mcp \
  --env AUTOMATE10X_API_KEY=<your-key>

Cursor / other clients — point at the endpoint above and pass the key (header or ?key=).

Tools

14 tools cover the full publishing lifecycle. The async ones (research, publish) auto-poll, so the agent gets a settled result back instead of an id to chase.

verify_connectionConfirm the key works; returns your identity, plan, and remaining credits.
get_capabilitiesPer-platform character limits, media rules, and REQUIRED option fields, plus your connected accounts with their channel/board/page ids. Call this before publishing to self-configure.
list_accountsList the connected social accounts this key can publish to, with their ids.
research_sourceResolve a URL / YouTube / TikTok / PDF / RSS / Perplexity source and return the resolved markdown. Auto-polls until ready, so you get the content back directly.
ingest_sourceCreate a source without waiting (returns the id + a poll URL). Prefer research_source.
generate_postLLM-generate platform-native post variants from a prompt (+ optional sources and brand voice).
create_mediaGet a presigned upload URL for a local image/video. PUT the bytes, then reference the publicUrl in a publish.
publishPublish one idea to MANY destinations in a single call (targets[] + per-platform options). dryRun validates without posting. Auto-polls the job to a settled result so you get live permalinks / per-target errors back.
get_jobPoll a publish job by jobId for its rollup status (queued | running | completed | partially_failed | failed).
list_scheduledList scheduled posts (filters: status, platform, jobId).
list_publishedList successfully-published posts with permalinks.
create_webhookSubscribe a URL to signed events. Returns the signing secret ONCE.
list_webhooksList your webhook subscriptions (no secret).
schedule_postLegacy single-account schedule. Prefer publish for one-or-many destinations.

Resources

Read-only context an agent can pull without a tool call (e.g. to ground drafting in your brand voice):

accounts://listYour connected accounts with their channel/board ids.
capabilities://platformsEach platform's limits, media rules, and required option fields.
posts://scheduledPosts queued for future publication.
brand://{brandId}/voiceA brand's themes, products, audience, and language — for on-brand drafting.

Prompts

Parameterized workflows an agent can invoke by name:

publish_from_urlResearch a URL and publish a tailored post to one or more platforms. Args: url (required), platforms (optional).
weekly_campaignDraft and schedule a week of on-brand posts. Args: brandId (optional), theme (optional).

A typical flow

1. get_capabilities            → platform limits + your accountIds
2. publish { text, targets:[…],   → returns a job; auto-polls to settled
     schedule:{mode:"now"} }
3. (settled) read each target's    → live permalink or per-target error
     url / error

Prefer dryRun: true on the first publish to validate every target (text length, required options) before posting for real.

← Back to all docs · REST details in the API reference.