An MCP server for interacting with Bluesky via the atproto client.
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.
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"
}
}
}
}
All tools have been implemented and tested β
check_auth_status - Check if the current session is authenticatedget_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)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)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)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){
"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"
}
}
}
}
Install dependencies:
uv sync
Run the server:
uv run bluesky-social-mcp
mcp dev server.py
mcp dev server.py --with-editable .
uv run pytest