Bluesky Social MCP

by gwbischof

16 stars
187 downloads
Not rated
GitHub Website

About

An MCP server for interacting with the Bluesky social network via the atproto client. It allows developers and users to programmatically manage profiles, feeds, posts, and interactions.

Details

Author
gwbischof
GitHub stars
16
Downloads
187
Categories
Other

- Check authentication status.
- Get and manage user profiles.
- Follow, unfollow, and mute users.
- Read timeline and author feeds.
- Create text, image, and video posts.
- Like, repost, and manage post interactions.

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 Social MCP
    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

Configure it in your MCP client config with the uvx command and set the environment variables BLUESKY_IDENTIFIER and BLUESKY_APP_PASSWORD (obtained from Bluesky app passwords). Alternatively, run from a local clone using uv. The server provides a set of tool calls for all operations.

Claude Desktop / Cursor

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

{
    "mcpServers": {
        "bluesky social mcp": {
            "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"
                }
            }
        }
    }
}

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"
        }
    }
}

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"
            }
        }
    }
}
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.