# bluesky-mcp-server MCP server

Search posts, profiles, feeds, threads, and trending topics on Bluesky.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-cyanheads-bluesky-mcp-server
- Repository: https://github.com/cyanheads/bluesky-mcp-server

## Install
- Command: `npx -y @cyanheads/bluesky-mcp-server`
- Endpoint: https://bluesky.caseyjhand.com/mcp
- Auth: Not captured

## Setup notes
- Package: Npm @cyanheads/bluesky-mcp-server v0.1.2
- Environment variable: MCP_LOG_LEVEL (default info)
- Package: Npm @cyanheads/bluesky-mcp-server v0.1.2
- Environment variable: MCP_HTTP_HOST (default 127.0.0.1)
- Environment variable: MCP_HTTP_PORT (default 3010)
- Environment variable: MCP_HTTP_ENDPOINT_PATH (default /mcp)
- Environment variable: MCP_AUTH_MODE (default none)
- Environment variable: MCP_LOG_LEVEL (default info)
- Remote endpoint: https://bluesky.caseyjhand.com/mcp

## Tools
- bsky_get_profile (Get Bluesky 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, follower/following/post counts, avatar URL, moderation labels, and pinned post AT-URI. 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. Endpoint: https://bluesky.caseyjhand.com/mcp
- bsky_search_actors (Search Bluesky Actors) - Find Bluesky accounts by name or handle fragment. Returns ranked profiles with handle, DID, displayName, bio, and follower count. 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. Endpoint: https://bluesky.caseyjhand.com/mcp
- bsky_get_trending (Get Bluesky Trending Topics) - Fetch the current real-time trending topics on Bluesky. Returns topics with display name, post count, category (politics, sports, pop-culture, etc.), status (hot/rising), and start time. Entry point for "what is Bluesky talking about right now". Pair with bsky_search_posts to drill into any trending topic. Note: uses the app.bsky.unspecced.getTrends endpoint, which is not part of Bluesky's stable lexicon and may change without notice. Endpoint: https://bluesky.caseyjhand.com/mcp
- bsky_get_author_feed (Get Bluesky Author Feed) - Get a Bluesky user's recent posts ordered newest-first. Filter by post type: "posts_with_replies" (everything), "posts_no_replies" (original posts only), "posts_with_media" (posts with images or links), or "posts_and_author_threads" (posts the author started). Returns posts with full text, engagement counts, embeds, and AT-URIs for drilling into threads via bsky_get_post_thread. Supports cursor pagination. Endpoint: https://bluesky.caseyjhand.com/mcp
- bsky_search_posts (Search Bluesky Posts) - Full-text search across public Bluesky posts. Filters by author (handle or DID), language (BCP-47 code, e.g. "en"), hashtag (without the # prefix), date range (ISO 8601), and sort order. Returns posts with text, author info, engagement counts (likes/reposts/replies), normalized embeds, AT-URIs for thread drilling, and hitsTotal when the API reports the total number of matching posts. This is the primary entry point for social listening — pass any AT-URI from results to bsky_get_post_thread to read the full conversation. Endpoint: https://bluesky.caseyjhand.com/mcp
- bsky_get_post_thread (Get Bluesky Post Thread) - Fetch the full 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 full discussion. AT-URIs have the format "at://<did>/<collection>/<rkey>" and are returned by bsky_search_posts and bsky_get_author_feed in the "uri" field of each post. Returns the root post, parent chain, and nested replies with per-post author and engagement data. "truncated: true" on a reply node means there are more replies below — increase depth to load them. Endpoint: https://bluesky.caseyjhand.com/mcp
- bsky_get_follows (Get Bluesky Social Graph) - Fetch the social graph edges for a Bluesky account — who follows them, or who they follow. Returns paginated actor profiles (handle, DID, displayName, bio, follower count) plus a summary of the subject account. Accounts with large social graphs return only the first page; use cursor pagination to walk through the full list. Endpoint: https://bluesky.caseyjhand.com/mcp

## Resources
- bsky://profile/bsky.app - bsky-profile A Bluesky actor's public profile, addressable by handle or DID. Returns the same data as bsky_get_profile in injectable-context form — displayName, handle, DID, bio, follower/following/post counts, avatar, moderation labels, and pinned post AT-URI. MIME type: application/json

## Prompts
Not captured

## Metadata
- Owner: io.github.cyanheads
- Version: 0.1.2
- Runtime: Npm
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jun 6, 2026
- Source: https://registry.modelcontextprotocol.io
