Index / MCP servers / Taproot: AT Protocol

Taproot: AT Protocol MCP server

Taproot: AT Protocol is a remote MCP server that gives an AI agent 27 tools, among them count_records, count_repos_by_collection, describe_pds. It answers at https://mcp.atproto.at/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 5 of 5 times since 13 September 2026; the last check, on 19 October 2026, succeeded.

Status
Answering
Tools
27
Reliability
5 of 5 checks
Response time
715 ms
Transport
streamable HTTP
Last checked
19 October 2026

Read public AT Protocol profiles, records, threads, backlinks and lexicons. No API key required.

Description as the publisher wrote it.

The 27 tools Taproot: AT Protocol offers

ToolWhat it does
count_recordsCount the total records in an account's collection (e.g. how many likes a user has given). Scans server-side so you don't page manually. AT Protocol has no cheap exact count, so for very large collections this returns exact:false with a low
Inputs: repo, collection, cursor
count_repos_by_collectionCount how many accounts across the network publish a given collection/lexicon,e.g. 'how many accounts have an at.glean.subscription?'. Walks a relay's com.atproto.sync.listReposByCollection with NO per-account handle resolution, so it's che
Inputs: collection, cursor, relay
describe_pdsDescribe a Personal Data Server: its DID, whether registration requires an invite, the handle domains you can register there, and ToS/contact links. Works for any PDS, not just Bluesky. Input is the PDS origin (e.g. https://pds.example.com)
Inputs: pds
get_account_historyAn account's history from its PLC audit log: handle changes, PDS migrations, signing-key rotations, and creation time. did:plc accounts only (did:web has no PLC log). Input is a handle or DID.
Inputs: actor
get_app_linkTurn an at:// URI (or handle/DID) into shareable web links,a Bluesky/Blacksky app URL to open in a browser, plus the canonical PDS getRecord URL. Use when the user wants a clickable/pasteable link.
Inputs: uri
get_backlinksIndex of who/what references a target,the inbound likes, reposts, quotes, replies, and follows,as COUNTS per category, via the Constellation backlink index. Target is a record's at:// URI or an account DID. This returns aggregate counts onl
Inputs: target
get_blob_infoGet metadata for a single blob: its canonical PDS getBlob URL plus a best-effort content-type and byte size (via a HEAD request). Returns the URL, never the bytes. Use to turn a blob ref (CID) found in a record into a downloadable link and
Inputs: repo, cid
get_did_documentFetch the raw DID document for any DID or handle: all aliases (alsoKnownAs), every service entry (PDS, labeler, custom AppView), and verification methods. Broader than get_profile, and works for did:web accounts. Input is a handle or DID.
Inputs: actor
get_latest_commitThe current head commit of an account's repository (com.atproto.sync.getLatestCommit): its commit CID and revision. The cheapest way to fingerprint a repo or detect whether it changed since you last looked, without downloading data. Complem
Inputs: repo
get_pds_directory_infoA cached health card for a PDS from pds.directory: version, DID, approximate user count, reachability, last-checked time, available domains, and which relays index it. Input is the PDS hostname (e.g. pds.example.com). Best-effort/cached dat
Inputs: hostname
get_profileGet an account's repository overview (handle, DID, PDS, and the list of collections it contains). Input is a handle or DID.
Inputs: actor, include
get_recordFetch a single record by its full at:// URI (must include collection and rkey). Returns the record's value, CID, and resolved identity.
Inputs: uri, include
get_relay_directory_infoA cached overview of a relay from firehose.directory: counts of PDSes it indexes (total/active/offline/banned) and total accounts. Input is the relay hostname (e.g. bsky.network). Best-effort/cached data.
Inputs: hostname
get_repo_statusLiveness/moderation status of an account's repository: whether it is active, its current revision, and any takedown/suspended/deactivated/deleted state. Answers 'has @alice been taken down?' which get_profile can't. Input is a handle or DID
Inputs: repo
get_threadReconstruct the conversation around a post: its ancestor chain up to the thread root (following reply.parent, root-first) PLUS a bounded descendant reply TREE,replies, replies-to-replies, and so on, each tagged with its depth and parent,wal
Inputs: uri
list_backlink_recordsList the actual records (author DID + verified handle + at:// URI, newest first) that reference a target for ONE category,i.e. WHO liked, reposted, quoted, replied to, mentioned, or follows it. Workflow: call get_backlinks first to get a ca
Inputs: target, source, cursor, limit
list_blobsList the blobs (uploaded media/attachments,images, video, etc.) hosted in an account's repository, via com.atproto.sync.listBlobs. Returns each blob's CID and its canonical PDS getBlob URL (PDS-native, works for any PDS,not a CDN). Answers
Inputs: repo, cursor, limit
list_labelersList the labeler (moderation) services known to the labeler relay,each labeler's DID, resolved handle, and service endpoint. The discovery step BEFORE query_labels, which needs a labeler DID/handle up front: use this to find moderation.bsky
Inputs: cursor, limit
list_recordsList records in a collection for an account, with pagination. Provide the repo (handle or DID) and the collection NSID (e.g. app.bsky.feed.post).
Inputs: repo, collection, cursor, limit
list_reposList the accounts (repositories) hosted on a PDS, via com.atproto.sync.listRepos: each repo's DID and active/takedown status, paginated. Answers 'who is hosted on this PDS?' / 'how many accounts does this PDS have?'. By default returns DIDs
Inputs: pds, cursor, limit, enrich
list_repos_by_collectionNetwork-wide: which accounts publish a given collection/lexicon,e.g. 'who has an app.bsky.feed.generator (a custom feed)?' or who uses a custom lexicon. Via a relay's com.atproto.sync.listReposByCollection (anonymous). By default returns DI
Inputs: collection, cursor, limit, relay, enrich
query_labelsWhat moderation labels a labeler has applied to a subject (com.atproto.label.queryLabels),e.g. 'has @alice or this post been labeled spam/nsfw/hidden by labeler X?'. Anonymous and service-agnostic: the labeler's own service endpoint is foun
Inputs: subject, labeler, cursor, limit
resolveResolve any AT Protocol identifier to JSON. Accepts an at:// URI (at://<did-or-handle>/<collection>/<rkey>), a bare handle (alice.bsky.social), or a DID (did:plc:...). Returns a profile, a collection page, or a single record depending on ho
Inputs: uri, include, cursor, limit
resolve_lexiconExplain what a record type means by resolving its lexicon schema. Input is a collection NSID (e.g. app.bsky.feed.post). Returns the schema's description and definition.
Inputs: nsid
search_accountsSearch for AT Protocol accounts by handle or display name (paginated, via the Bluesky AppView app.bsky.actor.searchActors, so accounts unknown to that index may be missing). Returns candidate accounts with DID + handle, to turn a name into
Inputs: query, cursor, limit
search_lexiconsBrowse or search the registry of published AT Protocol lexicon schemas. The response's `total` field is the exact registry size and `matched` is the exact match count. Substring matches the NSID or description (query 'profile' → anything co
Inputs: query, type, limit, offset
verify_handleBidirectionally verify that a handle is really owned by its DID, via DNS TXT and HTTPS well-known. Returns whether each method passed. Use this to check for impersonation/spoofing,search results and resolve give candidates, this gives crypt
Inputs: handle

Add Taproot: AT Protocol to your AI client

Every block below points at https://mcp.atproto.at/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http taproot-at-protocol https://mcp.atproto.at/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "taproot-at-protocol": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.atproto.at/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "taproot-at-protocol": {
      "url": "https://mcp.atproto.at/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "taproot-at-protocol": {
      "type": "http",
      "url": "https://mcp.atproto.at/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "taproot-at-protocol": {
      "url": "https://mcp.atproto.at/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "taproot-at-protocol": {
      "serverUrl": "https://mcp.atproto.at/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "taproot-at-protocol": {
      "url": "https://mcp.atproto.at/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: Taproot: AT Protocol
version: 0.0.1
schema: v1
mcpServers:
  - name: Taproot: AT Protocol
    type: streamable-http
    url: https://mcp.atproto.at/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "taproot-at-protocol": {
      "httpUrl": "https://mcp.atproto.at/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "taproot-at-protocol": {
      "type": "http",
      "url": "https://mcp.atproto.at/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "taproot-at-protocol": {
      "url": "https://mcp.atproto.at/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fmcp.atproto.at%2Fmcp&type=streamable_http&id=taproot-at-protocol&name=Taproot%3A%20AT%20Protocol

Is Taproot: AT Protocol up right now?

It answered our last check on 19 October 2026 in 715 ms. Over 5 checks since 13 September 2026 it answered 5. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to Taproot: AT Protocol

Questions about Taproot: AT Protocol

How many tools does Taproot: AT Protocol have?

27, as returned by the server's own tools/list on 24 September 2026: count_records, count_repos_by_collection, describe_pds, get_account_history, get_app_link, get_backlinks, get_blob_info, get_did_document, and 19 more.

Is Taproot: AT Protocol down?

It answered our last check on 19 October 2026 in 715 ms. Over 5 checks since 13 September 2026 it answered 5.

How do I add Taproot: AT Protocol to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.atproto.at/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does Taproot: AT Protocol need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: com.atproto-mcp. Endpoint host: mcp.atproto.at. ARD identifier: urn:air:com.atproto-mcp:mcp:taproot. First indexed 13 September 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.