MCP Server for Bluesky

Manage your Bluesky content through any AI assistant that supports MCP: Claude, ChatGPT, Cursor, or others. Bluesky's open AT Protocol and developer-friendly community make it the natural home for AI-assisted publishing. Draft posts in your voice, schedule them, and keep your queue moving without opening the app.

Your AI
Claude, ChatGPT, Cursor…
DemandBird MCP
third-party server
bsky
Bluesky
via AT Protocol API
Works with
Claude DesktopClaude CodeChatGPT DesktopCursorWindsurfAny MCP-compatible app

See it in action

A real session in Claude Code: one conversation goes from an open-source release to a scheduled Bluesky post, queued and ready.

✦ Post open-source release to Bluesky
write a short Bluesky post announcing our open-source SDK release, keep it under 300 chars, dev-friendly tone, and save a draft
On it. I'll write a concise post aimed at developers and save it as a draft.
Called demandbird · draft_post (ctrl+o to expand)
Draft saved as post #3041: “We just open-sourced our SDK. MIT license, TypeScript-first, full AT Protocol support. Docs and repo link in thread.” — 187 chars. Want edits, or should I queue it for Bluesky?
* Baked for 18s
queue it for bluesky at the next available slot
Checking your Bluesky queue now.
Called demandbird · get_queue_slots (ctrl+o to expand)
Called demandbird · queue_post (ctrl+o to expand)
Done. Post #3041 is queued for Tuesday May 19th at 10:00am PT on Bluesky.
* Cogitated for 11s
※ recap: Drafted and queued a Bluesky post announcing the open-source SDK release. Scheduled for Tuesday May 19th at 10am PT. No further action needed.
can you also post a version of this to linkedin and twitter
? for shortcuts

What Claude can do with your Bluesky

Once connected, Claude has access to DemandBird's full Bluesky publishing toolkit. No API calls, no manual copy-paste.

Draft posts in your voice
Claude generates Bluesky posts that match your writing style, tuned for the platform's developer-friendly, conversational tone.
Schedule to Bluesky
Set an exact date and time for a post to go live. Claude can check your past timing to match your cadence.
Add posts to your queue
Claude slots content into the next available time in your Bluesky queue, keeping your posting cadence intact.
Attach images and video
Upload photos or video files directly through Claude. They get attached to the draft before scheduling.
Review and edit drafts
Ask Claude to pull up saved drafts, revise the copy, or swap which platforms a post is targeting.
Send for team review
Route a Bluesky draft to a teammate for approval before it publishes, without leaving the conversation.

Available tools

The DemandBird MCP server exposes 15 tools to Claude. You never call these directly — Claude picks the right one based on what you ask for.

ToolWhat it does
draft_postGenerate an AI-written post in your voice for a given topic and platform, then save it as a draft.
save_draftSave content you've already written as a draft, with no AI generation involved.
update_draftRevise an existing draft's copy, platforms, or media. Replaces the existing values.
list_draftsList your posts filtered by status (draft, scheduled, posted, failed). Returns previews and schedule info.
get_postFetch full details of a specific post by ID, including per-platform schedule statuses.
delete_postPermanently delete a draft or scheduled post. For published posts, removes the DemandBird record but leaves the live copy on Bluesky.
schedule_postSchedule a draft to publish at a specific date and time on one or more platforms.
queue_postAdd a post to the next available slot in your posting queue, using your configured schedule.
get_queue_slotsCheck upcoming queue availability for one or more platforms without scheduling anything.
upload_imageGet a presigned upload URL for an image or video. Returns an S3 key to attach to a draft. Supports JPEG, PNG, GIF, WebP, MP4, MOV, and more.
list_accountsList all DemandBird accounts you have access to, with IDs, names, and roles.
select_accountSwitch to a different account for the current conversation. Useful if you manage multiple brands.
list_connected_accountsList the social profiles connected to the current account. Useful when you have multiple Bluesky handles and need to target a specific one.
request_reviewSend a draft to one or more teammates for approval. Required reviewers block publishing until everyone approves.
list_posts_awaiting_my_reviewList posts that teammates have sent you for review, filtered to your pending approvals.

Full parameter documentation: demandbird.com/docs/mcp

Set up in a few minutes

DemandBird's MCP server is hosted — nothing to install or run locally. Most MCP-compatible apps need just one config snippet or one command to connect.

Full setup documentation →
  1. Create a DemandBird account and connect your Bluesky account.
  2. Go to Settings → API Tokens and generate an API token.
  3. Add the DemandBird server to your AI app's MCP config. The setup docs cover Claude Desktop, Claude Code, ChatGPT Desktop, and Cursor.
  4. Restart the app. DemandBird will appear in your AI's tool list and you're ready to go.

Ready to schedule Bluesky posts from any AI?

From $21.75/mo · 7-day free trial · No contracts.

Frequently asked questions

Is this an official Bluesky MCP?
No. This is a third-party MCP server built by DemandBird. It connects Claude to DemandBird, which publishes to Bluesky via the AT Protocol API. Bluesky does not make or endorse this integration.
Does this only work with Claude?
No. DemandBird implements the open Model Context Protocol (MCP) standard, so it works with any AI app that supports MCP connections: Claude Desktop, Claude Code, ChatGPT Desktop, Cursor, Windsurf, and others. The setup steps differ slightly by app; see the setup docs for details.
Do I need to write any code?
No. Setup is one config snippet or one terminal command, depending on your AI app. Everything after that is plain English conversation.
Can I use this with other platforms too?
Yes. The same DemandBird MCP connection covers all your connected platforms: LinkedIn, X, Threads, Substack, Instagram, Facebook, and YouTube. You can target any of them in the same conversation.
Can teammates use it too?
Yes. Anyone with access to your DemandBird account can connect their own Claude app to the same server. Shared drafts, approval workflows, and queue settings all carry over.

Also works with