Skip to main content
Glama

list_cards

The published signed-card index (https://councilof.ai/signed/card_index.json): what the index declares (n_cards) and how many rows it actually carries, reported next to — never reconciled with — the count the card store endpoint (https://councilof.ai/api/cards) reports for itself. Two labelled numbers from two surfaces; if they disagree, this tool shows the disagreement rather than picking one. Optional filters return recent rows: axis, limit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
axisNoOnly list rows whose axis matches this name (case-insensitive).
limitNoHow many rows to include in the listing (newest first). Default 10. The two counts are always reported in full regardless of this limit.

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden. It discloses a key trait: the counts are 'reported next to — never reconciled with' and the tool 'shows the disagreement rather than picking one.' It also notes the counts are always reported in full regardless of the limit. It does not discuss auth, errors, or read-only status, but the core behavior is well covered.

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?

The description is appropriately sized for a tool with nuanced behavior, and it front-loads the core comparison before moving to disagreement handling and filters. The first sentence is dense and somewhat convoluted with URLs and em-dashes, but every clause carries useful information. Slight restructuring would improve readability without cutting content.

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

Completeness4/5

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

There is no output schema and no annotations, yet the description explains the two labelled numbers, their sources, the non-reconciliation behavior, and the optional row filters. It does not specify exact output field names or error behavior, but it gives enough context for an agent to invoke the tool and interpret the high-level result.

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?

The input schema covers all parameters (100%), with clear descriptions for axis and limit including case-insensitivity and default/maximum values. The description's mention of 'optional filters return recent rows: axis, limit' adds little beyond the schema. This matches the baseline 3 for high schema coverage.

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

Purpose4/5

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

The description clearly states what the tool does: it reports the signed-card index's declared count alongside the card store endpoint's own count, and optionally lists recent rows. It is specific about the two data surfaces and the disagreement-showing behavior. It does not explicitly name sibling tools or differentiate from them, so it falls short of a 5.

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

Usage Guidelines3/5

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

The description implies when to use the tool: when you want to see both counts side by side and detect disagreement without reconciliation. It also notes optional filters for recent rows. However, it never states when to prefer a sibling tool or provides explicit exclusions, leaving usage guidance mostly implicit.

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.

TDQS

A4.3/5.0
Disambiguation5/5

Each tool maps to a distinct operation: aggregate board totals, one axis row, a card leaf, the public root, the card index, signature verification, and inclusion verification. The descriptions carefully separate overlapping concepts such as measured vs. unmeasured, GSPC vs. public-root, and signature vs. inclusion, so an agent is unlikely to select the wrong tool.

Naming Consistency4/5

Most tools follow a clear verb_noun pattern: get_axis, get_card, get_root, list_cards, verify_card, verify_inclusion. board_totals breaks the pattern by using a noun phrase rather than an imperative verb, but the naming is still snake_case, readable, and not chaotic.

Tool Count5/5

Seven tools is well-scoped for a read-and-verify service: two GSPC board queries, three root/card retrieval or listing operations, and two verification checks. Each tool earns its place and there is no obvious redundancy.

Completeness5/5

The tool surface covers the full read/verify lifecycle: board totals, individual axes, root and card retrieval, card listing, signature verification, and merkle inclusion checks. Write or admin operations are not implied by the server's purpose, so there are no apparent dead ends.

Resources