Bluesky MCP Server
The Bluesky MCP Server allows you to interact with Bluesky's social media platform via natural language, enabling seamless integration with LLM-based applications.
Key capabilities include:
User Management: Retrieve authenticated user's handle and DID, fetch profiles, analyze followers/following relationships
Content Access: Fetch posts from timelines, feeds, lists, specific users, liked posts, and trending topics
Search: Find posts, people, or custom feeds with sorting and filtering options
Engagement: Like posts, create posts (including replies), and follow users
Feed Management: Access pinned feeds and lists
Analysis: Fetch post threads and like information for detailed analysis
Utility Functions: Convert Bluesky web URLs to AT URI format and list all available tools
Connects to Bluesky/ATProtocol APIs, enabling interaction with Bluesky features such as fetching and analyzing feeds and followers, accessing timeline posts, searching content, managing posts (reading, creating, liking), and following users through natural language commands.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Bluesky MCP Server show me my recent timeline posts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 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 recent events")
Analyze who follows you? ("Who follows me on Bluesky? Give me a report")
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 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 that can be used 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: like a post with a specific URI
create-post: publish a post
follow-user: follow a specific user
Tips:
You can ask for post from search, timelines, lists, feeds, or profiles by time range. For example: Summarize posts from my timeline for the last three days" or "Find me the most interesting article people have been talking about this week"
Get weird: "What the funniest/most unhinged/weirdest/goofiest post you've seen on my timeline in the last 24 hours?"
Learn about yourself: "Analyze my liked posts and tell me what I'm into. Give me 3 interesting facts about what you've found and how it relates to my personality on bluesky" or "Who follows me on bluesky? Give me a comprehensive report."
Related MCP server: Twitter MCP Server
Installation
Installing via Smithery
To install Bluesky MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @brianellin/bsky-mcp-server --client claudeInstalling Manually
First clone this repo, then install dependencies and build the server:
# Install dependencies
pnpm install
# Build the project
pnpm run buildTesting 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.jsNavigate 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 recent 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:
Log in to Bluesky
Go to Settings > App Passwords
Create a new app password specifically for this integration
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
Available Tools
21 toolsconvert-url-to-uriA
Convert a Bluesky web URL to an AT URI format that can be used with other tools
Inputs: url (required).
create-postB
Create a new post on Bluesky
Inputs: text (required), replyTo.
follow-userA
Follow a user on Bluesky
Inputs: handle (required).
get-feed-postsB
Fetch posts from a specified feed
Inputs: count (required), feed (required), type (required).
get-followersB
Get a list of users that follow a person
Inputs: user (required), limit.
get-followsB
Get a list of users that a person follows
Inputs: user (required), limit.
get-liked-postsA
Get a list of posts that the authenticated user has liked
Inputs: limit.
get-list-postsA
Fetch posts from users in a specified list
Inputs: count (required), list (required), type (required).
get-my-handle-and-didA
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.
Inputs: no named parameters.
get-pinned-feedsB
Get the authenticated user's pinned feeds and lists.
Inputs: no named parameters.
get-post-likesA
Get information about users who have liked a specific post
Inputs: uri (required), limit.
get-post-threadA
Get a full conversation thread for a specific post, showing replies and context
Inputs: uri (required).
get-profileB
Get a user's profile from Bluesky
Inputs: handle (required).
get-timeline-postsA
Fetch your home timeline from Bluesky, which includes posts from all of the people you follow in reverse chronological order
Inputs: count (required), type (required).
get-trendsB
Get current trending topics on Bluesky
Inputs: includeSuggested, limit.
get-user-postsB
Fetch posts from a specific user
Inputs: count (required), type (required), user (required).
like-postB
Like a post on Bluesky
Inputs: uri (required).
list-resourcesA
List all available MCP resources with their descriptions
Inputs: no named parameters.
search-feedsB
Search for custom feeds on Bluesky
Inputs: query (required), limit.
search-peopleB
Search for users/actors on Bluesky
Inputs: query (required), limit.
search-postsB
Search for posts on Bluesky
Inputs: query (required), limit, sort.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 21 tools
Most tools have clearly distinct purposes targeting specific Bluesky operations like creating posts, following users, fetching different types of content (timeline, feed, user posts, thread), and searching. However, some overlap exists between get-feed-posts, get-list-posts, get-timeline-posts, and get-user-posts which all fetch posts but from different sources, which could cause minor confusion without careful reading of descriptions.
Tool names follow a highly consistent verb_noun pattern throughout, with clear action prefixes like get-, create-, follow-, like-, search-, and list-. All tools use snake_case consistently, making them predictable and easy to understand at a glance.
With 21 tools, the count is slightly high but reasonable for a comprehensive Bluesky API server covering posting, social interactions, content retrieval, and search functionalities. It includes core operations without being excessively bloated, though it borders on the upper limit of typical scoping.
The tool set provides complete coverage for Bluesky interactions, including CRUD-like operations (create-post, like-post, follow-user), extensive retrieval (posts, profiles, followers, likes, trends), search capabilities (people, posts, feeds), and utility functions (URL conversion, session info). No obvious gaps exist for standard user workflows in this domain.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Hosted MCP server for AI agents to post to LinkedIn profiles and X and upload to YouTube.
Hosted X (Twitter) MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Social media MCP server: your Instagram, TikTok, YouTube, LinkedIn and Threads history for your AI.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI models and applications to interact directly with Twitter/X, providing capabilities to create posts, reply to tweets, retrieve user data, and manage account actions.18 npm11MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants to interact with Twitter functionality using cookie-based authentication, allowing for timeline access, tweet management, user information retrieval, and search capabilities.16-
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server for Bluesky that can post on your behalf by using the AT Protocol.24 npm7MIT
- AlicenseNot gradedqualityNot gradedmaintenanceMCP server for Bluesky/AT Protocol enabling LLM clients and agents to authenticate, search, post, like, follow, and manage chat on Bluesky.7 npmMIT