
Bluesky Context
STDIOMCP server for querying Bluesky instances and interacting with Bluesky API
MCP server for querying Bluesky instances and interacting with Bluesky API
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.
You'll need two pieces of information from your Bluesky account:
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
)This is an App Password, which is different from your regular Bluesky password. To create one:
xxxx-xxxx-xxxx-xxxx
)⚠️ Important: Use the App Password, not your regular account password!
To install Bluesky Context Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @laulauland/bluesky-context-server --client claude
Then add your credentials to the generated configuration.
Using Bun:
// ~/Library/Application Support/Claude/config.json (macOS) // %APPDATA%/Claude/config.json (Windows) { "mcpServers": { "bluesky": { "command": "/Users/your-username/.bun/bin/bun", "args": [ "/path/to/bluesky-context-server/packages/server/bin/index.ts" ], "env": { "BLUESKY_APP_KEY": "your-app-password-here", "BLUESKY_IDENTIFIER": "your-handle.bsky.social" } } } }
Using Node.js:
// ~/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" } } } }
After setup, you can test the connection by asking Claude something like:
This server provides the following tools that Claude can use:
bluesky_get_profile
Get your Bluesky profile information including display name, bio, follower count, etc.
bluesky_get_follows
Get a list of accounts you follow.
limit
(optional): Max items to return (default 50, max 100)cursor
(optional): Pagination cursor for next pagebluesky_get_followers
Get a list of accounts following you.
limit
(optional): Max items to return (default 50, max 100)cursor
(optional): Pagination cursor for next pagebluesky_get_posts
Get your recent posts.
limit
(optional): Max items to return (default 50, max 100)cursor
(optional): Pagination cursor for next pagebluesky_get_personal_feed
Get your personalized Bluesky timeline/feed.
limit
(optional): Max items to return (default 50, max 100)cursor
(optional): Pagination cursor for next pagebluesky_get_liked_posts
Get posts you've liked.
limit
(optional): Max items to return (default 50, max 100)cursor
(optional): Pagination cursor for next pagebluesky_search_posts
Search for posts across Bluesky.
query
(required): Search query stringlimit
(optional): Max items to return (default 50, max 100)cursor
(optional): Pagination cursor for next pagebluesky_search_profiles
Search for Bluesky user profiles.
query
(required): Search query stringlimit
(optional): Max items to return (default 50, max 100)cursor
(optional): Pagination cursor for next pageOnce configured, you can ask Claude things like:
BLUESKY_APP_KEY
and BLUESKY_IDENTIFIER
If you encounter issues:
bun --version
cd packages/server && bun start