Skip to main content
Glama
berlinbra

BlueSky MCP Server

by berlinbra

BlueSky MCP Server

A Model Context Protocol (MCP) server that provides access to BlueSky social network data through its official API. This server implements a standardized interface for retrieving user profiles and social graph information.

Features

  • Fetch detailed user profile information

  • Retrieve user following lists with pagination

  • Built-in authentication handling and session management

  • Comprehensive error handling

Related MCP server: ETHID MCP Server

Installation

Claude Desktop

  • On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

  • On Windows: %APPDATA%/Claude/claude_desktop_config.json

    "mcpServers": {
        "bluesky-mcp": {
            "command": "uv",
            "args": [
            "--directory",
            "C:\\Users\\{INSERT_USER}\\YOUR\\PATH\\TO\\bluesky-mcp\\bluesky-mcp",
            "run",
            "src/bluesky_mcp/server.py"
            ],
            "env": {
                "BLUESKY_IDENTIFIER": "your.handle.bsky.social",
                "BLUESKY_APP_PASSWORD": "your-app-password"
            }
        }
    }

Running Locally

Install Libraries

uv pip install -e .

Running

After connecting Claude client with the MCP tool via json file and installing the packages, Claude should see the server's mcp tools:

You can run the sever yourself via: In bluesky_mcp repo:

uv run src/bluesky_mcp/server.py

*if you want to run the server inspector along with the server:

npx @modelcontextprotocol/inspector uv --directory C:\\Users\\{INSERT_USER}\\YOUR\\PATH\\TO\\bluesky-mcp run src/bluesky_mcp/server.py

Available Tools

The server implements two tools:

  • get-profile: Get detailed profile information for a BlueSky user

  • get-follows: Get a list of accounts that a specified user follows

get-profile

Retrieves detailed profile information for a given BlueSky user.

Input Schema:

{
    "handle": {
        "type": "string",
        "description": "The user's handle (e.g., 'alice.bsky.social')"
    }
}

Example Response:

Profile information for alice.bsky.social:

Handle: alice.bsky.social
Display Name: Alice
Description: Just a BlueSky user sharing thoughts
Followers: 1234
Following: 567
Posts: 789

get-follows

Retrieves a list of accounts that a specified user follows, with support for pagination.

Input Schema:

{
    "actor": {
        "type": "string",
        "description": "The user's handle (e.g., 'alice.bsky.social')"
    },
    "limit": {
        "type": "integer",
        "description": "Maximum number of results to return",
        "default": 50,
        "minimum": 1,
        "maximum": 100
    },
    "cursor": {
        "type": "string",
        "description": "Pagination cursor",
        "optional": true
    }
}

Example Response:

Follows for alice.bsky.social:

Follows:
Handle: bob.bsky.social
Display Name: Bob
---
Handle: carol.bsky.social
Display Name: Carol
---
Handle: dave.bsky.social
Display Name: Dave
---

More results available. Use cursor: bafygeia...

Error Handling

The server includes comprehensive error handling for various scenarios:

  • Authentication failures

  • Rate limiting

  • Network connectivity issues

  • Invalid parameters

  • Timeout handling

  • Malformed responses

Error messages are returned in a clear, human-readable format.

Prerequisites

  • Python 3.12 or higher

  • httpx

  • mcp

Authentication

To use this MCP server, you need to:

  1. Create a BlueSky account if you don't have one

  2. Generate an App Password in your BlueSky account settings

  3. Set the following environment variables:

    • BLUESKY_IDENTIFIER: Your BlueSky handle (e.g., "username.bsky.social")

    • BLUESKY_APP_PASSWORD: Your generated App Password

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

Install Server
A
license - permissive license
B
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Enables users to interact with X (Twitter) through the X API. Supports posting tweets, retrieving user timelines, searching tweets, and replying to tweets with comprehensive error handling.
    3
    7
  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that enables users to interact with the Bluesky social network through comprehensive read and write API tools, including session management and timeline navigation. It also features a Jetstream-powered local SQLite database for indexing and searching Japanese posts.
    36
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables LLMs to interact with the AT Protocol ecosystem, including Bluesky, through natural language. Supports public data access without authentication and full write operations with authentication.
    51
    35
    8
    MIT

View all related MCP servers

Related MCP Connectors

  • Search posts, profiles, feeds, threads, and trending topics on Bluesky.

  • Unified social-media data across 10 networks: profiles, posts, search, comments, cross-search.

  • X (formerly Twitter) posts, profiles, and search for AI agents. Free key, self-minted, no signup.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/berlinbra/BlueSky-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server