ChirpieDocs
Guides

Post to X from Claude

Three ways to let Claude post to X (Twitter) — the hosted MCP endpoint, a Claude.ai custom connector, and Claude Code.

Updated September 2026

How do you let Claude post to X?

Connect your X account to Chirpie, then give Claude the Chirpie MCP server. Claude gets a chirpie_post tool and you can say "post this to X" in plain language. There are three ways to wire it up: the hosted endpoint at https://chirpie.ai/mcp (nothing to install), a custom connector in Claude.ai, or a local server in Claude Code.

Step 1 — Connect X to Chirpie

Sign up at chirpie.ai, then connect X from the accounts dashboard. X uses OAuth 2.0 with PKCE; Chirpie stores the tokens encrypted and refreshes them automatically before they expire.

You can also start the flow from the API:

curl -X POST https://chirpie.ai/api/v1/accounts \
  -H "Authorization: Bearer chirpie_sk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "platform": "x" }'

Open the returned authorization_url, approve, and the account appears in GET /api/v1/accounts.

Create an API key at chirpie.ai/dashboard/keys — it starts with chirpie_sk_ and is shown once.

Step 2, option A — The hosted MCP endpoint

The fastest path. No install, no local process:

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

Scope it to your user account so it follows you across projects:

claude mcp add --transport http chirpie --scope user https://chirpie.ai/mcp \
  --header "Authorization: Bearer chirpie_sk_YOUR_KEY"

Short flags work too: -t for --transport, -H for --header, -s for --scope.

Step 2, option B — A Claude.ai custom connector

If you use Claude in the browser or desktop app rather than the terminal:

  1. Go to Customize → Connectors at claude.ai/customize/connectors.
  2. Click +, then Add custom connector.
  3. Enter https://chirpie.ai/mcp as the remote MCP server URL.
  4. Click Add, then authorize when prompted.

Custom connectors are available on Free, Pro, Max, Team, and Enterprise plans; Free is limited to one. On Team and Enterprise an owner adds the connector organization-wide first, under Organization Settings → Connectors, and members then authenticate individually.

The Claude.ai connector dialog takes a URL and optional OAuth details — there is no field for a custom header. Authorize through the OAuth flow rather than trying to paste an API key.

Step 2, option C — Claude Code with the local server

If you would rather run the server yourself, or you are already using the Chirpie CLI:

npm install -g chirpie
chirpie login
claude mcp add chirpie -- npx @chirpie/mcp

chirpie login writes an API key to ~/.chirpie/config.json, and the MCP server reads it from there — so no key lives in your MCP config. Commit the server definition to your repo if you want the whole team to have it:

{
  "mcpServers": {
    "chirpie": {
      "type": "stdio",
      "command": "npx",
      "args": ["@chirpie/mcp"]
    }
  }
}

Step 3 — Ask Claude to post

Restart your client so it picks up the new tools, then:

Post to X: "Shipped a fix for the scheduler race condition. Threads now publish atomically."

Claude calls chirpie_list_accounts to find your X account UUID, then chirpie_post. You get back a post ID and a platform_post_id once it lands on X.

More things you can ask for:

  • "Turn this changelog into a 5-post X thread."
  • "Schedule that for 9am UTC tomorrow."
  • "How did my last post do?"
  • "Delete the post I just made."

What tools does Claude get?

ToolWhat it does
chirpie_postCreate one post, optionally with media or a schedule
chirpie_threadCreate a 2–25 post thread
chirpie_list_postsList posts, filterable by status or account
chirpie_get_postFetch one post
chirpie_delete_postDelete a post from Chirpie and from X
chirpie_list_accountsList connected accounts
chirpie_analyticsImpressions, likes, reposts, replies, quotes, bookmarks, clicks

X specifics to tell Claude

  • Standard accounts cap at 280 characters; X Premium accounts go to 25,000. The max_post_length field on the account tells the agent which it is.
  • Up to 4 images (JPEG, PNG, WebP, GIF, 5 MB each) or 1 video (MP4/MOV, up to 512 MB) per post, passed as public URLs in media_urls.
  • Threads use native reply chains, so a 5-post thread reads as a proper thread on X.

Under the hood

Every tool call maps to a plain REST request, so nothing is hidden from you:

curl -X POST https://chirpie.ai/api/v1/posts \
  -H "Authorization: Bearer chirpie_sk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "account_id": "550e8400-e29b-41d4-a716-446655440000",
    "text": "Shipped a fix for the scheduler race condition."
  }'

FAQ

Do I need an X developer account? No. Chirpie holds the X API integration. You authorize Chirpie once via OAuth and that is it.

Which setup should I pick? Hosted endpoint if you want zero install. Claude.ai connector if you work in the browser. Local npx @chirpie/mcp if you want the process on your own machine or are already using the CLI.

Is my API key exposed to the model? With the local server the key stays in ~/.chirpie/config.json and never enters the conversation. With the hosted endpoint it lives in your client's MCP config, the same way any other API credential does.

Can Claude post to other platforms too? Yes — the same tools cover Bluesky, LinkedIn, Threads, Mastodon, Instagram, Facebook, and Telegram. Pick the account by its UUID.

Can Claude schedule posts? Yes. Ask for a time and it passes schedule_at. Posts publish within about five minutes of the target.

What happens if I hit my monthly limit? The API returns 429 with code rate_limited, and Claude will tell you. See rate limits.

Next steps

On this page