Mirror of github.com/ewanc26/atproto-mcp-server
  • TypeScript 92.4%
  • JavaScript 7.6%
Find a file
2026-07-16 18:22:45 +01:00
src Make ATProto MCP server functional 2026-07-12 21:34:00 +01:00
tests Make ATProto MCP server functional 2026-07-12 21:34:00 +01:00
.gitignore Make ATProto MCP server functional 2026-07-12 21:34:00 +01:00
AGENTS.md docs: correct agent guidance after source audit 2026-07-16 18:22:45 +01:00
package-lock.json Make ATProto MCP server functional 2026-07-12 21:34:00 +01:00
package.json docs: clarify AT Protocol trademark use 2026-07-16 14:10:21 +01:00
README.md docs: clarify AT Protocol trademark use 2026-07-16 14:10:21 +01:00
TRADEMARKS.md docs: clarify AT Protocol trademark use 2026-07-16 14:10:21 +01:00
tsconfig.json Make ATProto MCP server functional 2026-07-12 21:34:00 +01:00

MCP Server for AT Protocol

An MCP server that gives compatible clients access to Bluesky and the AT Protocol over stdio. It works without credentials for public reads and enables account actions when Bluesky credentials are configured.

Independent project; see the trademark notice.

Available tools

Public tools: get_profile, resolve_handle, search_posts, get_author_feed, get_post_thread, get_suggestions, get_actor_likes, get_followers, and get_follows.

Authenticated tools: get_timeline, create_post, delete_post, follow, unfollow, like, and unlike.

Cursor-based tools accept the cursor returned by a previous response. Write operations use AT URIs (and, for likes, the target CID) so callers can safely refer to exact records.

Install and run

Requires Node.js 20 or newer.

npm install
npm run build
npm start

The default read-only endpoint is https://public.api.bsky.app. To use another service, set BSKY_SERVICE.

For authenticated tools, set BSKY_HANDLE and BSKY_PASSWORD. A Bluesky app password is recommended instead of the account password. When credentials are present, the default service changes to https://bsky.social.

MCP client configuration

Build the project first, then add it to your client's MCP configuration:

{
  "mcpServers": {
    "atproto": {
      "command": "node",
      "args": ["/absolute/path/to/atproto-mcp-server/build/index.js"],
      "env": {
        "BSKY_HANDLE": "alice.bsky.social",
        "BSKY_PASSWORD": "xxxx-xxxx-xxxx-xxxx"
      }
    }
  }
}

Omit env for read-only use. The server writes logs to stderr, leaving stdout reserved for MCP messages.

Development

npm test

The tests build the TypeScript project and validate that the advertised MCP tool surface is backed by handlers, including argument validation and AT Protocol request mapping.