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): - For security reasons, I think its best to kee
Add this skill
npx mdskills install gwbischof/bluesky-social-mcpComprehensive Bluesky API integration with 25+ well-documented tools covering posts, profiles, and feeds
1# Bluesky Social MCP23An MCP server for interacting with the Bluesky social network via the [atproto](https://github.com/MarshalX/atproto) client.45:wave: Leave an issue if you have any problems running this MCP. I should be able to push out fixes pretty quickly.67## Quick Start89Get your Bluesky app password at: https://bsky.app/settings/app-passwords1011Add the following to your MCP config file (Note that the version is pinned):1213```json14{15 "mcpServers": {16 "bluesky-social": {17 "command": "uvx",18 "args": ["--from", "git+https://github.com/gwbischof/bluesky-social-mcp@v0.1", "bluesky-social-mcp"],19 "env": {20 "BLUESKY_IDENTIFIER": "your-handle.bsky.social",21 "BLUESKY_APP_PASSWORD": "your-app-password"22 }23 }24 }25}26```27- For security reasons, I think its best to keep it pinned and manually change your config to update the version.2829## Tool Status30All tools have been implemented and tested ✅3132### Authentication & Setup33- ✅ `check_auth_status` - Check if the current session is authenticated3435### Profile Operations36- ✅ `get_profile` - Get a user profile (Client method: `get_profile`)37- ✅ `get_follows` - Get users followed by an account (Client method: `get_follows`)38- ✅ `get_followers` - Get users who follow an account (Client method: `get_followers`)39- ✅ `follow_user` - Follow a user (Client method: `follow`)40- ✅ `unfollow_user` - Unfollow a user (Client method: `unfollow`)41- ✅ `mute_user` - Mute a user (Client method: `mute`)42- ✅ `unmute_user` - Unmute a user (Client method: `unmute`)43- ✅ `resolve_handle` - Resolve a handle to DID (Client method: `resolve_handle`)4445### Feed Operations46- ✅ `get_timeline` - Get posts from your home timeline (Client method: `get_timeline`)47- ✅ `get_author_feed` - Get posts from a specific user (Client method: `get_author_feed`)48- ✅ `get_post_thread` - Get a full conversation thread (Client method: `get_post_thread`)4950### Post Interactions51- ✅ `like_post` - Like a post (Client method: `like`)52- ✅ `unlike_post` - Unlike a post (Client method: `unlike`)53- ✅ `get_likes` - Get likes for a post (Client method: `get_likes`)54- ✅ `repost` - Repost a post (Client method: `repost`)55- ✅ `unrepost` - Remove a repost (Client method: `unrepost`)56- ✅ `get_reposted_by` - Get users who reposted (Client method: `get_reposted_by`)5758### Post Creation & Management59- ✅ `send_post` - Create a new text post (Client method: `send_post`)60- ✅ `send_image` - Send a post with a single image (Client method: `send_image`)61- ✅ `send_images` - Send a post with multiple images (Client method: `send_images`)62- ✅ `send_video` - Send a post with a video (Client method: `send_video`)63- ✅ `delete_post` - Delete a post (Client method: `delete_post`)64- ✅ `get_post` - Get a specific post (Client method: `get_post`)65- ✅ `get_posts` - Get multiple posts (Client method: `get_posts`)6667### Run from local clone of repo.68```bash69{70 "mcpServers": {71 "bluesky-social": {72 "command": "uv",73 "args": [74 "--directory",75 "/ABSOLUTE/PATH/TO/PARENT/FOLDER/bluesky-social-mcp",76 "run",77 "server.py"78 ]79 "env": {80 "BLUESKY_IDENTIFIER": "user-name.bsky.social",81 "BLUESKY_APP_PASSWORD": "app-password-here"82 }83 }84 }85}86```8788# Dev Setup891. Install dependencies:90 ```bash91 uv sync92 ```93942. Run the server:95 ```bash96 uv run bluesky-social-mcp97 ```9899### Debug with MCP Inspector100```bash101mcp dev server.py102mcp dev server.py --with-editable .103```104105### Run the tests106- I run the tests against the actual Bluesky server.107- The tests will use BLUESKY_IDENTIFIER, and BLUESKY_APP_PASSWORD env vars.108```bash109uv run pytest110```111
Full transparency — inspect the skill content before installing.