Back to Catalog

bluesky-social-mcp

gwbischof/bluesky-social-mcp
πŸ”— Latest commit:70a6c38
πŸ•’ Updated:Sep 9, 2025, 01:06 PM
Python
Social Media

A Bluesky MCP

MCP Trust Score
Based on our comprehensive evaluation criteria
πŸ€– Evaluated by gemini-2.5-flashFix
Trust Score36/100
GitHub Metrics
Repository statistics and activity
⭐ GitHub Stars:6
πŸ‘₯ Contributors:1
πŸ“‹ Total Issues:2
πŸ“¦ Has Releases:No
πŸ”§ Has CI/CD Pipeline:No
Configuration
Configuration example extracted from README.md for Claude Desktop and other clients.
πŸ€– Evaluated by gemini-2.5-flashFix
{
  "bluesky-social": {
    "command": "uvx",
    "args": [
      "--from",
      "git+https://github.com/gwbischof/bluesky-social-mcp@v0.1",
      "bluesky-social-mcp"
    ],
    "env": {
      "BLUESKY_IDENTIFIER": "your-handle.bsky.social",
      "BLUESKY_APP_PASSWORD": "your-app-password"
    }
  },
  "bluesky-social-local-clone": {
    "command": "uv",
    "args": [
      "--directory",
      "/ABSOLUTE/PATH/TO/PARENT/FOLDER/bluesky-social-mcp",
      "run",
      "server.py"
    ],
    "env": {
      "BLUESKY_IDENTIFIER": "user-name.bsky.social‬",
      "BLUESKY_APP_PASSWORD": "app-password-here"
    }
  },
  "bluesky-social-mcp": {
    "command": "uv",
    "args": [
      "run",
      "bluesky-social-mcp"
    ],
    "env": {}
  }
}
MCP Protocol Support
Implemented MCP protocol features
πŸ€– Evaluated by gemini-2.5-flashFix
Tools:βœ“
Prompts:βœ—
Resources:βœ—
Sampling:βœ—
Roots:βœ—
Logging:βœ—
STDIO Transport:βœ“
HTTP Transport:βœ—
OAuth2 Auth:βœ—
Dependencies
4 dependencies
Libraries and frameworks used by this MCP server
πŸ€– Evaluated by gemini-2.5-flashFix
Add Quality Badge
Show your MCP trust score in your README
Trust Score Badge
[![Trust Score](https://archestra.ai/mcp-catalog/api/badge/quality/gwbischof/bluesky-social-mcp)](https://archestra.ai/mcp-catalog/gwbischof__bluesky-social-mcp)
README.md

Bluesky Social MCP

An MCP server for interacting with the Bluesky social network via the atproto client.

:wave: Leave an issue if you have any problems running this MCP. I should be able to push out fixes pretty quickly.

Quick Start

Get your Bluesky app password at: https://bsky.app/settings/app-passwords

Add the following to your MCP config file (Note that the version is pinned):

{
  "mcpServers": {
    "bluesky-social": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/gwbischof/bluesky-social-mcp@v0.1", "bluesky-social-mcp"],
      "env": {
        "BLUESKY_IDENTIFIER": "your-handle.bsky.social",
        "BLUESKY_APP_PASSWORD": "your-app-password"
      }
    }
  }
}
  • For security reasons, I think its best to keep it pinned and manually change your config to update the version.

Tool Status

All tools have been implemented and tested βœ…

Authentication & Setup

  • βœ… check_auth_status - Check if the current session is authenticated

Profile Operations

  • βœ… get_profile - Get a user profile (Client method: get_profile)
  • βœ… get_follows - Get users followed by an account (Client method: get_follows)
  • βœ… get_followers - Get users who follow an account (Client method: get_followers)
  • βœ… follow_user - Follow a user (Client method: follow)
  • βœ… unfollow_user - Unfollow a user (Client method: unfollow)
  • βœ… mute_user - Mute a user (Client method: mute)
  • βœ… unmute_user - Unmute a user (Client method: unmute)
  • βœ… resolve_handle - Resolve a handle to DID (Client method: resolve_handle)

Feed Operations

  • βœ… get_timeline - Get posts from your home timeline (Client method: get_timeline)
  • βœ… get_author_feed - Get posts from a specific user (Client method: get_author_feed)
  • βœ… get_post_thread - Get a full conversation thread (Client method: get_post_thread)

Post Interactions

  • βœ… like_post - Like a post (Client method: like)
  • βœ… unlike_post - Unlike a post (Client method: unlike)
  • βœ… get_likes - Get likes for a post (Client method: get_likes)
  • βœ… repost - Repost a post (Client method: repost)
  • βœ… unrepost - Remove a repost (Client method: unrepost)
  • βœ… get_reposted_by - Get users who reposted (Client method: get_reposted_by)

Post Creation & Management

  • βœ… send_post - Create a new text post (Client method: send_post)
  • βœ… send_image - Send a post with a single image (Client method: send_image)
  • βœ… send_images - Send a post with multiple images (Client method: send_images)
  • βœ… send_video - Send a post with a video (Client method: send_video)
  • βœ… delete_post - Delete a post (Client method: delete_post)
  • βœ… get_post - Get a specific post (Client method: get_post)
  • βœ… get_posts - Get multiple posts (Client method: get_posts)

Run from local clone of repo.

{
    "mcpServers": {
        "bluesky-social": {
            "command": "uv",
            "args": [
                "--directory",
                "/ABSOLUTE/PATH/TO/PARENT/FOLDER/bluesky-social-mcp",
                "run",
                "server.py"
            ]
            "env": {
                "BLUESKY_IDENTIFIER": "user-name.bsky.social‬",
                "BLUESKY_APP_PASSWORD": "app-password-here"
            }
        }
    }
}

Dev Setup

  1. Install dependencies:

    uv sync
    
  2. Run the server:

    uv run bluesky-social-mcp
    

Debug with MCP Inspector

mcp dev server.py
mcp dev server.py --with-editable .

Run the tests

  • I run the tests against the actual Bluesky server.
  • The tests will use BLUESKY_IDENTIFIER, and BLUESKY_APP_PASSWORD env vars.
uv run pytest
bluesky-social-mcp MCP Server | Documentation & Integration | Archestra