[READ-ONLY] Mirror of https://github.com/ewanc26/atproto-mcp-server. An AT Protocol MCP server for Bluesky and decentralized social web interactions.
atproto bluesky mcp typescript
0

Configure Feed

Select the types of activity you want to include in your feed.

TypeScript 92.4%
JavaScript 7.6%
43 16 9

Clone this repository

https://git.vm.fail/ewancroft.uk/atproto-mcp-server https://git.vm.fail/did:plc:svjdwntuvumnddkwjbmoxhum
ssh://git@knot1.tangled.sh:2222/ewancroft.uk/atproto-mcp-server ssh://git@knot1.tangled.sh:2222/did:plc:svjdwntuvumnddkwjbmoxhum

For self-hosted knots, clone URLs may differ based on your setup.


README.md

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.