Bluesky MCP Server

by semioz

7 stars
279 downloads
Not rated
GitHub Website

About

mcp server for bluesky. featured in offical mcp server repo.

Details

Author
semioz
GitHub stars
7
Downloads
279
Categories
Communication, Other

- Authenticate with Bluesky using handle/email and app password
- Create text posts with optional image uploads (base64)
- Retrieve single or multiple posts by URI
- Delete your posts
- Like/unlike and repost/unrepost content
- View your profile and timeline (up to 100 posts)
- Automatic link and mention detection in rich text
- MCP compatible – works with Claude Desktop and other MCP clients

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Bluesky MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install automatically via Smithery (npx -y @smithery/cli install @semioz/bluesky-mcp --client claude) or manually by adding a configuration entry to claude_desktop_config.json with environment variables BLUESKY_IDENTIFIER and BLUESKY_PASSWORD. After setup, the server auto-logs in; you can use the login tool if you need different credentials or if auto-login fails.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "bluesky mcp server": {
            "bluesky-mcp": {
                "command": "npx",
                "args": [
                    "-y",
                    "@smithery/cli",
                    "install",
                    "@semioz/bluesky-mcp",
                    "--client",
                    "claude"
                ]
            }
        }
    }
}

McpServers

{
    "bluesky-mcp": {
        "command": "npx",
        "args": [
            "-y",
            "@smithery/cli",
            "install",
            "@semioz/bluesky-mcp",
            "--client",
            "claude"
        ]
    }
}

Bluesky MCP Server

smithery badge

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 claude

Manual 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 email - BLUESKY_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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.