atproto-mcp
A MCP server that gives LLMs direct access to the AT Protocol ecosystem, enabling seamless interaction with Bluesky and other AT Protocol-based social networks.
Install / Use
claude mcp add cameronrye -- npx -y github:cameronrye/atproto-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Tags
Our assessment of atproto-mcp
atproto-mcp scores 84/100 on our quality scale, 626th of 978 AI & Machine Learning skills we index.
Its MCP Server is 21 KB long, well organised into 55 sections with 13 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 27 days ago, so atproto-mcp is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
atproto-mcp compared with similar skills
All 4 of these similar skills score higher than atproto-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| atproto-mcp (this skill)by cameronrye | 84 | 10 | 27d ago | MCP Server |
| claude-memby thedotmack | 100 | 100.7k | 1d ago | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 97.3k | 6d ago | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 86.3k | 2d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 75.4k | 1d ago | CLAUDE.md |
Frequently asked questions
- How do I install atproto-mcp?
- Run
claude mcp add cameronrye -- npx -y github:cameronrye/atproto-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does atproto-mcp work with?
- It is written for Claude Code, Claude Desktop and Zed, as a MCP Server file. Other agents that read the same format can often use it too.
- Is atproto-mcp safe to use?
- It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is atproto-mcp still maintained?
- The repository was last updated 27 days ago, so atproto-mcp is actively maintained.
Skill content
View source on GitHubAT Protocol MCP Server
A comprehensive Model Context Protocol (MCP) server that provides LLMs with direct access to the AT Protocol ecosystem, enabling seamless interaction with Bluesky and other AT Protocol-based social networks.
Supports both authenticated and unauthenticated modes - Start immediately with public data access (view profiles, search accounts, fetch follower/following lists), or add authentication for full functionality (search, write operations, private data, feeds).
Zero-config launch:
npx atproto-mcpruns the server in unauthenticated public-data mode — no credentials required.Recent additions: Bluesky direct messages, private bookmarks, starter pack discovery, reply/quote controls on posts, parameterized MCP resource templates, and an optional Streamable HTTP transport (
--transport http).
Architecture
This MCP server acts as a bridge between LLM clients and the AT Protocol ecosystem:
┌─────────────────┐
│ User │ "Search for posts about AI"
└────────┬────────┘
│ Natural Language
▼
┌─────────────────┐
│ LLM Client │ (Claude Desktop, etc.)
│ (MCP Client) │
└────────┬────────┘
│ MCP Protocol (JSON-RPC 2.0)
▼
┌─────────────────┐
│ This Server │ AT Protocol MCP Server
│ (MCP Server) │ - Tools, Resources, Prompts
└────────┬────────┘
│ AT Protocol API
▼
┌─────────────────┐
│ AT Protocol │ Bluesky, Custom PDS, etc.
│ Ecosystem │
└─────────────────┘
Key Point: Users don't interact with this server directly. Instead, they talk to their LLM client in natural language, and the LLM client uses this MCP server to access AT Protocol functionality.
Features
Highlights
- Batch Operations: Perform multiple operations in a single call (follow/like/repost up to 25 items at once)
- Analytics & Insights: Analyze engagement patterns, network connections, and get content strategy recommendations
- Content Discovery: Find similar users, trending topics, starter packs, and influential voices in your areas of interest
- Direct Messages: List conversations, read message history, and send Bluesky DMs (requires a DM-enabled app password)
- Private Bookmarks: Save, list, and remove private bookmarks on posts
Core Features
- Zero-config Unauthenticated Mode: Run
npx atproto-mcpto access public data without any setup - view profiles, search accounts, and fetch follower/following lists - Optional Authentication: Enable full functionality with app passwords for write operations, feeds, and private data
- Complete AT Protocol Integration: Full implementation using official
@atproto/api - MCP Server Compliance: Built with
@modelcontextprotocol/sdkfollowing MCP specification - Type-Safe: Written in TypeScript with strict type checking
- Comprehensive Tools: 51 MCP tools for social networking operations
- Rate Limiting: Built-in respect for AT Protocol rate limits
- Extensible: Modular architecture for easy customization
Planned: OAuth login is on the roadmap but not yet functional — app-password authentication is the supported auth path today. Real-time firehose streaming is not planned as MCP tools: a request/response tool cannot honestly expose a continuous stream, and the unused firehose client code has been removed. If streaming ever ships it will be built fresh on Jetstream.
Who Is This For?
Primary Audience: LLM Clients
This is an MCP (Model Context Protocol) server designed to be consumed by LLM clients such as:
- Claude Desktop
- Other MCP-compatible AI assistants
- Custom LLM applications using the MCP SDK
How it works:
User → LLM Client (Claude Desktop) → MCP Protocol → This Server → AT Protocol → Bluesky
Users interact with their LLM client in natural language (e.g., "search for posts about AI"), and the LLM client uses this MCP server to fulfill those requests by calling the appropriate tools via the MCP protocol.
Secondary Audience: Developers
This project is also for developers who want to:
- Deploy the MCP server for their LLM clients to connect to
- Extend the server with custom MCP tools and resources
- Contribute to the open-source project
This Is NOT:
- A direct-use REST API or SDK for application developers
- A JavaScript/TypeScript library to import into your app
- An end-user application
If you're building an application that needs AT Protocol functionality, you should either:
- Use the official
@atproto/apipackage directly, OR - Build an LLM-powered application that uses this MCP server through an LLM client
Installation
Run it with no install and no configuration — npx atproto-mcp launches the
server in unauthenticated public-data mode immediately:
npx atproto-mcp
Or install globally:
npm install -g atproto-mcp
Claude Desktop
Add this to your Claude Desktop MCP configuration to run the server with zero config:
{
"mcpServers": {
"atproto": { "command": "npx", "args": ["-y", "atproto-mcp"] }
}
}
Quick Start
Option 1: Unauthenticated Mode (Recommended for most use cases)
Perfect for LLM clients that need to access public AT Protocol data:
-
Configure your LLM client (e.g., Claude Desktop) to launch the MCP server:
Add to your LLM client's MCP configuration:
{ "mcpServers": { "atproto": { "command": "npx", "args": ["atproto-mcp"] } } } -
Start your LLM client - it will automatically launch the MCP server
-
Interact in natural language - Ask your LLM to search posts, view profiles, etc.
What your LLM can do in unauthenticated mode:
- View user profiles (
get_user_profile- works without auth, provides additional viewer-specific data when authenticated) - Search for accounts by handle or name (
search_actors) - List a user's posts (
get_author_feed) - View follower/following lists (
get_user_connectionswithdirection: 'followers' | 'follows'- ENHANCED mode: works without auth, enriches the underlying API call when authenticated)
Note: The following features require authentication:
- Searching posts and hashtags (
search_posts) - API changed in 2025 to require authentication - Browsing feeds and threads (
get_post_context,get_custom_feed,get_timeline) - All write operations (create, like, repost, follow, etc.)
- Resources (timeline, profile, notifications) - these are listed but require authentication to return data
Prompts (content composition, reply templates) are pure text templates and work without authentication.
Important: All tools, resources, and prompts are listed by the MCP server regardless of authentication state. Most tools and resources that require authentication will return a clear error message when called without proper credentials.
Option 2: Authenticated Mode (For full functionality)
Enable write operations and private data access for your LLM:
-
Configure your LLM client with AT Protocol credentials:
{ "mcpServers": { "atproto": { "command": "npx", "args": ["atproto-mcp"], "env": { "ATPROTO_IDENTIFIER": "your-handle.bsky.social", "ATPROTO_PASSWORD": "your-app-password" } } } } -
Start your LLM client - it will launch the authenticated MCP server
What your LLM can do in authenticated mode:
- Create, edit, and delete posts
- Follow/unfollow users
- Like and repost content
- Access personalized timelines and notifications
- Manage lists and moderation settings
Available Tools
The server provides 51 MCP tools across multiple categories. See the complete API documentation for detailed information on each tool.
Public Tools (No Authentication Required)
Data Retrieval
get_user_profile- Retrieve basic user information (ENHANCED mode: works without auth, provides additional viewer-specific data when authenticated)get_user_summary- Get a profile with recent posts and engagement stats in one call (ENHANCED mode)search_actors- Find accounts by handle or display name (ENHANCED mode)get_author_feed- List a specific user's posts (ENHANCED mode)get_user_connections- Get follower or following lists viadirection: 'followers' | 'follows'(ENHANCED mode: works without auth, enriches the underlying API call when authenticated)get_post_context- Get a post with optional thread, author profile, engagement metrics, and media (ENHANCED mode)search_starter_packs/get_starter_pack- Search Bluesky starter packs by keyword and fetch a pack's details (ENHANCED mode)
Rich Media
analyze_image- Report blob-declared size and MIME type for an image (PUBLIC mode: no auth required; does not decode pixels, so no dimensions/aspect ratio)
Note: As of 2025, the AT Protocol API has changed to require authentication
for most endpoints that were previously public, including search_posts.
Private Tools (Authentication Required)
Social Operations
create_post- Create posts with text, auto-detected or explicit richtext facets, replies, image/external embeds, and quote postscreate_thread- Create multi-post threads in one callreply_to_post- Reply to existing posts with threadinglike_post/unlike_post- Like and unlike postsrepost/unrepost- Repost content with optional quotesfollow_user/ `unfollow_us
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
100.7kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
97.3kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
86.3kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
75.4kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
