home / mcp / bluesky mcp server

Bluesky MCP Server

Bluesky MCP (Model Context Protocol) Server

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "brianellin-bsky-mcp-server": {
      "command": "node",
      "args": [
        "/path/to/bsky-mcp-server/build/src/index.js"
      ],
      "env": {
        "BLUESKY_IDENTIFIER": "your-bluesky-handle",
        "BLUESKY_SERVICE_URL": "https://bsky.social",
        "BLUESKY_APP_PASSWORD": "your-app-password"
      }
    }
  }
}

You can run a Bluesky MCP Server to bring Bluesky/ATProtocol data into your LLM-powered applications. It exposes tools to fetch timelines, posts, profiles, followers, trends, and more, enabling natural-language queries and actions like composing and posting content on Bluesky from your app.

How to use

Connect the Bluesky MCP Server to your MCP client (for example Claude Desktop) and start sending natural-language requests to fetch feeds, analyze posts, or manage your Bluesky activity. You can ask for recent posts from a user, summarize a feed, explore follower networks, or generate and publish posts directly from your app. You can also search for posts, people, and feeds, then drill into threads and conversations.

How to install

Prerequisites: you need Node.js installed on your system and a package manager (npm or pnpm). You will also need a Bluesky account to generate an app password for authentication.

Install via Smithery to add the Bluesky MCP Server to Claude Desktop automatically:

npx -y @smithery/cli install @brianellin/bsky-mcp-server --client claude

Manual setup and build

Clone the Bluesky MCP Server repository, install dependencies, and build the server locally. This lets you run the server from your machine and connect it to your MCP client.

# Install dependencies
pnpm install

# Build the project
pnpm run build

Test with MCP Inspector

You can test the Bluesky MCP tools directly without an LLM by using the MCP Inspector. Build the server first, then run the inspector and load the server from the local build.

npx @modelcontextprotocol/inspector node build/src/index.js

Configure your MCP client to connect

Add an MCP server entry for Bluesky in your client configuration. The following example shows how to point the client to the local server run path and supply Bluesky credentials as environment variables.

{
  "mcpServers": {
    "bluesky": {
      "command": "node",
      "args": ["/path/to/bsky-mcp-server/build/src/index.js"],
      "env": {
        "BLUESKY_IDENTIFIER": "your-bluesky-handle",
        "BLUESKY_APP_PASSWORD": "your-app-password",
        "BLUESKY_SERVICE_URL": "https://bsky.social"
      }
    }
  }
}

Available tools

get-pinned-feeds

Returns the set of all pinned items from the authenticated user's preferences.

get-timeline-posts

Returns posts from the authenticated user's home timeline.

get-feed-posts

Returns posts from the specified feed.

get-list-posts

Returns posts from the specified list.

get-user-posts

Returns the specified user's posts.

get-profile

Returns the profile details of the specified user.

get-follows

Returns the set of users an account follows.

get-followers

Returns the set of users who follow an account.

get-liked-posts

Returns recent posts liked by the authenticated user.

get-trends

Returns current trending topics on Bluesky with post counts.

get-post-thread

Returns a full conversation thread for a specific post, showing all replies and context.

convert-url-to-uri

Converts a Bluesky web URL to an AT URI format usable with other tools.

search-posts

Returns posts for a given query; can specify top or latest.

search-people

Returns people for a given search query.

search-feeds

Returns feeds for a given query.

like-post

Likes a post with a specific URI.

create-post

Publishes a post.

follow-user

Follows a specific user.