mcpField
B
Bluesky Social MCP

Bluesky Social MCP

Local
gwbischof.notion.siteSocial Media16Updated 75w ago

About Bluesky Social MCP

Bluesky Social MCP is an MCP server for interacting with Bluesky through the atproto client. It is suited to AI applications that need to read and manage Bluesky content, covering profiles, feeds, post interactions, and publishing.

Key features

  1. 01Check authentication status
  2. 02Read profiles, followers, and follows
  3. 03View timelines, author feeds, and threads
  4. 04Like, repost, and manage interactions
  5. 05Publish text, image, and video posts

Use cases

  1. 01Look up Bluesky profiles and feeds
  2. 02Publish or delete posts and manage interactions
  3. 03Review post threads and repost activity

MCP support

The server exposes Bluesky operations as tools to MCP clients, uses the atproto client, and is configured for authentication with a Bluesky identifier and app password.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"bluesky-social": {
"command": "uvx",
"args": [
"git+https://github.com/gwbischof/[email protected]"
],
"env": {
"BLUESKY_IDENTIFIER": "<BLUESKY_IDENTIFIER>",
"BLUESKY_APP_PASSWORD": "<BLUESKY_APP_PASSWORD>"
}
}
}
}
Run commanduvx 'git+https://github.com/gwbischof/[email protected]'
Environment variables to set
BLUESKY_IDENTIFIER
BLUESKY_APP_PASSWORDSecret

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypigit+https://github.com/gwbischof/[email protected]

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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/[email protected]", "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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.