Getting Started
This guide will help you get up and running with the AT Protocol MCP Server quickly.
Prerequisites
Before you begin, ensure you have:
- Node.js 20+ installed on your system
- npm or pnpm package manager
- An AT Protocol account (e.g., Bluesky account)
- Basic familiarity with command line interface
Installation
The fastest way to try the server is with npx (no install required):
npx atproto-mcpOr install it globally:
npm install -g atproto-mcpFor all installation methods (global, local, from source, and Docker), see the Installation guide.
Quick Start
1. Basic Setup
Start the MCP server with default settings:
atproto-mcpThis starts the server using the default stdio transport — it communicates over standard input/output, not a network port, so your MCP client launches it as a subprocess. No port is bound. (Alternatively, --transport http serves the MCP Streamable HTTP transport at http://127.0.0.1:3000/mcp; see the Configuration guide.)
2. Authentication
The server runs unauthenticated, but only public/enhanced tools work in that mode (for example get_user_profile, get_user_connections, get_author_feed, search_actors, and analyze_image). search_posts and all other tools require credentials, since the AT Protocol search API began requiring authentication in 2025. For full functionality, authenticate with an app password — this is the supported path.
App Passwords (Recommended)
- Go to your Bluesky settings and generate an app password
- Set environment variables:
export ATPROTO_IDENTIFIER="your-handle.bsky.social"
export ATPROTO_PASSWORD="your-app-password"
atproto-mcpFor the full authentication reference (verification, security tips, mode comparison), see the Authentication guide.
OAuth (Planned)
Planned
OAuth login is on the roadmap but not yet functional, so it is not exposed as a tool or configuration path. Use app passwords for working authentication. See Experimental & Roadmap.
3. Configure Your LLM Client
Configure your MCP-compatible LLM client (e.g., Claude Desktop) to connect to the server:
{
"mcpServers": {
"atproto": {
"command": "atproto-mcp",
"args": [],
"env": {
"ATPROTO_IDENTIFIER": "your-handle.bsky.social",
"ATPROTO_PASSWORD": "your-app-password"
}
}
}
}Configuration Options
Common flags for a quick start:
atproto-mcp --service https://bsky.social --auth app-password --log-level infoThe --port/--host flags only take effect with --transport http; the default stdio transport ignores them.
For the full list of CLI flags and environment variables, see the Configuration guide.
First Steps
Once your MCP server is configured and your LLM client is running, try these basic operations by talking to your LLM client in natural language:
1. Create a Post
What you say to your LLM client:
"Create a post saying 'Hello from AT Protocol MCP Server!'"Your LLM client will use the create_post tool to publish your post.
2. Search Posts
What you say to your LLM client:
"Search for posts about 'artificial intelligence' from the last week"Your LLM client will use the search_posts tool to find relevant posts.
3. Get User Profile
What you say to your LLM client:
"Get the profile information for @bsky.app"Your LLM client will use the get_user_profile tool to retrieve the profile.
4. Follow a User
What you say to your LLM client:
"Follow @atproto.com"Your LLM client will use the follow_user tool to follow the user.
Verification
To verify everything is working correctly:
- Check server logs for successful startup messages
- Test authentication by creating a simple post
- Verify MCP connection through your LLM client
- Try basic operations like searching or getting profiles
Troubleshooting
Common Issues
Server won't start:
- Check Node.js version (requires 20+)
- Check environment variables
Authentication fails:
- Verify credentials are correct
- Check AT Protocol service URL
- Ensure the app password is valid (OAuth login cannot be completed yet — use an app password)
LLM client can't connect to MCP server:
- Verify MCP server configuration in your LLM client
- Check that the server command is correct
- Review LLM client logs for MCP connection errors
Rate limiting errors:
- Reduce request frequency
- Check AT Protocol rate limits
- Implement proper backoff
Getting Help
If you encounter issues:
- Search existing issues
- Create a new issue with details
- Check the server logs for error messages
- Verify your configuration and credentials
Next Steps
Now that you have the MCP server configured with your LLM client:
- Explore available tools - Ask your LLM client what it can do with AT Protocol
- Try natural language commands - Create posts, search content, manage your social graph
- Review the documentation - Learn about all available MCP tools and resources
- Extend the server - Consider contributing new MCP tools to the project
Development Setup
For development and customization:
# Clone the repository
git clone https://github.com/cameronrye/atproto-mcp.git
cd atproto-mcp
# Install dependencies
npm install
# Start development server
npm run dev
# Run tests
npm testSee the contributing guide for more details on development setup.