integrates with Bluesky API to query and search feeds and posts.
Bluesky mcp server lets Claude, Cursor and other MCP clients work with Bluesky directly. integrates with Bluesky API to query and search feeds and posts.
A Model Context Protocol (MCP) server that enables MCP clients like Claude Desktop to interact with Bluesky. Query your profile, search posts, get your timeline, and more directly from your AI assistant.
Once connected, the assistant can call these 10 tools directly:
BLUESKY_IDENTIFIER — This is your Bluesky handle (username). It can be in either format: - username.bsky.social (e.g., alice.bsky.social) - @username.bsky.social (e.gBLUESKY_APP_KEY — This is an App Password, which is different from your regular Bluesky password. To create one:bluesky_get_profile — Get your Bluesky profile information including display name, bio, follower count, etc. - Parameters: None - Returns: Complete profile databluesky_get_follows — Get a list of accounts you follow. - Parameters: - limit (optional): Max items to return (default 50, max 100) - cursor (optional): Pagination cursor forbluesky_get_followers — Get a list of accounts following you. - Parameters: - limit (optional): Max items to return (default 50, max 100) - cursor (optional): Pagination cursorbluesky_get_posts — Get your recent posts. - Parameters: - limit (optional): Max items to return (default 50, max 100) - cursor (optional): Pagination cursor for next page -bluesky_get_personal_feed — Get your personalized Bluesky timeline/feed. - Parameters: - limit (optional): Max items to return (default 50, max 100) - cursor (optional): Paginationbluesky_get_liked_posts — Get posts you've liked. - Parameters: - limit (optional): Max items to return (default 50, max 100) - cursor (optional): Pagination cursor for next page -bluesky_search_posts — Search for posts across Bluesky. - Parameters: - query (required): Search query string - limit (optional): Max items to return (default 50, max 100) -bluesky_search_profiles — Search for Bluesky user profiles. - Parameters: - query (required): Search query string - limit (optional): Max items to return (default 50, max 100) -The server is distributed via npm as @smithery/cli, so most clients can run it without a manual build step. Add it to your MCP client's configuration and restart the client to pick it up — the copy-paste configs for Claude Desktop, Claude Code and Cursor are on this page.
Before the server will start you need to supply 2 environment variables: BLUESKY_APP_KEY, BLUESKY_IDENTIFIER. Keep credentials in your client's env block or a secrets manager rather than committing them.
Developer-tool servers are usually the first ones people connect, because they turn "help me with this code" into an assistant that can actually read the repo and act on it. Bluesky sits in that group, and the shape of its toolset — BLUESKY_IDENTIFIER, BLUESKY_APP_KEY, bluesky_get_profile among others — tells you what it is really for. Worth comparing against the other developer tools servers in this directory before you commit to one, since several overlap in scope but differ sharply in setup cost and permissions.
| Tool | What it does |
|---|---|
| BLUESKY_IDENTIFIER | This is your Bluesky handle (username). It can be in either format: - username.bsky.social (e.g., alice.bsky.social) - @username.bsky.social (e.g., @alice.bsky.social) |
| BLUESKY_APP_KEY | This is an App Password, which is different from your regular Bluesky password. To create one: |
| bluesky_get_profile | Get your Bluesky profile information including display name, bio, follower count, etc. - **Parameters**: None - **Returns**: Complete profile data |
| bluesky_get_follows | Get a list of accounts you follow. - **Parameters**: - limit (optional): Max items to return (default 50, max 100) - cursor (optional): Pagination cursor for next page - **Returns**: List of followed accounts with profil |
| bluesky_get_followers | Get a list of accounts following you. - **Parameters**: - limit (optional): Max items to return (default 50, max 100) - cursor (optional): Pagination cursor for next page - **Returns**: List of followers with profile inf |
| bluesky_get_posts | Get your recent posts. - **Parameters**: - limit (optional): Max items to return (default 50, max 100) - cursor (optional): Pagination cursor for next page - **Returns**: Your recent posts with engagement data |
| bluesky_get_personal_feed | Get your personalized Bluesky timeline/feed. - **Parameters**: - limit (optional): Max items to return (default 50, max 100) - cursor (optional): Pagination cursor for next page - **Returns**: Posts from your personalize |
| bluesky_get_liked_posts | Get posts you've liked. - **Parameters**: - limit (optional): Max items to return (default 50, max 100) - cursor (optional): Pagination cursor for next page - **Returns**: Posts you've liked |
| bluesky_search_posts | Search for posts across Bluesky. - **Parameters**: - query (required): Search query string - limit (optional): Max items to return (default 50, max 100) - cursor (optional): Pagination cursor for next page - **Returns**: |
| bluesky_search_profiles | Search for Bluesky user profiles. - **Parameters**: - query (required): Search query string - limit (optional): Max items to return (default 50, max 100) - cursor (optional): Pagination cursor for next page - **Returns** |
**Using Node.js:**
```json
// ~/Library/Application Support/Claude/config.json (macOS)
// %APPDATA%/Claude/config.json (Windows)
{
"mcpServers": {
"bluesky": {
"command": "node",
"args": [
"--experimental-strip-types",
"/path/to/bluesky-context-server/packages/server/bin/index.ts"
],
"env": {
"BLUESKY_APP_KEY": "your-app-password-here",
"BLUESKY_IDENTIFIER": "your-handle.bsky.social"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| BLUESKY_APP_KEY | Credential the server authenticates with. | Yes |
| BLUESKY_IDENTIFIER | Configuration value read at startup. | Optional |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.