mcpbeat Sign in

Bluesky MCP Server

answering

Bluesky MCP Server is answering right now. Last checked 1 min ago. 563 installs a week from npm. It exposes 9 tools. Last commit 23 Oct 2026.

Search Bluesky posts and feeds; read profiles, threads, and trends. STDIO or Streamable HTTP.

Installs per day peak 211 · avg 39 · +377% w/w
a month agotoday
Uptime history 91 days of history · worst day 0%
91 days agonow
100.0%
Uptime 24h
92 of 92 checks
9
Tools
read from the server
554 ms
Response time
average over 24h
563
Installs / week
npm and PyPI

What changed 51

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 25 August 2026. No other catalogue keeps this.

23 Oct 7 tools changed the parameters they ask for bsky_get_author_feed, bsky_get_feed, bsky_get_follows and 4 more
23 Oct 3 tool descriptions were rewritten bsky_get_feed, bsky_get_post_quotes, bsky_get_profile
23 Oct a tool changed version
23 Oct a tool appeared bsky_search_feeds
8 Oct a tool changed version
25 Sep 6 tool descriptions were rewritten12 times that day bsky_get_author_feed, bsky_get_follows, bsky_get_post_thread and 3 more
25 Sep 8 tools changed the parameters they ask for11 times that day bsky_get_author_feed, bsky_get_feed, bsky_get_follows and 5 more
25 Sep a tool changed version3 times that day
25 Sep 2 tools appeared bsky_get_feed, bsky_get_post_quotes
25 Sep a tool disappeared bsky_search_posts
and 20 more, back to 25 August 2026

Tools have disappeared from this server

A tool that vanishes takes a piece of your agent with it, and the change arrives silently. Watch this server and every such change lands in your inbox.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 1 min ago.

run in your terminal
claude mcp add bluesky-mcp-server --transport http https://bluesky.caseyjhand.com/mcp
Settings → Connectors → Add custom connector, then paste this address
https://bluesky.caseyjhand.com/mcp
~/.codex/config.toml
[mcp_servers.bluesky-mcp-server]
url = "https://bluesky.caseyjhand.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "bluesky-mcp-server": {
      "url": "https://bluesky.caseyjhand.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "bluesky-mcp-server": {
      "type": "http",
      "url": "https://bluesky.caseyjhand.com/mcp"
    }
  }
}

Available tools 9

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

