Bluesky MCP Server

integrates with Bluesky API to query and search feeds and posts.

Local serverstdioTypeScript

What is the Bluesky MCP server?

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.

What Bluesky does

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.

Tools it exposes

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.g
  • 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
  • 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
  • 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 -
  • bluesky_get_personal_feed — Get your personalized Bluesky timeline/feed. - Parameters: - limit (optional): Max items to return (default 50, max 100) - cursor (optional): Pagination
  • 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 -
  • 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) -

Installing the bluesky mcp server

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.

Configuration

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.

Requirements

  • Runtime: Either Bun or Node.js v22.6.0+ - A Bluesky account

Where it fits

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.

Practical notes

  • This server runs locally, so it operates with whatever access your machine and its credentials already have. Scope that deliberately rather than by default.
  • It will not start until its required credentials are present, so set those before wondering why the tools never appear.
  • With 10 tools exposed, expect a noticeable bump in prompt size — disable it in projects that never use Bluesky.
  • Written in TypeScript.
  • MCP clients ask for confirmation before each tool call by default. Keep that on while you learn what the bluesky mcp server actually does with your data.
  • Every entry in this directory is reviewed by hand before it goes live, and details are checked against the project's own documentation.

Available tools

ToolWhat it does
BLUESKY_IDENTIFIERThis 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_KEYThis is an App Password, which is different from your regular Bluesky password. To create one:
bluesky_get_profileGet your Bluesky profile information including display name, bio, follower count, etc. - **Parameters**: None - **Returns**: Complete profile data
bluesky_get_followsGet 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_followersGet 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_postsGet 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_feedGet 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_postsGet 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_postsSearch 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_profilesSearch 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**

How to install the Bluesky MCP server

**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.

Configuration

  • Runtime: Either Bun or Node.js v22.6.0+ - A Bluesky account
VariableDescriptionRequired
BLUESKY_APP_KEYCredential the server authenticates with.Yes
BLUESKY_IDENTIFIERConfiguration value read at startup.Optional

Example prompts to try

  • Use Bluesky to BLUESKY IDENTIFIER.
  • Use Bluesky to BLUESKY APP KEY.
  • Use Bluesky to bluesky get profile.

Frequently asked questions

It connects Bluesky to MCP-compatible AI assistants such as Claude and Cursor, exposing 10 tools (BLUESKY_IDENTIFIER, BLUESKY_APP_KEY, bluesky_get_profile, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Bluesky directly.