Bluesky MCP
About
A remote MCP server for Bluesky social media platform.
Details
- Author
- ravishka17
- Categories
- Search, Other, Communication
Jump to
Setup
Install Bluesky MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/ravishka17/Bluesky-MCP
Follow the installation instructions in the repository README, then restart your MCP client.
A Model Context Protocol (MCP) server that provides comprehensive Bluesky/AT Protocol access for AI assistants. Built in TypeScript, deployed on Vercel, and fully compatible with theMCP Streamable HTTP transport(protocol version2025-03-26).
- Post Operations— Create posts, get posts, view likes and reposts
- Feed Management— Timeline, custom feeds, author feeds
- Search Engine— Search posts and users/actors
- Profile Access— View profiles, follower counts, bios (single and batch)
- Thread Viewing— Explore post threads and conversations
- Bookmarks— Create, delete, and list private bookmarks
- Age Assurance— Begin flow, get config and state
- Secure Credential Management— Credentials injected per-request via headers, never stored
- Streamable HTTP— Full MCP transport support (POST + GET + OPTIONS)
- Multi-client Auth— Three credential methods for different MCP clients
- Vercel Ready— Stateless serverless deployment
Click the button above, or clone and deploy manually:
git clone https://github.com/Ravishka17/Bluesky-MCP.git cd Bluesky-MCP vercel
- Log in to Bluesky
- Go toSettings → App Passwords
- Create a new app password
- Note your handle (e.g.yourname.bsky.social) and the generated password
MCP endpoint:https://your-app.vercel.app/mcp
Credentials arenever storedon the server. They are sent per-request via HTTP headers and held in memory only for the duration of that request.
Three credential methods are supported, with the following priority order:
Best for: HuggingChat, curl, any client supporting custom headers.
curl -X POST https://your-app.vercel.app/mcp \ -H "Content-Type: application/json" \ -H "X-BLUESKY-IDENTIFIER: yourname.bsky.social" \ -H "X-BLUESKY-PASSWORD: your-app-password" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
Best for: Mistral Vibe CLI, clients with oneapi_key_headerfield.
Format:handle:app-password(splits on the first colon only, so passwords containing colons are safe)
X-BLUESKY-CREDENTIALS: yourname.bsky.social:your-app-password
Best for: MCP Playground, OpenAI-compatible clients, any tool using theAuthorizationheader.
Authorization: Bearer yourname.bsky.social:your-app-password
In theAdd MCP Serverdialog, expandHTTP Headersand add:
{ "mcpServers": { "bluesky": { "type": "http", "url": "https://your-app.vercel.app/mcp", "headers": { "X-BLUESKY-IDENTIFIER": "yourname.bsky.social", "X-BLUESKY-PASSWORD": "your-app-password" } } } }
claude mcp add bluesky --transport http https://your-app.vercel.app/mcp
[[mcp_servers]] name = "bluesky" transport = "streamable-http" url = "https://your-app.vercel.app/mcp" api_key_env = "BLUESKY_CREDENTIALS" api_key_header = "X-BLUESKY-CREDENTIALS" api_key_format = "{}"
BLUESKY_CREDENTIALS=yourname.bsky.social:your-app-password
For tools likeHermes Agent(Nous Research) and other YAML-configured MCP clients:
mcp_servers: bluesky: url: https://your-app.vercel.app/mcp headers: X-BLUESKY-CREDENTIALS: "${BLUESKY_CREDENTIALS}"
BLUESKY_CREDENTIALS=yourname.bsky.social:your-app-password
mcp_servers: bluesky: url: https://your-app.vercel.app/mcp headers: X-BLUESKY-CREDENTIALS: "${BLUESKY_CREDENTIALS}"
- Remote Server URL:https://your-app.vercel.app/mcp
- Auth Header:Bearer yourname.bsky.social:your-app-password
Configure transport typestreamable-httpwith the endpoint URL and any of the three auth methods above.
# Health check curl https://your-app.vercel.app/health # Check available auth methods curl https://your-app.vercel.app/mcp # Test MCP initialize curl -X POST https://your-app.vercel.app/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'
- Credentials never stored— not in Vercel env vars, not in git, not on disk
- Per-request injection— credentials are passed in headers and held in memory only for that request
- Three auth methods— flexible for any client without compromising security
- Input sanitization— all inputs validated and sanitized before hitting the Bluesky API
- Rate limiting— tiered limits for read vs write operations
- Security headers— X-Frame-Options, X-Content-Type-Options, etc.
# Install dependencies pnpm install # Run in development mode pnpm dev # Build for production pnpm build
For local development, credentials can be passed via headers in every request. No env vars needed.
Bluesky-MCP/ ├── app/ │ ├── mcp/route.ts # MCP endpoint — credential extraction + transport │ ├── health/route.ts # Health check │ ├── layout.tsx │ └── page.tsx ├── src/ │ ├── mcp-server.ts # MCP server — tool routing, credential injection │ ├── bluesky-client.ts # Bluesky API client (all methods) │ ├── handlers.ts # Tool handlers │ ├── toolDefinitions.ts # Tool schemas │ ├── sanitize.ts # Input sanitization │ ├── middleware.ts # Rate limiting, security headers │ ├── types.ts # TypeScript types │ └── utils.ts # Utilities ├── vercel.json └── package.json
This project is released into the public domain underThe Unlicense.
This is free and unencumbered software. Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, for any purpose, commercial or non-commercial, and by any means, without any conditions or restrictions.
Search global news using natural language. Webz.io News Search API returns the most relevant articles and content, with filters for source, country, language, date, sentiment, and category.
Official MCP server for twitterapis.com: Twitter/X search, users, followers, tweets, threads, lists, likes, bookmarks, DMs, plus post/like/retweet/follow actions as native Claude/Cursor tools.
An MCP server for interacting with the Reddit API, enabling searches for posts, comments, and subreddits.
Interact with Reddit by posting comments and searching for posts.
Live data from Twitter, Reddit, the web, GitHub, Amazon and YouTube for AI agents - one hosted MCP server, no API keys.
Comprehensive web, news, and social media search and analysis using xAI's Grok API.
Official MCP server for redditapis.com: subreddit, post, comment, community, user, and media search plus monitor/webhook management as native Claude/Cursor tools.
Search and retrieve content from the Xiaohongshu (Red Book) platform.
Social media search and analytics across X, Reddit, Bluesky, YouTube, LinkedIn, Facebook, Instagram, and Weibo via the Rolli IQ API
Real-time SERP and web data for AI assistants: 100+ tools across Google, Bing, Amazon, YouTube, Maps, travel, and social from one remote MCP server.
Search for messages and files within a Slack workspace using the Slack API.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




