Skip to main content
Glama

Taproot: AT Protocol MCP

list_repos

Read-only

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 enrich=true to also resolve handles (slower, smaller page). Input is the PDS origin (e.g. https://pds.example.com). Works for any PDS.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pdsYesA PDS origin URL, e.g. https://pds.example.com.
limitNoPage size (1-1000, default 1000). With enrich=true the effective page is capped near 20 (each DID is resolved to a handle). Use the returned cursor for the next page.
cursorNoPagination cursor from a previous call.
enrichNoResolve each DID to its handle. Default false — returns DIDs only in ONE request (large page, the fast path for listing/counting). Set true only when you need handles (slower, smaller page).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnlyHint and openWorldHint; the description adds substantial behavioral context beyond that — the default single-request DID-only fast path, the slower/smaller enrich path with its effective ~20 page cap, and the pagination contract. This is exactly the kind of tradeoff detail annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and lexicon, then flows into usage, defaults, and input format with little waste. Slightly dense with a few near-redundant asides (e.g. 'Works for any PDS'), but each sentence roughly earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paginated listing tool with an output schema (which handles return-value description), the description covers purpose, default vs enrich behavior, pagination via cursor, and expected input format. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents pds, limit, cursor, and enrich including defaults and the enrich/limit interaction. The description largely restates that (DIDs-only default, enrich resolving handles) and adds only the 'best for counting' rationale, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List the accounts (repositories) hosted on a PDS'), names the underlying lexicon, and specifies what each result contains (DID and active/takedown status, paginated). An agent can distinguish it from siblings like list_repos_by_collection or list_records without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear usage framing ('who is hosted on this PDS?' / counting) and an explicit when-to-use for enrich ('pass enrich=true only when you need handles'). It does not, however, explicitly name or exclude sibling alternatives such as list_repos_by_collection or search_accounts, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources