Skip to main content
Glama
SemanticDataCharter

sdcgovernance

Official

list_decision_tables

Lists registered decision tables and filters them by table_id or domain; includes version JSON to resolve receipt table IDs and versions to the rules that applied.

Instructions

List the registered decision tables: table_id, version, table_hash, domain, policy and registered_at for each version, lowest version first. Filter by table_id or domain. With table_id the full table JSON of each version is included, which is how a receipt's table_id and table_version are resolved back to the rules that applied.

Input Schema

NameRequiredDescriptionDefault
domainNoOnly tables registered under this domain.
table_idNoOnly this table's versions, with their JSON.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv4.3.1

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does well: it discloses the ordered result set (lowest version first) and the important conditional behavior that supplying table_id expands each row to include full table JSON. It omits payload-size/pagination implications of that expansion and any permission or scope constraints, so not a 5.

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

Conciseness5/5

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

Two dense sentences: return shape and ordering first, filtering second, and the receipt-resolution rationale last. No filler and no restatement of the tool name.

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?

For a read-only listing tool with no output schema, the description supplies the returned field set, ordering, and conditional payload expansion, which is most of what an agent needs. It stops short of covering the unfiltered case and the potentially large full-JSON response when table_id is given.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds meaning beyond the schema: it frames table_id as the receipt-resolution path and confirms that domain narrows the version list. It does not clarify behavior when both parameters are supplied together or that filters are optional.

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 registered decision tables) and enumerates exactly what is returned per version: table_id, version, table_hash, domain, policy, registered_at. It is clearly separable from siblings such as register_decision_table (write side) and evaluate_decision (evaluation), so an agent can pick it without opening the 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 concrete usage context: use it to filter by table_id or domain, and specifically to resolve a receipt's table_id/table_version back to the rules that applied. It does not state when not to use it or what to do if neither filter is supplied (full registry dump), which keeps it below 5.

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