MCP ExplorerExplorer

Bluesky Mcp

@semiozon 10 months ago
2 MIT
FreeCommunity
AI Systems
#bluesky#claude#mcp#model-context-protocol
mcp server for bluesky!(WIP)

Overview

What is Bluesky Mcp

bluesky-mcp is a Model Context Protocol (MCP) server designed for Bluesky, enabling users to post content on their behalf using the AT Protocol.

Use cases

Use cases for bluesky-mcp include automating social media updates, managing content across multiple accounts, and integrating Bluesky posting functionalities into other applications.

How to use

To use bluesky-mcp, install the necessary dependencies with ‘npm install’, build the project using ‘npm run build’, and configure the Claude for Desktop app with your Bluesky credentials in the specified JSON configuration file.

Key features

Key features of bluesky-mcp include authentication for user login, the ability to create, retrieve, and delete posts, and support for posting images in various formats.

Where to use

bluesky-mcp can be used in social media applications, content management systems, and any platform that requires automated posting capabilities on Bluesky.

Content

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

  1. Install dependencies:
npm install
  1. Build the project:
npm run build
  1. 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

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers