Bluesky MCP Server
by cyanheadsio.github.cyanheads/bluesky-mcp-serverv0.5.2
Search posts, profiles, feeds, threads, and trending topics on Bluesky.
context tax
queued
security
queued
cold start
queued
freshness
Active2d ago
Install Bluesky MCP server
Install in Claude Code
claude mcp add bluesky -e BLUESKY_APP_PASSWORD='<bluesky-app-password>' -- npx -y @cyanheads/bluesky-mcp-serverInstall in Cursor
{
"mcpServers": {
"bluesky": {
"command": "npx",
"args": [
"-y",
"@cyanheads/bluesky-mcp-server"
],
"env": {
"BLUESKY_APP_PASSWORD": "<bluesky-app-password>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"bluesky": {
"command": "npx",
"args": [
"-y",
"@cyanheads/bluesky-mcp-server"
],
"env": {
"BLUESKY_APP_PASSWORD": "<bluesky-app-password>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"bluesky": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/bluesky-mcp-server"
],
"env": {
"BLUESKY_APP_PASSWORD": "<bluesky-app-password>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"bluesky": {
"command": "npx",
"args": [
"-y",
"@cyanheads/bluesky-mcp-server"
],
"env": {
"BLUESKY_APP_PASSWORD": "<bluesky-app-password>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| BLUESKY_IDENTIFIER | — | — | Handle, DID, or email of the Bluesky account post search runs as. Optional: without it and BLUESKY_APP_PASSWORD, bsky_search_posts is not offered, since Bluesky refuses search without a signed-in account. Use a dedicated account — search leaves out posts from accounts in a block relationship with it. |
| BLUESKY_APP_PASSWORD | — | yes | App password for BLUESKY_IDENTIFIER (a standard, non-privileged one — Settings → Privacy and security → App passwords). Optional; required together with BLUESKY_IDENTIFIER to enable bsky_search_posts. |
| MCP_LOG_LEVEL | — | — | Sets the minimum log level for output (e.g., 'debug', 'info', 'warn'). |
| MCP_TRANSPORT_TYPE | — | — | Selects the HTTP transport. |
| MCP_HTTP_HOST | — | — | The hostname for the HTTP server. |
| MCP_HTTP_PORT | — | — | The port to run the HTTP server on. |
| MCP_HTTP_ENDPOINT_PATH | — | — | The endpoint path for the MCP server. |
| MCP_AUTH_MODE | — | — | Authentication mode to use: 'none', 'jwt', or 'oauth'. |
Remote endpoints
- streamable-http
https://bluesky.caseyjhand.com/mcp
Freshness
Active — last maintenance signal 2d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-08 · 2d ago · GitHub
Latest release
2026-10-08 · 2d ago · GitHub · v0.5.2
Package published
no data · npm/PyPI
Registry entry updated
2026-10-08 · 2d ago · official registry · v0.5.2
FAQ
›How do I install the Bluesky MCP server in Claude Code?
Run: claude mcp add bluesky -e BLUESKY_APP_PASSWORD='<bluesky-app-password>' -- npx -y @cyanheads/bluesky-mcp-server. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Bluesky require an API key?
Yes. It expects BLUESKY_APP_PASSWORD, of which 1 is a secret.
›Can I use Bluesky as a remote (hosted) MCP server?
Yes — it offers both a hosted endpoint and a local stdio package.
›Is Bluesky in the official MCP registry?
Yes, as io.github.cyanheads/bluesky-mcp-server.
Alternatives to Bluesky
Other social media MCP servers.