bluesky-mcp
Allows posting, liking, reposting, and managing timeline on Bluesky via the AT Protocol.
Click on "Install 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-mcppost 'Testing Bluesky MCP' to my feed"
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 (MCP) server for Bluesky that can post on your behalf by using the AT Protocol.
Setup
Installing via Smithery
To install bluesky-mcp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @semioz/bluesky-mcp --client claudeManual Installation
Configure Claude for Desktop:
Open your Claude for Desktop App configuration at ~/Library/Application Support/Claude/claude_desktop_config.json and add:
{
"mcpServers": {
"bluesky-mcp": {
"command": "npx",
"args": ["-y", "@semihberkay/bluesky-mcp"],
"env": {
"BLUESKY_IDENTIFIER": "your.handle.bsky.social",
"BLUESKY_PASSWORD": "your-app-password"
}
}
}
}Required Environment Variables
BLUESKY_IDENTIFIER: Your Bluesky handle or emailBLUESKY_PASSWORD: Your Bluesky app password
Available MCP Tools
Authentication
tool: "login"
params: {
identifier?: string, // Your Bluesky handle or email (optional if set in env)
password?: string // Your Bluesky app password (optional if set in env)
}The server will attempt to auto-login using credentials from the environment variables when starting up. You only need to use the login tool if:
You haven't set the environment variables in Claude's config
You want to login with different credentials
The auto-login failed
Posts
// Create a new post
tool: "create-post"
params: {
text: string, // The text content of your post
images?: { // Optional array of images
data: string, // Base64 encoded image data
encoding: string // Image MIME type (e.g., image/jpeg)
}[]
}
// Get a single post
tool: "get-post"
params: {
uri: string // The URI of the post to fetch
}
// Get multiple posts
tool: "get-posts"
params: {
uris: string[] // Array of post URIs to fetch
}
// Delete a post
tool: "delete-post"
params: {
uri: string // The URI of the post to delete
}Interactions
// Like a post
tool: "like-post"
params: {
uri: string, // The URI of the post to like
cid: string // The CID of the post to like
}
// Unlike a post
tool: "unlike-post"
params: {
likeUri: string // The URI of the like to remove
}
// Repost
tool: "repost"
params: {
uri: string, // The URI of the post to repost
cid: string // The CID of the post to repost
}
// Remove repost
tool: "unrepost"
params: {
repostUri: string // The URI of the repost to remove
}Profile & Timeline
// Get your profile
tool: "get-profile"
params: {}
// Get timeline
tool: "get-timeline"
params: {
limit?: number // Number of posts to fetch (max 100)
}Prompts
Format Timeline
prompt: "format-timeline"
params: {
timeline: any // Timeline data to format
}Formats timeline data in a human-readable way with:
Author name/handle
Post text
Engagement metrics (replies, reposts, likes)
Timestamps
Embedded content (links, videos)
Repost information
Features
✅ Authentication with Bluesky
✅ Create text posts
✅ Support for image uploads
✅ Get user profile
✅ Get timeline
✅ Like/Unlike posts
✅ Repost/Unrepost
✅ Rich text support with automatic link and mention detection
✅ MCP compatible for use with Claude
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/semioz/bluesky-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server