Bluesky MCP Server

Bluesky MCP Server

A Model Context Protocol server that enables AI assistants to interact with Bluesky/ATProtocol, providing authentication, timeline access, post creation, and social features like likes and follows.

brianellin

Developer Tools
Visit Server

Tools

search-people

Search for users/actors on Bluesky

get-my-handle-and-did

Return the handle and did of the currently authenticated user for this blusesky session. Useful for when someone asks information about themselves using "me" or "my" on bluesky.

get-timeline-posts

Fetch your home timeline from Bluesky, which includes posts from all of the people you follow in reverse chronological order

create-post

Create a new post on Bluesky

get-profile

Get a user's profile from Bluesky

search-posts

Search for posts on Bluesky

search-feeds

Search for custom feeds on Bluesky

get-liked-posts

Get a list of posts that the authenticated user has liked

get-trends

Get current trending topics on Bluesky

like-post

Like a post on Bluesky

follow-user

Follow a user on Bluesky

get-pinned-feeds

Get the authenticated user's pinned feeds and lists.

get-feed-posts

Fetch posts from a specified feed

get-list-posts

Fetch posts from users in a specified list

get-user-posts

Fetch posts from a specific user

get-follows

Get a list of users that a person follows

get-post-likes

Get information about users who have liked a specific post

list-resources

List all available MCP resources with their descriptions

README

Bluesky MCP Server

A Model Context Protocol server that connects to Bluesky and provides tools to interact with the ATProtocol.

You can use this MCP server to bring context from various Bluesky / ATProtocol API endpoints directly into the context window of your LLM based application. For example, you can add this server to Claude Desktop and then use it as a natural language Bluesky client.

Features & Tools

  • Interact with common Bluesky features via natural language (e.g. "Get recent posts from David Roberts")
  • Fetch and and analyze feeds ("Find me a feed about Seattle and tell me what people are talking about")
  • Fetch and analyze lists of followers ("What types of accounts does Mark Cuban follow? Give me a detailed report")
  • Use an LLM to write a post and then post it for you 😱 ("Write a haiku about today's weather in my area and post it to bluesky")
  • Search for feeds, posts, and people ("Find posts about the #teslatakedown and give me a summary of revent events")

Here's the current list of tools provided:

  • 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 followes this user follows
  • get-liked-posts: returns recent posts liked by the authenticated user
  • get-trends: returns current trending topics on Bluesky with post counts
  • search-posts: returns posts for a given query. can specify top or lateest
  • search-people: returns people for a given search query
  • search-feeds: returns feeds for a given query
  • like-post: like a post with a specific URI
  • create-post: publish a post
  • follow-user: follow a specific user

Installation

First clone this repo, then install dependencies and build the server:

# Install dependencies
pnpm install

# Build the project
pnpm run build

Testing with MCP Inspector

You can test the bluesky tools directly without connecting to an LLM via the amazing MCP Inspector. First make sure you have built the server and then run:

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

Navigate to the local URL provided in your terminal, and then set your BLUESKY_IDENTIFIER, BLUESKY_APP_PASSWORD, and BLUESKY_SERVICE_URL environment variables from the panel on the left. Try the get-timeline tool to see the most revent posts from your home timeline.

MCP Client Configuration

Follow the steps to set up MCP with your client of choice. For example, to set up Claude for desktop to connect to Bluesky, add the following to bluesky section to your claude_desktop_config.json:

{
    "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"
          }
      }
    }
  }

For more details about running MCP servers in Claude for desktop, see https://modelcontextprotocol.io/quickstart/user

Creating App Passwords

To use this MCP server, you need to create an app password for your Bluesky account:

  1. Log in to Bluesky
  2. Go to Settings > App Passwords
  3. Create a new app password specifically for this integration
  4. Set the app password using the BLUESKY_APP_PASSWORD environment variable

Security Notes

  • This server stores your session information in memory only and does not share it with the MCP client.
  • The MCP client only has access to the tools, not to your authentication or app password

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python