ChirpieDocs
Guides

Give Your OpenClaw Agent a Social Media Account

Install the Chirpie skill in OpenClaw, or connect the MCP server, so your agent can post to X, Bluesky, LinkedIn, Mastodon and more.

Updated September 2026

How do you give an OpenClaw agent a social media account?

Install the Chirpie skill with openclaw skills install git:Firefloco/chirpie-skills, set CHIRPIE_API_KEY, and your agent can post to eight networks — X, Bluesky, LinkedIn, Threads, Mastodon, Instagram, Facebook, and Telegram. If you would rather give it real tools instead of instructions, connect the Chirpie MCP server with openclaw mcp add — both paths use the same API key and the same connected accounts.

Step 1 — Set up Chirpie

  1. Sign up at chirpie.ai.
  2. Connect the accounts you want the agent to use at chirpie.ai/dashboard/accounts.
  3. Create an API key at chirpie.ai/dashboard/keys. It starts with chirpie_sk_.

Export the key so OpenClaw can see it:

export CHIRPIE_API_KEY=chirpie_sk_YOUR_KEY

Step 2, option A — Install the skill

openclaw skills install git:Firefloco/chirpie-skills

Install for every agent on the machine instead of just the active workspace:

openclaw skills install git:Firefloco/chirpie-skills --global

Pin a branch or tag with @ref:

openclaw skills install git:Firefloco/chirpie-skills@main

The bundle includes chirpie-openclaw, a skill written for OpenClaw's conventions: it declares requires.env: ["CHIRPIE_API_KEY"], so the agent only loads it when the key is present, and requires.bins: ["curl"], so it fails loudly rather than silently on a container without curl.

Confirm it loaded:

openclaw skills list

Step 2, option B — Connect the MCP server

If you prefer tool calls to instructions, register the hosted endpoint:

openclaw mcp add chirpie \
  --url https://chirpie.ai/mcp \
  --transport streamable-http

Or run the local server over stdio:

openclaw mcp add chirpie \
  --command npx \
  --arg @chirpie/mcp

Then check the connection:

openclaw mcp doctor chirpie --probe

The server exposes chirpie_post, chirpie_thread, chirpie_list_posts, chirpie_get_post, chirpie_delete_post, chirpie_list_accounts, and chirpie_analytics. Narrow that with --include 'chirpie_post,chirpie_thread,chirpie_list_accounts' if you want a publish-only agent.

Step 3 — Post

Ask the agent in plain language:

Post to Bluesky: "The overnight batch finished — 12,400 rows processed, zero failures."

With the skill installed, the agent resolves the account and issues:

curl -X POST https://chirpie.ai/api/v1/posts \
  -H "Authorization: Bearer $CHIRPIE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "account_id": "660f9500-f30c-52e5-b827-557766551111",
    "text": "The overnight batch finished — 12,400 rows processed, zero failures."
  }'

With MCP, it calls chirpie_post with the same arguments. Same result, different plumbing.

What can the agent do?

CapabilityEndpoint
List connected accountsGET /api/v1/accounts
PostPOST /api/v1/posts
Thread (2–25 posts)POST /api/v1/threads
Scheduleany of the above with schedule_at
List / inspect postsGET /api/v1/posts, GET /api/v1/posts/:id
DeleteDELETE /api/v1/posts/:id
AnalyticsGET /api/v1/analytics/posts/:id

Live platforms: X, Bluesky, LinkedIn, Threads, Mastodon, Instagram, Facebook, and Telegram.

An autonomous posting agent

The pattern that works: let the agent own the content, not the credentials.

  1. Give it one long-lived API key via CHIRPIE_API_KEY.
  2. Have it call chirpie_list_accounts once and cache the UUIDs.
  3. Let it schedule rather than publish immediately, so a bad run is cancellable.
  4. Review the queue with GET /api/v1/posts?status=scheduled and delete anything you do not want.
# What is queued
curl "https://chirpie.ai/api/v1/posts?status=scheduled&limit=50" \
  -H "Authorization: Bearer $CHIRPIE_API_KEY"

# Cancel one
curl -X DELETE https://chirpie.ai/api/v1/posts/POST_ID \
  -H "Authorization: Bearer $CHIRPIE_API_KEY"

Create a separate API key for each agent. Revoking one key stops that agent without touching anything else you have running.

Guardrails worth setting

  • Character limits. X is 280 (25,000 on Premium), Bluesky 300, LinkedIn 3,000, Mastodon 500, Telegram 4,096. The max_post_length field on each account is authoritative.
  • Instagram needs media. A text-only Instagram post is rejected.
  • Spacing. Scheduled posts on the same account must be five minutes apart.
  • Burst limit. 60 requests per minute per API key.

Troubleshooting

The skill does not load. OpenClaw gates it on CHIRPIE_API_KEY being present. Export it in the environment the agent runs in, then openclaw skills list again.

unauthorized from the API. The key is wrong or revoked. Check it at chirpie.ai/dashboard/keys.

MCP server will not connect. Run openclaw mcp doctor chirpie --probe for the specific failure, then openclaw mcp reload.

FAQ

Do I need the skill and the MCP server? No — either works. The skill teaches the agent the REST API; MCP hands it typed tools. Use MCP if your model is better with tools, the skill if you want it to work through plain HTTP.

Where do skills install to? The active workspace skills/ directory by default, or OpenClaw's shared managed skills directory with --global.

Can I limit an agent to one network? Give it an API key on an account that only has that network connected, or tell it in the prompt. Chirpie keys are scoped to your account, not to individual social accounts.

Can the agent read replies or mentions? No. Chirpie is a publishing and analytics layer, not an inbox.

How do I update the skill? Re-run the install command. openclaw skills update refreshes ClawHub-tracked installs only, so a Git-sourced skill is updated by installing it again.

Is this free to try? Yes — the Free plan covers 50 posts a month and one connected account.

Next steps

On this page