bsky
bsky_get_author_feed
Get a Bluesky user's recent feed ordered newest-first. Filter by post type: "posts_with_replies" (everything), "posts_no_replies" (excludes replies), "posts_and_author_threads" (posts the author started), "posts_with_media" (the actor's own posts with images or video — no link cards), or "posts_with_video" (the actor's own video posts). The first three include reposts, so items authored by other accounts appear alongside the actor's own writing — a "repostedBy" field marks those, and the "author" field always names who actually wrote the post; the two media filters return no reposts. Set include_pins to also get the post pinned to the profile, marked "pinned", first on the first page — in addition to "limit", and whether or not it matches the filter. Returns posts with full text, engagement counts, embeds, and AT-URIs for drilling into threads via bsky_get_post_thread. Because "limit" counts reposts too, a page from an account that reposts heavily holds far fewer of that account's own posts than the limit suggests; the enrichment fields report the split, so read "originalPosts" rather than the limit when you want the actor's own writing. Supports cursor pagination.
bsky_get_feed
Read the posts a Bluesky feed generator serves, in the order the feed ranks them. Accepts the feed's AT-URI (at://<handle-or-did>/app.bsky.feed.generator/<rkey>) or its bsky.app page (https://bsky.app/profile/<handle-or-did>/feed/<rkey>). Feeds come from the "feedUri" of each bsky_get_trending topic — the way to read what a trend is about — from bsky_search_feeds catalog results, from a quoted feed in a post (an embed with recordKind "generator"), or from a shared link; Discover is at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot. Returns posts with full text, engagement counts, embeds, and AT-URIs for drilling into threads via bsky_get_post_thread. A post the feed pinned to its top carries "pinned: true"; a repost carries "repostedBy". Personalized feeds, which Bluesky serves only to a signed-in account, cannot be read here. Supports cursor pagination.
bsky_get_follows
Fetch the social graph edges for a Bluesky account — who follows them, or who they follow. Returns paginated actor profiles (handle, DID, displayName, bio, pronouns when set, and Bluesky verification status) plus a summary of the subject account. Follower, following, and post counts and the website are not on this view, for the listed accounts or the subject — bsky_get_profile returns them for one account. Accounts with large social graphs return only the first page; use cursor pagination to walk through the full list, or sort "top" to put the accounts Bluesky ranks most prominent first.
bsky_get_post_quotes
Read the quote posts behind a Bluesky post's "quoteCount" — the posts that embed it with commentary of their own. Sort latest (default) is newest first; top is descending like count as ordered by Bluesky. On Bluesky this is where much of the reaction to a post lives; bsky_get_post_thread returns replies only. Accepts the post's AT-URI (at://<handle-or-did>/app.bsky.feed.post/<rkey>) from the "uri" field of any returned post, or its bsky.app URL (https://bsky.app/profile/<handle-or-did>/post/<rkey>); a handle costs one extra lookup. Returns each quote post with full text, author, engagement counts, and AT-URI. Each result's embed names the queried post by AT-URI and CID only — its text is not repeated on every result — and keeps any media the quoting post attached. "quoteCount" is an upper bound on what this returns: Bluesky's counter keeps quotes that have left the index. Supports cursor pagination.
bsky_get_post_thread
Fetch the conversation for a post by AT-URI — the parent chain upward and the reply tree downward. Enter the thread at any point and traverse the discussion. AT-URIs have the format "at://<handle-or-did>/<collection>/<rkey>" and are returned in the "uri" field of every post the other post-returning tools emit, such as bsky_get_feed and bsky_get_author_feed; a bsky.app post URL (https://bsky.app/profile/<handle-or-did>/post/<rkey>) works as-is. Returns the root post, parent chain, and nested replies with per-post author and engagement data. Replies only: quote posts are not part of a thread — read them with bsky_get_post_quotes. The response is often a fraction of the conversation: Bluesky holds replies back past a per-post limit and offers no way to page the rest, so a thread with thousands of replies commonly returns a few hundred. Any node returning fewer replies than its own replyCount carries "truncated: true" with "unreturnedReplies" and a "truncationReason" — "depth" means the reply tree ended there and fetching that node's AT-URI as its own thread continues below it, "unavailable" means no request closes the gap. Read "unreturnedReplies" as an upper bound on what is missing rather than a count of readable replies: Bluesky's counter also includes replies that have left the index, so a small difference often means nothing is left to fetch. The parent chain is disclosed the same way: when it stops at parent_height instead of at the start of the conversation, the topmost node carries "parentChainTruncated: true" and fetching its AT-URI as its own thread continues upward. The enrichment fields total the difference for the whole thread; check them before describing a conversation as complete or naming its first post. A thread that would pass this server's 48,000-byte response budget is cut between whole posts — the target kept first, then its parents nearest-first, then replies level by level — with "budgetCapped: true" and the cut marked where it happened: "budgetOmittedReplyUris" on the target and "budgetOmittedReplies" on a kept reply name the replies left out, "budgetOmittedParents" on the topmost parent the ancestors; fetching those AT-URIs as their own threads reads the rest. In the rendered text nothing is indented: a reply's author heading carries how far it sits below the top-level reply it descends from ("### ↳2"), and every post also names its own parent on a "Reply to" line.
bsky_get_profile
Fetch a Bluesky actor's public profile by handle (e.g. "bsky.app") or DID (e.g. "did:plc:z72i7hdynmk6r22z27h6tvur"). Returns displayName, handle, DID, bio, pronouns, website, ordered profile links, follower/following/post counts, avatar URL, moderation labels, pinned post AT-URI, and Bluesky verification — whether the account is verified or a trusted verifier, and who verified it. Use this as the first step to resolve a handle to a DID before calling tools that require a DID or AT-URI. Handles and DIDs are interchangeable as input, and "@bsky.app" or the account's bsky.app page (https://bsky.app/profile/bsky.app) work as-is.
bsky_get_trending
Fetch the current real-time trending topics on Bluesky. Returns topics with display name, Bluesky's one-sentence summary of the story, post count, category (politics, sports, pop-culture, etc.), status, start time, and the representative accounts driving each topic — so "who is talking about this" needs no follow-up call. Entry point for "what is Bluesky talking about right now". Each trend is a feed: pass its feedUri to bsky_get_feed to read the trend's posts. Note: uses the app.bsky.unspecced.getTrends endpoint, which is not part of Bluesky's stable lexicon and may change without notice.
bsky_search_actors
Find Bluesky accounts by name or handle fragment. Returns ranked profiles with handle, DID, displayName, bio, pronouns when the account set them, and Bluesky verification status — which tells a verified account from a look-alike handle. Follower, following, and post counts and the website are not on this view — bsky_get_profile returns them for one account. Use before bsky_get_profile or bsky_get_author_feed when you have a name but not a confirmed handle. Supports cursor-based pagination for browsing beyond the first page of results.
bsky_search_feeds
Search metadata in the provider’s public feed catalog, without credentials. This searches feed names and descriptions, not post text, and does not enumerate every feed. Returns feeds in provider order with generator AT-URIs and creator identities; pass a feedUri to bsky_get_feed to read its posts. Uses app.bsky.unspecced.getPopularFeedGenerators, an unstable upstream API that may change or become unavailable. Continue with the returned opaque cursor and the same query.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

bsky_search_posts
removed 25 Sep 2026

Endpoints

URLTransportStateLatencyChecked
https://bluesky.caseyjhand.com/mcp streamable-http answering 205 ms 1 min ago

Alternatives to Bluesky MCP Server

same job, measured the same way
Bluesky Social Search MCP
by dancerdan15

Bluesky post search, author feeds, profiles & threads

answering
Bluesky Scraper
by prometheusagency

Scrape Bluesky posts, profiles, followers, threads and keyword search. Clean JSON, pay per result.

answering
socially.run
by socially

Read public social profiles and posts, and search videos, news and trends.

answering
TwexAPI
by twexapi

Search X (Twitter) posts and read profiles, followers, trends and X Articles. OAuth sign-in.

2 tools answering
Apixstar Reddit
by apixstar

Search public Reddit posts, browse subreddit feeds, and read posts, comments, and profiles.

3 tools answering
Hn MCP Server
by cyanheads

Browse Hacker News feeds, threads, and user profiles with full-text search.

644 installs/wk 4 tools answering
Npi Providers MCP Server
by cyanheads

Search NPPES providers and resolve NUCC specialty codes via MCP over STDIO or Streamable HTTP.

480 installs/wk 3 tools answering
Trooth
by troothllc

Machine-Readable Company Profiles: find, search and read any company's Trust Profile, fact by fact.

17 tools answering

Bluesky MCP Server — questions

Answers built from our own checks of this server.

What can Bluesky MCP Server do?
It exposes 9 tools, read directly from the server on our last check. Among them: bsky_get_author_feed, bsky_get_feed, bsky_get_follows, bsky_get_post_quotes, bsky_get_post_thread, bsky_get_profile and 3 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Bluesky MCP Server working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 554 ms. The bar chart above shows every period we have measured.
Did Bluesky MCP Server ever remove tools?
Yes. bsky_search_posts is no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect Bluesky MCP Server?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Bluesky MCP Server need an API key?
No. Bluesky MCP Server completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 9 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Bluesky MCP Server?
It answers our handshake in 554 ms on average, which is faster than 21% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use Bluesky MCP Server?
The npm package @cyanheads/bluesky-mcp-server was installed 563 times in the last week. Week over week that is +377%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Bluesky MCP Server open source?
The code is open source: it is published under the Apache-2.0 licence, written in TypeScript, 2 stars on GitHub and 1 open issue. The licence covers the code in the repository, not the hosted service at bluesky.caseyjhand.com, which runs on its operator's own terms.