A Bluesky MCP server gives an AI agent tools for Bluesky, so a model can publish to your account instead of only drafting posts. Point Claude, Cursor, or any MCP client at Outstand's server and the agent can post text with images or video, reply, repost, quote, and read likes, replies, and reposts. Bluesky's open AT Protocol makes it one of the friendliest platforms for agent publishing: there is no app review, no developer app, and no access tier to negotiate.
https://mcp.outstand.so/mcpclaude mcp add -t http \ -H "Authorization: Bearer ost_your_key" \ outstand https://mcp.outstand.so/mcp
Works with Claude Desktop, Claude Code, Cursor, Windsurf, ChatGPT, and any MCP client.
The server URL is https://mcp.outstand.so/mcp. Paste it into your client and connect Bluesky.
claude mcp add -t http \ -H "Authorization: Bearer ost_your_key" \ outstand https://mcp.outstand.so/mcp
// claude_desktop_config.json
{
"mcpServers": {
"outstand": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.outstand.so/mcp",
"--header",
"Authorization: Bearer ost_your_key"
]
}
}
}// .cursor/mcp.json
{
"mcpServers": {
"outstand": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.outstand.so/mcp",
"--header",
"Authorization: Bearer ost_your_key"
]
}
}
}# Add a custom connector in your client's settings and paste # this URL, then sign in once in the browser. No API key to copy. https://mcp.outstand.so/mcp
Works with Claude Desktop, Claude Code, Cursor, Windsurf, ChatGPT, and any other MCP client. Full client setup guide.
The tools that apply to Bluesky, out of 27 on the server.
connect_blueskyConnect a Bluesky account with a handle and app password. Bluesky uses this instead of OAuth.create_postPublish or schedule a Bluesky post, with up to 4 images or one video.repost_postRepost a published post, or quote it with your own commentary.create_replyReply to a comment on a post published through Outstand.get_repliesRead replies on a post published through Outstand.get_post_analyticsFetch likes, replies, and reposts for a published post.list_postsList posts, filterable by account, status, and date range.get_postFetch a single post and its per-platform publish status.delete_postDelete a post record in Outstand, cancelling it if it is still scheduled.delete_remote_postDelete the published post on Bluesky itself.upload_mediaStart a media upload and get a signed URL for an image or video.confirm_media_uploadConfirm an upload once the bytes are transferred and get the public URL to attach.list_social_accountsList connected social accounts, so the agent can find your Bluesky account.get_account_usageRead current billing-period post usage.No, Bluesky does not ship an MCP server. But Bluesky is the one platform here where that matters least, because the AT Protocol is genuinely open: there is no gatekeeping, no app review, and no paid API tier. Anyone can wire up atproto calls and post.
So the honest framing is different from Instagram or X. If all you want is an agent that posts to one Bluesky account, a small self-hosted server is a perfectly reasonable choice, and several open-source ones exist. You will be maintaining session handling, media blob uploads, and rich-text facets yourself, but none of it is forbidden territory.
What a hosted server buys you on Bluesky is not access, it is uniformity. Bluesky sits behind the same endpoint, the same tools, and the same scheduling and media pipeline as every other network you publish to, so an agent that can post to LinkedIn and X can post to Bluesky without new code. If Bluesky is the only network you care about, self-hosting is a fair call. If it is one of several, the unified surface is the whole argument.
Three realistic ways to give an agent Bluesky access. This is the one platform where self-hosting is genuinely competitive.
| Approach | Setup time | Auth | Reliability | Compliance |
|---|---|---|---|---|
| Self-hosted open-source (atproto) | An hour or two, and it is honestly not hard | Bluesky app password, handled by you | Good. The protocol is open and stable, but you maintain it | Fully legitimate. The AT Protocol is open by design |
| Directory-listed community server | Minutes to hours, depending on the project | Bluesky app password | Varies by maintainer | Fine. Bluesky does not restrict third-party clients |
| Hosted API-based (Outstand) | A few minutes: create an app password, connect, paste the URL | Bluesky app password, stored encrypted and revocable by you | Maintained, with sessions and media uploads handled | Official AT Protocol, unified with 10 other networks |
Bluesky is the one network Outstand connects with an app password rather than an OAuth redirect, because that is what Bluesky itself offers third-party clients today. Create an app password in Bluesky under Settings, then App Passwords, and pass it with your handle to the connect_bluesky tool. Your agent can make that call itself.
An app password is not your account password. It is a separate credential you can revoke at any time from Bluesky's settings without changing your real password or affecting any other client. Outstand stores it encrypted and uses it to hold a session against your PDS. No Bluesky developer app, no client ID, and no access tier is involved anywhere in this.
This is a publishing server, not a firehose client. It does not scrape or index the Bluesky network, build custom feeds or feed generators, run moderation and labeling services, or pull follower graphs, all of which are things the AT Protocol supports but that are a different product from publishing. Analytics cover posts you published through Outstand.
No, Bluesky does not publish one. It matters less here than elsewhere: the AT Protocol is open, so third-party clients are welcome by design and there is no API tier or app review to get through. Options range from small self-hosted servers to hosted ones like Outstand.
Yes. Add https://mcp.outstand.so/mcp to Claude, connect your Bluesky account with an app password, and Claude can post, reply, repost, and quote. The same connector works in Cursor, Windsurf, ChatGPT, and any other MCP client.
With an app password, not OAuth, because that is what Bluesky offers third-party clients. You create one under Settings, then App Passwords, and pass it with your handle to connect_bluesky. It is a separate revocable credential, not your account password, and Outstand stores it encrypted.
Yes. A post can carry up to 4 images, or a single video. Text-only posts are fine too, since Bluesky does not require media the way Instagram does.
Yes. create_post takes a scheduled time, so an agent can queue a Bluesky post up to 30 days ahead. Scheduling runs inside Outstand rather than on Bluesky, and a scheduled post can be cancelled with delete_post before it goes out.
If Bluesky is the only network you publish to, self-hosting is a reasonable choice and we would rather say so than pretend otherwise. The argument for a hosted server is uniformity: Bluesky sits behind the same endpoint, tools, scheduling, and media pipeline as the other ten networks, so an agent that can post to LinkedIn or X can post to Bluesky with no new code.
The MCP server is included with every Outstand account at no extra cost. Pricing is $19/month, 3,000 posts included, and posts published by an agent draw on the same quota as posts published through the REST API.
Every claim on this page is restated, dated, and citable on the facts page.
Create an app password, connect the account, paste the server URL into your client. Then just ask your agent to post.
https://mcp.outstand.so/mcp