MCP server
Taproot: AT Protocol MCP
com.atproto-mcp/taproot
Checked 26 Oct 2026, 08:29 UTC · Connected to it and listed its tools
Read public AT Protocol profiles, records, threads, backlinks and lexicons. No API key required.
Working at last checkVerified publisher: atproto-mcp.comAbout 6,041 tokens per request once connected27 tools
https://mcp.atproto.at/mcp
At a glance
- Type
- MCP server
- Publisher
- atproto-mcp.com (verified by the MCP Registry)
- Status
- Working at last check
- Tools
- 27
- Token cost
- About 6,041 tokens per request
- Sets up in
- Claude Code, Claude Desktop, Codex, Gemini CLI, Cursor, VS Code, Antigravity, ChatGPT, OpenAI API, Grok
- Last checked
- 26 Oct 2026, 08:29 UTC
Connect it to your agent
Opens the app, which shows the server and asks you to confirm. For other apps, copy the setup below.
Claude Code
claude mcp add --transport http taproot https://mcp.atproto.at/mcp
Claude Desktop
Settings → Connectors → Add custom connector, and paste the URL.
Codex (config.toml)
[mcp_servers.taproot] url = "https://mcp.atproto.at/mcp"
Gemini CLI
{"mcpServers":{"taproot":{"httpUrl":"https://mcp.atproto.at/mcp"}}}
Cursor
{"mcpServers":{"taproot":{"url":"https://mcp.atproto.at/mcp"}}}
VS Code
{"servers":{"taproot":{"type":"http","url":"https://mcp.atproto.at/mcp"}}}
Antigravity
agy mcp add taproot https://mcp.atproto.at/mcp
ChatGPT
Settings → Apps & Connectors → Advanced settings: turn on Developer mode, then Create a connector and paste the URL. Which plans can do this varies.
OpenAI API (Responses tools)
{"type":"mcp","server_label":"taproot","server_url":"https://mcp.atproto.at/mcp","require_approval":"always"}
Grok (xAI API tools)
{"type":"mcp","server_label":"taproot","server_url":"https://mcp.atproto.at/mcp"}
Tools
count_records~227 tokens
Count 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 lower-bound count and a cursor,call again with that cursor andcount_repos_by_collection~281 tokens
Count 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 cheap and returns an exact total for typical collections. For vdescribe_pds~133 tokens
Describe 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).get_account_history~116 tokens
An 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.get_app_link~116 tokens
Turn 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.get_backlinks~183 tokens
Index 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 only; each category also includes a `source` string. To list thget_blob_info~186 tokens
Get 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 learn what it is. Input is the owning repo (handle or DID) aget_did_document~126 tokens
Fetch 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.get_latest_commit~152 tokens
The 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. Complements get_repo_status (which has the rev but not the commit Cget_pds_directory_info~136 tokens
A 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 data.get_profile~183 tokens
Get an account's repository overview (handle, DID, PDS, and the list of collections it contains). Input is a handle or DID.get_record~187 tokens
Fetch a single record by its full at:// URI (must include collection and rkey). Returns the record's value, CID, and resolved identity.get_relay_directory_info~126 tokens
A 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.get_repo_status~126 tokens
Liveness/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.get_thread~283 tokens
Reconstruct 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,walked breadth-first and capped for cost. NOTE: descendant expalist_backlink_records~321 tokens
List 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 category `source`, then pass it here. To read WHAT a referencilist_blobs~236 tokens
List 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 'what media does this account host?'. Records reference bloblist_labelers~188 tokens
List 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.app and any third-party/regional labelers, then pass one tolist_records~193 tokens
List 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).list_repos~346 tokens
List 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 only (one request, large page — best for counting); pass enlist_repos_by_collection~425 tokens
Network-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 DIDs only (one request, large page); pass enrich=true to alsoquery_labels~305 tokens
What 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 found from its DID document (no hardcoded aggregator). Subject iresolve~302 tokens
Resolve 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 how specific the input is. PDS-agnostic: works for any AT Protresolve_lexicon~113 tokens
Explain 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.search_accounts~269 tokens
Search 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 a DID. Results are search CANDIDATES, not verified handle-tosearch_lexicons~646 tokens
Browse 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 containing 'profile'); prefix the query with a DOT for a suffiverify_handle~136 tokens
Bidirectionally 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 cryptographic binding.
Browse
Related MCP servers
- the drain
Plain-text security bulletin board for AI agents: read, search, post, reply. No auth to read. - Machine Realms
Machine-native research commons for agent evidence, discovery, rooms, and bounded research quests. - SEOPro AI
Turn Search Console data into SEO actions, content, publishing, indexing, and AI insights. - FUTIA
SEO answers for AI agents: Search Console reads free, plus competitor, keyword, backlink, SERP data. - Crawlgraph
CrawlGraph MCP — backlink intelligence on the public Common Crawl webgraph - Seo Backlinks
SEO Backlinks MCP — backlink intelligence via DataForSEO Backlinks API - marketinque — launch plan & backlink index
A 361-step SaaS launch plan and 958 backlink sources as tools an agent reads, acts on and records. - Rankparse
SEO MCP server — backlinks, domain authority, tech stack, and 18+ tools via Common Crawl.
Badge for your README
[](https://aptlynx.net/servers/com.atproto-mcp/taproot)
Listing text is written by the maker; AptLynx lists tools and does not vouch for them. Find another tool · Browse by topic · For agents