Skip to main content
Glama

Council of AI GSPC

Server Details

19 tools (14 free, 5 x402-metered): GSPC board, evidence, Ed25519 card verify. Measurement only.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 43 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

B3.1/5.0

Scored across 54 tools

Disambiguation2/5

The ~37 `axis_*` tools are functionally one operation (return a row for a given axis) and are fully duplicated by `get_axis`, which is parameterised by axis id; an agent cannot tell when to use a per-axis tool versus `get_axis`, and the descriptions are identical boilerplate apart from the axis name. Several other clusters blur together: `get_card` vs `verify_card` vs `list_cards` vs `verify_inclusion` all operate on the signed-card corpus, and `evidence_bundle` vs `evidence_bundle_preview` differ only by payment. Only the paid evidence packs (art50, rwa, receipts_batch) and the board totals are cleanly distinct.

Naming Consistency2/5

Mostly snake_case, but the same axis family mixes conventions internally (`axis_affect`, `axis_care` alongside `axis_ai-adoption-components`, `axis_art5-safeguard`, `axis_cross-reality`), so hyphens and underscores collide in one namespace. Many tools are bare nouns with no verb (`route`, `board_totals`, `framework_readiness`, `commission_card`, `measurement_index`), while others use get_/list_/verify_ prefixes, so there is no predictable pattern to infer a tool's action.

Tool Count1/5

54 tools is extreme for this surface, and roughly 37 of them are per-axis duplicates of the single `get_axis` tool, which already covers every axis by id. The redundancy inflates the tool list without adding capability, forcing the model to scan dozens of near-identical entries before reaching the handful of genuinely different operations.

Completeness3/5

The surface is broad — verification, card retrieval, evidence bundles, paid measurement packs, framework checklists, board totals — and most read paths are covered with explicit three-state error semantics. However, there are notable gaps: no way to enumerate valid axis ids or obligations (you must already know the exact string), no tool to fetch a capsule by id for `verify_capsule`, and no settlement/receipt-status check to reconcile a PAID_NOT_DELIVERED outcome.

Available Tools

54 tools
art50_marking_evidenceArticle 50 marking evidence (paid, x402; preview free)AInspect

PAID (x402 or CSOAI LTD invoice). Article 50 marking-evidence pack via https://councilof.ai/api/art50/marking-evidence: which machine-readable marks the named methods DETECT in these bytes right now. Scope: C2PA and IPTC metadata only (C2PA manifest store, assertion hashes, hard binding, claim signature; IPTC digitalSourceType); no watermark, fingerprint or other kind of mark is read. NOT_DETECTED is not unmarked: Article 50(2) is technology-neutral, so a mark this pack cannot read may be present, and metadata is often stripped on re-save. Disclosure: CSOAI is a member of the C2PA, whose specification is one of the two methods read. The pack carries the verbatim Art 50(2) text hash and the dates it turns on. Point-in-time detection — never a conformity opinion, never a compliance word of any kind. preview=true is free and returns the same measurement unsigned. Without x_payment the tool returns the 402 challenge. If the route is not deployed on this origin the tool says NOT_DEPLOYED rather than inventing a result.

NameRequiredDescriptionDefault
urlNoPublic HTTP(S) URL of the generative output to measure (≤20 MiB). The server fetches only this declared measurement subject.
previewNotrue = free unsigned measurement (no card sha, no signature).
bytes_b64NoAlternatively the output bytes, base64 (≤20 MiB decoded).
x_paymentNoThe X-PAYMENT header value signed against accepts[] from the previous 402. Omit to receive the challenge.
manifest_b64NoAlternatively a detached C2PA manifest store, base64 (manifest-only mode).

Output Schema

NameRequiredDescription
toolNo
routeNo
statusYesPAYMENT_REQUIRED, DELIVERED, NOT_DEPLOYED, UNREACHABLE, UNREADABLE_RESPONSE, BAD_ARGUMENTS or HTTP_<code>
acceptsNo
resourceNo
deliverableNo
http_statusNo
x402VersionNo
delivery_stateNo
settlement_stateNo
payment_presentedNo
not_a_certificationNo

TDQS

A4.4/5.0
Behavior5/5

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

With annotations present (readOnlyHint=false, openWorldHint=true), the description goes well beyond them: it discloses the paid x402 flow, the 402 challenge behavior, the point-in-time/caveat semantics (NOT_DETECTED != unmarked, metadata often stripped), the C2PA membership disclosure, and the explicit refusal to render conformity/compliance opinions.

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?

Dense but front-loaded, leading with PAID and the core detection claim before scope, caveats and payment mechanics. Most sentences carry distinct weight, though the run-on structure and repetition of the payment/preview point cost it a top score.

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?

An output schema exists, so return values need not be explained. The description covers the remaining burden for a paid, network-fetching, point-in-time measurement tool: scope limits, failure modes, payment handshake and evidentiary caveats are all present.

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% with zero required parameters, so the schema already documents url, preview, bytes_b64, x_payment and manifest_b64. The description reinforces the payment semantics (x_payment omission yields the challenge; preview is free/unsigned) but adds no syntax or format detail beyond the schema.

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?

Names a specific verb (measure/detect) and resource (Article 50 marking-evidence pack) and immediately bounds the scope: 'which machine-readable marks the named methods DETECT in these bytes right now. Scope: C2PA and IPTC metadata only.' It explicitly excludes watermark/fingerprint marks, so an agent can tell it apart from other evidence tools.

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 operating conditions: preview=true is free and unsigned, omitting x_payment returns the 402 challenge, and an undeployed route returns NOT_DEPLOYED. It does not, however, explicitly route the agent among siblings such as evidence_bundle, rwa_evidence, or server_evidence.

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

axis_affectaffect axis (live GSPC board)B
Read-onlyIdempotent
Inspect

The affect axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely useful semantics on top: an unmeasured axis is a first-class answer, published deliberately so the gap is visible, never an error and never a zero — and explicitly not a certification. That is exactly the kind of interpretive context annotations cannot carry.

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

Conciseness3/5

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

The resource identity is front-loaded, which is good, but the opening is one long comma-spliced sentence enumerating returned fields, and the disclaimer tail ('never an error and never a zero. Never a certification.') is fragmented. Every clause earns its place, but the structure could be considerably tighter.

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

Completeness3/5

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

An output schema exists, yet the description still spends most of its length listing return fields rather than explains when to pick this axis over its siblings or what the affect axis is for. The interpretive rule about unmeasured rows is valuable, but routing information is entirely absent for a tool embedded in a 40-tool family.

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?

Zero parameters, so the baseline is 4. The description reinforces this by stating the tool 'takes no argument', which prevents any attempt to pass a filter or axis id, though it could have added a word about how to target a specific run or date.

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

Purpose3/5

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

The description names the resource precisely ("the affect axis of the live GSPC board") and distinguishes it from the many axis_* siblings by which axis it is. But it never explains what the 'affect' axis measures, so an agent can tell which tool this is, not what concept it represents or how it relates to get_axis / get_card.

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

Usage Guidelines2/5

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

There is no statement of when to call this versus get_axis, get_card, board_totals, or the forty-odd other axis_* tools. The only selection cue is the axis name itself, which an agent must already understand to choose correctly.

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

axis_ai-adoption-componentsai-adoption-components axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The ai-adoption-components axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavior beyond those annotations: an unmeasured axis is 'a first-class answer... never an error and never a zero,' and 'Never a certification.' This clarifies the critical edge case and semantic boundary.

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

Conciseness3/5

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

The description is front-loaded with the purpose, and the unmeasured/certification sentences earn their place. However, the long first sentence enumerates output fields (n, accuracy, interval, status, family, kind, URL, dates) that are already available in the output schema, making it bloated for an agent that can inspect structured data.

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 simple, no-parameter, read-only retrieval with rich annotations and an output schema, the description is nearly complete. The unmeasured-case semantics and certification disclaimer add crucial context. The only notable gap is the lack of sibling routing (e.g., get_axis), which could matter when an agent needs an arbitrary axis.

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?

There are zero parameters, so the baseline is 4. The description explicitly reinforces this: 'takes no argument,' which is consistent with the empty input schema and additionalProperties=false.

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?

States the specific resource (ai-adoption-components axis) and that it is a fixed, no-argument endpoint on the live GSPC board. The name and description make the tool's identity clear. However, it does not explicitly differentiate this from the sibling get_axis or other axis_* tools, leaving the agent to infer the distinction from the tool name alone.

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 phrase 'this tool IS the axis, so it takes no argument' implies usage for this specific axis, but there is no explicit guidance on when to use this versus get_axis (which likely accepts an axis parameter) or board_totals. The alternative is not named, so the agent must infer the routing.

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

axis_art5-safeguardart5-safeguard axis (live GSPC board)B
Read-onlyIdempotent
Inspect

The art5-safeguard axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so safety is covered. The description adds important behavioral context: an unmeasured axis is a first-class answer (not an error or zero), the gap is published visibly, and the result is 'never a certification.' These are meaningful traits beyond the annotations.

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 front-loads the resource and URL, then explains the no-argument nature and returned fields, followed by behavioral notes. It is a single paragraph with dashes and is reasonably efficient, though slightly dense and could be structured more clearly.

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?

Given the tool's simplicity (read-only, no parameters) and the presence of an output schema, the description covers what is needed: it identifies the axis, lists the fields, and explains the unmeasured-status behavior. It does not detail how to interpret the returned measures, but the output schema likely handles structure.

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?

The tool takes no parameters, so there is nothing to document. The description redundantly states it 'takes no argument,' which is harmless but adds no value over the empty schema. Baseline 4 is appropriate for a zero-parameter tool.

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

Purpose3/5

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

The description identifies the resource as 'the art5-safeguard axis of the live GSPC board' and lists the data fields it exposes, but it does not use a clear action verb (e.g., 'return' or 'fetch') and does not distinguish this tool from the sibling get_axis or other axis_* tools. The agent can infer it retrieves axis data, but the purpose is not crisply stated.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives like get_axis, board_totals, or other axis endpoints. It explains that the tool 'takes no argument' but says nothing about choosing this specific axis or the conditions under which it should be called.

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

axis_carecare axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The care axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A4.7/5.0
Behavior5/5

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

It goes beyond annotations by detailing the nature of the data, specifically that an 'unmeasured axis' is a first-class, valid state ('never an error and never a zero'), which is critical behavioral context.

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 dense, but highly effective. The information is front-loaded with the identity of the tool and is structured to explain complex concepts (unmeasured status) logically.

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?

The definition is extremely complete for a complex, zero-parameter tool. It defines not only what the tool is but also the philosophical implications of its output (e.g., gap visibility vs. error state), providing comprehensive operational context.

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

Parameters5/5

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

Despite the input schema being empty, the description explicitly lists seven potential filters (e.g., 'accuracy,' 'family,' 'dates'). This explains the 'semantics' of the data structure even if the tool doesn't currently support them, greatly aiding agent understanding.

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?

The description explicitly states that the tool represents 'the care axis' of the live GSPC board, clearly defining the resource and its function.

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?

Since the tool takes no arguments, usage guidance centers on what the tool *is* (the axis) and doesn't require external parameters to function. It clearly defines the unique nature of its output.

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

axis_claim-maintenanceclaim-maintenance axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The claim-maintenance axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint), so the description earns credit for adding semantics beyond them: an unmeasured axis is 'a declared slot with no run behind it, published so the gap is visible — never an error and never a zero.' That is genuinely non-obvious behavior an agent would otherwise misread as failure or as a null metric, and 'Never a certification' bounds interpretation. It stops short of describing pagination, freshness, or failure modes for the live HTTP endpoint.

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 sentences, front-loaded with the identity and the no-argument guarantee before the interpretation rules. Every clause carries information — the field list, the URL, the unmeasured semantics, the certification caveat — with no filler or restatement of the title.

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?

With an output schema present, the description need not explain return values, yet it still sketches the row shape, which helps the agent decide whether to call. For a zero-param read-only tool this is nearly complete; the only omission is what an agent should do next when the axis is unmeasured or how this differs from get_axis.

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?

Zero parameters, so the baseline is 4; the description reinforces this by explicitly stating the tool takes no argument, which prevents an agent from inventing an axis-name argument. No further parameter detail is possible.

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 names the specific resource (the claim-maintenance axis of the live GSPC board at a concrete URL) and enumerates exactly what a row carries: n, accuracy, interval, status, family, kind, artifact URL, dates. That is far more than a restatement of the name. It does not, however, contrast itself with the many sibling axis_* tools or with get_axis, so an agent cannot tell from this text alone which of the two to reach for when it wants 'the claim-maintenance axis'.

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?

Usage is implied rather than stated: 'this tool IS the axis, so it takes no argument' tells the agent this is the zero-argument direct fetch, and the unmeasured-axis paragraph tells it how to interpret a gap result. There is no explicit when-to-use/when-not, no mention of get_axis, measurement_index, or any sibling as an alternative, and no statement of what to do if the agent actually wants a different axis.

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

axis_company-practicecompany-practice axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The company-practice axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive and open-world, so the safety profile is done. The description adds genuinely non-structured behavior: missing measurements are published as declared gaps rather than errors or zeros, and the output is explicitly not a certification. That pre-empts two plausible agent misinterpretations. It stops short of saying whether rows are paginated or how staleness is signalled.

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 identity of the axis, then the no-argument fact, then the field inventory, then the two interpretive caveats. Every sentence carries content and nothing repeats the schema. The field enumeration is dense but scannable; the final two-sentence caveat block is slightly long relative to the first.

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 zero-argument, read-only tool with an output schema and full annotation coverage, this is close to complete: the agent knows what the axis is, that it needs no input, what a row contains, and how to treat missing data. The one thing left unstated is the relationship to the aggregate and retrieval siblings (board_totals, get_axis), which would help an agent sequence calls.

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?

Zero parameters, which sets a baseline of 4, and the description reinforces it by stating outright that the tool takes no argument. The field list it gives is about the returned row, not inputs, so it neither helps nor hurts input semantics. No gap to compensate for.

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?

Names a specific resource: the company-practice axis of the live GSPC board, and enumerates the fields the row carries (n, accuracy, interval, status, family, kind, source URL, dates). Against ~35 sibling axis_* tools, the qualifier 'company-practice' is what distinguishes it, and 'this tool IS the axis, so it takes no argument' removes ambiguity about scope. It does not explicitly contrast with get_axis or board_totals, which keeps it 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?

No explicit statement of when to choose this over get_axis, board_totals, or the other axis_* siblings; the name is the only routing signal. What it does supply is interpretive guidance: an unmeasured axis is a first-class answer, not an error and not a zero, which tells the agent how to read the result. That is usage-adjacent, but it never names an alternative or a condition for exclusion.

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

axis_conformanceconformance axis (live GSPC board)B
Read-onlyIdempotent
Inspect

The conformance axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, open-world, non-destructive, so the safety bar is covered. The description adds non-obvious semantics beyond them: it takes no argument, an unmeasured axis is a declared slot rather than an error or a zero, and the output is explicitly 'never a certification' — all of which prevent misreading of empty results.

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

Conciseness3/5

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

The no-argument constraint and the unmeasured-axis rule are front-loaded and earn their place, but the mid-sentence catalogue of fields (n, accuracy, interval, family, kind, URL, dates) is an unstructured list that duplicates the output schema. The closing 'Never a certification' is terse to the point of being cryptic out of context.

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?

An output schema exists, so return shape need not be explained, and the read-only/open-world annotations cover the safety profile; the description supplies the one semantic an agent could not infer, namely how to treat a measured-less axis. What is missing is routing guidance relative to the many sibling axis tools.

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?

With zero parameters and 100% schema coverage, the baseline is 4. The description reinforces this by stating the tool 'takes no argument' and by explaining that the axis identity/dimensions come back in the response rather than as inputs.

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

Purpose3/5

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

The description identifies the resource ('the conformance axis of the live GSPC board') and enumerates the row fields it carries, but the operative verb is only 'this tool IS the axis', which is descriptive rather than action-oriented. It does not distinguish itself from near-identical siblings like axis_interop-conformance or get_axis.

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

Usage Guidelines2/5

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

There is no explicit statement of when to call this versus get_axis, measurement_index, or the other axis_* tools; the reader must infer that it retrieves one specific axis row. The 'unmeasured is a first-class answer' note is about interpreting output, not about selecting this tool over alternatives.

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

axis_continuitycontinuity axis (live GSPC board)B
Read-onlyIdempotent
Inspect

The continuity axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: an unmeasured axis is a declared slot with no run behind it, is 'never an error and never a zero', and results are 'never a certification'. That materially shapes how an agent should interpret empty-looking output.

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

Conciseness3/5

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

Front-loaded with the resource identity, but the phrase 'takes no argument: n, accuracy, interval, ...' is structurally confusing — it reads as if those were arguments before it becomes clear they are returned fields. The field enumeration duplicates what the output schema already provides.

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

Completeness3/5

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

An output schema exists, so return fields needn't be spelled out, and annotations cover safety. What remains missing is the meaning of 'continuity' as a measured dimension and how this axis relates to the sibling axis tools and board_totals — the agent still cannot reason about when this axis is the right one.

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?

Zero parameters, so the baseline is 4. The description correctly reinforces that no arguments are accepted, which is consistent with the empty schema with additionalProperties=false.

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

Purpose3/5

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

It names a specific resource ('the continuity axis of the live GSPC board') and gives its source URL, so the agent knows it is fetching one axis of one board. But 'axis' and 'continuity' are unexplained jargon, and with 30+ sibling axis_* tools the description never says what distinguishes continuity from affect, safety, provenance, etc. The 'this tool IS the axis' framing partly restates the name.

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

Usage Guidelines2/5

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

The only usage guidance is negative ('takes no argument'). It never says when to reach for this versus get_axis, board_totals, measurement_index, or get_card, all of which appear to surface overlapping board data. The one useful rule — an UNMEASURED axis is a valid answer — is semantic, not routing guidance.

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

axis_cross-realitycross-reality axis (live GSPC board)B
Read-onlyIdempotent
Inspect

The cross-reality axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description adds non-obvious behavioral semantics beyond the annotations: unmeasured axes are published as declared slots with visible gaps, are never errors and never coerced to zero, and the output is 'never a certification' — meaningful interpretive context for an agent reading results.

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

Conciseness3/5

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

It is a single dense block that front-loads the resource and URL, and every clause roughly earns its place, but 'this tool IS the axis' is conceptually cute and the enumeration of return fields (n, accuracy, interval, family, kind, URL, dates) is partly redundant with the existing output schema. Readability suffers from the run-on structure.

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?

With annotations covering safety, an output schema covering return shape, and zero params, the description's remaining burden is interpretive semantics — which it supplies via the unmeasured-as-first-class-answer and 'never a certification' caveats. Only the failure to position itself against sibling axes keeps it from a 5.

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?

The tool takes zero parameters, so the baseline is 4. The description also clarifies why ('takes no argument'), which correctly sets the expectation that no filtering or identification argument is needed.

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

Purpose3/5

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

The description identifies a specific resource (the cross-reality axis of the live GSPC board) and enumerates the row fields it surfaces, but never states a clear verb like 'returns' or 'reads' — 'this tool IS the axis' is a conceptual framing rather than an action. With ~30 sibling axis_* tools plus get_axis, it offers no differentiation about what makes 'cross-reality' distinct from the others beyond the name.

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

Usage Guidelines2/5

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

It explains how to interpret an unmeasured result (first-class answer, never an error or zero), which is genuinely useful usage context, but it gives no guidance on when to call this versus get_axis, board_totals, or any other axis tool. There are no exclusions or alternatives named despite a dense sibling set.

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

axis_custody-disclosurecustody-disclosure axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The custody-disclosure axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive and open-world traits, so the bar is lower; the description still adds real value by declaring that an UNMEASURED axis is a first-class published answer, 'never an error and never a zero,' which prevents an agent from treating a gap as failure. It also states it is 'never a certification,' a meaningful scope disclaimer. It does not mention auth, rate limits, or payload size.

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?

Identity and the no-argument rule are front-loaded, followed by the field enumeration and the unmeasured semantics. The long em-dash construction with the field list is dense but every clause carries information; the 'never a certification' disclaimer earns its place as a scope boundary.

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?

With zero parameters, an output schema present, and full annotation coverage, the description supplies everything needed: where the data lives (the board URL), what an unmeasured row means, and the non-certification caveat. The only gap is the absence of any pointer to sibling tools (get_axis, board_totals) that an agent might reasonably consider first.

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?

The tool takes zero parameters, which is the baseline-4 case. The description reinforces this by stating it takes no argument, exceeding what the empty schema communicates on its own.

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 names a specific resource (the custody-disclosure axis of the live GSPC board) and enumerates the fields it exposes (n, accuracy, interval, MEASURED/UNMEASURED status, family, kind, artifact URL, dates), which effectively identifies it as a single-axis read tool. The resource name distinguishes it from the many sibling axis_* tools. The odd phrasing 'this tool IS the axis' obscures the verb slightly, and it never mentions get_axis, the obvious generic sibling.

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?

'This tool IS the axis, so it takes no argument' tells the agent it can be called with empty input, and the unmeasured-axis clause gives interpretation guidance. But there is no explicit when-to-use rule and no routing versus alternatives such as get_axis, board_totals, or other axis_* tools. Usage is only implied by the resource identity.

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

axis_detector-interopdetector-interop axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The detector-interop axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the burden is light, but the description adds genuine semantics beyond them: an unmeasured axis is a first-class declared slot, never an error and never a zero. That is exactly the kind of behavior an agent would otherwise mis-handle (treating empty data as failure). The 'never a certification' disclaimer further sets expectations on the payload's authority.

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?

One front-loaded sentence establishes the resource and the no-argument contract, followed by the field list and then the unmeasured semantics. The field enumeration is dense but every clause carries information; nothing is padded.

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?

An output schema exists, so the description need not explain return shape, and it covers the one behavioral edge case (declared-but-unmeasured) that a schema cannot express. The remaining gap — how this axis relates to the get_axis sibling — is the only thing an agent is left guessing about.

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?

Zero parameters, so the baseline is 4. The description reinforces this by stating the tool IS the axis and takes no argument, which prevents an agent from inventing filter parameters such as an axis name.

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 names the specific resource — the detector-interop axis of the live GSPC board at a concrete URL — and enumerates the row contents (n, accuracy, interval, status, family, kind, artifact URL, dates), so an agent knows exactly what comes back. It lacks an explicit verb and never distinguishes itself from the sibling get_axis, so a reader must infer whether this is a fetch of one axis vs. a generic axis getter.

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

Usage Guidelines2/5

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

There is no statement of when to call this versus get_axis, axis_interop-conformance, or measurement_index, all of which sit in the sibling list and plausibly overlap. The only usage-shaped information is the negative constraint 'takes no argument', which tells the agent nothing about selection.

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

axis_distribution-integritydistribution-integrity axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The distribution-integrity axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent/non-destructive, so the bar is lower. The description adds real behavioral context beyond them: unmeasured slots are first-class and published rather than raised as errors, values are never zero-filled, and the result is explicitly 'never a certification'. What is missing is any note on whether output is a snapshot or live-refreshed.

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?

Identity and URL are front-loaded and the field enumeration is compressed into one list; the em-dash clause carries the important unmeasured-is-not-an-error rule. Slightly dense and comma-chained, but nothing is wasted.

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

Completeness3/5

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

An output schema exists, so the enumerated return fields are somewhat redundant and the description needn't explain return shape. The more important gap is relational: among ~30 sibling axis tools plus `get_axis`, the description does not establish why an agent should pick this one directly rather than through the generic axis accessor.

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?

Zero parameters, so the baseline is 4. The description reinforces this by stating explicitly 'this tool IS the axis, so it takes no argument', which removes any doubt an agent might have about needing to pass an axis identifier.

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?

Names a specific resource (the distribution-integrity axis of the live GSPC board), gives its base URL, and enumerates the returned fields (n, accuracy, interval, MEASURED/UNMEASURED, family, kind, artifact URL, dates). It is clear what an agent gets back, though the distinction from the sibling `get_axis` tool is left implicit.

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?

States the tool takes no argument and that an unmeasured axis is a valid answer, which is useful invocation context. However, it never says when to call this axis tool versus `get_axis`, `board_totals`, or `measurement_index`, and no alternatives or exclusions are named.

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

axis_effect-bindingeffect-binding axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The effect-binding axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds non-obvious semantics that structured fields cannot: an unmeasured axis is a first-class published answer, never an error and never a zero, and the output is never a certification. That is real behavioral context an agent would otherwise mis-handle.

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 identity and URL, then the field list, then the unmeasured rule. Dense but every clause earns its place except the mild redundancy of listing return fields when an output schema already exists.

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?

Output schema exists, so return values needn't be described, yet the field list is harmless framing. Annotations cover safety. The one gap is the absence of routing guidance among the many sibling axis tools, which leaves selection partly on naming convention.

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?

Zero parameters, which is the baseline 4. The description explicitly confirms 'it takes no argument', removing any doubt an agent might have about needing to supply an axis id.

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?

Identifies itself precisely as the effect-binding axis of the live GSPC board and enumerates the fields a row carries (n, accuracy, interval, status, family, kind, URL, dates). Sibling axes follow the same naming pattern, so the title alone disambiguates; the description reinforces it but doesn't explain how this differs from get_axis or measurement_index.

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

Usage Guidelines2/5

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

No statement of when to fetch this axis versus the sibling get_axis or measurement_index endpoints, and no prerequisites or exclusions. The only guidance is internal semantics of the unmeasured case, which is about interpreting the result, not choosing the tool.

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

axis_governancegovernance axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The governance axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely non-obvious semantics beyond them: an UNMEASURED axis is a first-class published answer, never an error and never a zero — which changes how an agent should interpret and report the result. 'Never a certification' is a useful but unexplained caveat.

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

Conciseness3/5

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

Front-loading the identity of the axis is good, but 'this tool IS the axis' is puzzling filler, and the long em-dash enumeration of output fields largely duplicates what the output schema already provides. It is not padded, but it is denser and less cleanly structured than it needs to be.

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?

With a rich annotation set, a zero-argument schema and an output schema that carries the return shape, the description covers the remaining gaps: what the row represents and how to read an UNMEASURED slot. Only the relationship to get_axis and the other axis tools is left unaddressed.

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?

Zero parameters, so the baseline is 4; the description correctly reinforces this with 'it takes no argument', removing any temptation to pass filters. No further parameter meaning is needed.

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 identifies the resource precisely — the governance axis of the live GSPC board at councilof.ai/api/gspc — and enumerates the row fields (n, accuracy, interval, MEASURED/UNMEASURED status, family, kind, artifact URL, dates), so an agent knows what it gets back. The verb is only implied (never says 'returns' or 'reads'), and nothing distinguishes it from get_axis or the many axis_* siblings beyond the name itself.

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

Usage Guidelines2/5

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

There is no when-to-use guidance: no statement of why an agent would call axis_governance rather than get_axis, board_totals, or a neighbouring axis_* tool. The 'takes no argument' remark is about mechanics, not selection, so the agent must infer routing from the name alone.

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

axis_harness-fidelityharness-fidelity axis (live GSPC board)B
Read-onlyIdempotent
Inspect

The harness-fidelity axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint), so the bar is lower. The description adds genuinely useful semantics beyond that: an unmeasured axis is a declared slot with no run, never an error and never a zero, and never a certification. That is real behavioral context about what a returned row means, though nothing about freshness, caching, or rate limits.

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 identity of the axis, then the field enumeration, then the unmeasured-state caveat. The closing 'never an error and never a zero. Never a certification.' is terse and purposeful rather than padded.

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?

An output schema exists, so the field enumeration is partly redundant, but the description still supplies the source URL for the live board and the crucial semantics of an UNMEASURED row, which a schema alone would not convey. Adequate for a zero-parameter read tool.

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?

Zero parameters, so the baseline applies; the description correctly explains that no argument is taken because the tool is bound to a single fixed axis. Nothing left to document.

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 names the specific resource (the harness-fidelity axis of the live GSPC board) and enumerates what the row contains (n, accuracy, interval, status, family, kind, URL, dates), which distinguishes it from the many sibling axis_* tools by domain rather than by a verb. The operation itself is only implied ('this tool IS the axis'), so the agent must infer that it reads one axis record.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus get_axis, axis_serving-fidelity, or the other axis siblings — the reader must infer from the name alone. The only procedural guidance is 'it takes no argument', which is about invocation, not selection.

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

axis_humanoid-deploymenthumanoid-deployment axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The humanoid-deployment axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), so the description adds semantics beyond them: an unmeasured axis is a declared slot with no run behind it, 'never an error and never a zero,' and the result is 'never a certification.' That prevents concrete misreadings of the payload. It does not mention rate limits, caching, or freshness beyond 'live'.

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 identity and scope, then the field inventory, then the interpretation caveat. Dense but every clause carries information; the only redundancy is restating the axis/title phrasing twice in the opening sentence.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the description is adequate for calling the tool. What it omits is the sibling landscape: with ~35 axis_* tools plus get_axis, the agent has no basis for choosing this one over axis_humanoid-labour-index or the generic axis reader.

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?

Zero parameters, so the baseline is 4. The description is consistent with the empty schema, explicitly saying the tool takes no argument, which reinforces that the agent should not invent filters.

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?

States a specific resource — 'the humanoid-deployment axis of the live GSPC board' — and enumerates what the axis carries (n, accuracy, interval, MEASURED/UNMEASURED status, family, kind, artifact URL, dates). It also clarifies the tool is the axis itself rather than a lookup, which implicitly separates it from argument-taking readers. However, it never distinguishes itself from the very similar sibling axis_humanoid-labour-index or from get_axis, so an agent must guess which of the near-identical names to pick.

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?

'This tool IS the axis, so it takes no argument' conveys usage implicitly: call it directly to read this axis. The unmeasured-is-a-first-class-answer sentence also warns against treating a gap as failure. But there is no explicit when-to-use/when-not guidance versus get_axis or axis_humanoid-labour-index, so routing between siblings is left to inference.

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

axis_humanoid-labour-indexhumanoid-labour-index axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The humanoid-labour-index axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the description's job is semantic context — and it delivers: no arguments are taken, an UNMEASURED axis is a declared gap rather than an error or a zero, and the output is never a certification. These are non-obvious behavioural facts an agent could not infer from the schema. It stops short of noting the canonical board URL's freshness or access characteristics.

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?

One front-loaded sentence establishes identity and the no-argument constraint, followed by the payload list and two short caveats. Nothing is padded, but the middle field list is dense and jargon-heavy, and the trailing fragment 'Never a certification.' would read better attached to the preceding caveat.

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

Completeness3/5

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

An output schema exists, so the tool needn't explain return values — yet it lists field names without defining them (what 'n', 'accuracy', 'interval', 'family', 'kind' mean or how they relate). Given a zero-argument tool whose only real failure mode is misselection among dozens of sibling axes, the absence of any disambiguation leaves a genuine gap.

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?

Zero parameters, so the baseline is 4. The description reinforces this by explicitly saying the tool takes no argument, pre-empting an agent from inventing or hunting for parameters. The field list it provides actually describes the return payload, not inputs, so it adds no real parameter meaning beyond the empty schema.

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 names a specific resource (the humanoid-labour-index axis of the live GSPC board) and enumerates exactly what a row contains (n, accuracy, interval, MEASURED/UNMEASURED status, family, kind, bank or run-artifact URL, dates). That is far more than a restatement of the title. However, with ~34 sibling axis_* tools including near-neighbours like axis_labour-components and axis_humanoid-deployment, it offers no differentiation from them.

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?

Usage is implied rather than stated: read this tool to obtain the humanoid-labour-index row. There is no explicit guidance on when to prefer it over get_axis, measurement_index, board_totals, or the closely related labour/humanoid axis siblings. The clarification that an unmeasured result is a legitimate answer does usefully shape interpretation, but not selection.

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

axis_interop-conformanceinterop-conformance axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The interop-conformance axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, open-world, non-destructive, so the bar is lower — yet the description adds real semantics: an unmeasured axis is a 'first-class answer', 'never an error and never a zero', plus the 'Never a certification' disclaimer about what the data is not. That is genuine context an agent cannot get from the annotations.

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?

One dense, front-loaded sentence that opens with what the tool is and how to call it. The clause list of fields is long but each item earns its place; only the 'this tool IS the axis' phrasing is slightly redundant.

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?

An output schema exists, so return values needn't be spelled out, yet the description still names the key fields and — more importantly — explains how to interpret an unmeasured row. Complete for a no-arg, read-only axis lookup.

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?

Zero parameters, so the baseline is 4; the bundle is empty and additionalProperties=false, and the description confirms the tool takes no argument. It spends its words on return fields instead, which is appropriate for a no-arg tool.

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?

Names the specific resource (the interop-conformance axis of the live GSPC board), gives its URL, and enumerates the row fields it surfaces. The framing 'this tool IS the axis' is a bit circular, and it never contrasts itself with close siblings like axis_conformance or axis_detector-interop, so an agent must infer the distinction.

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

Usage Guidelines2/5

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

It states the call takes no argument, which is useful, but gives no when-to-use guidance: nothing says why to pick this axis over axis_conformance, axis_detector-interop, or get_axis. An agent gets no routing signal beyond the axis name.

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

axis_interpretability-reproducibilityinterpretability-reproducibility axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The interpretability-reproducibility axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent and non-destructive, but the description adds genuinely non-obvious behavior: an UNMEASURED axis is a first-class declared slot, never an error and never a zero, and the result is never a certification. That is exactly the kind of edge-case disclosure that prevents an agent from misreading a null result as failure.

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 identity and the no-argument fact are front-loaded, and every clause carries content. The one long enumeration of returned fields is slightly list-heavy for a description whose tool already has an output schema.

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 zero-argument, read-only, output-schema-backed tool, this covers what it is, where it lives, the empty-result semantics and the non-certification caveat. Nothing an agent needs in order to call it or interpret the response is absent.

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?

Zero parameters, so the baseline is 4; the description reinforces this by stating the tool takes no argument. No further parameter semantics are needed or possible.

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?

States a specific resource — the interpretability-reproducibility axis of the live GSPC board — and points to the hosting URL, so the agent knows exactly what entity it is fetching. It does not, however, differentiate itself from the ~30 sibling axis_* tools or from get_axis, which an agent seeing the tool list would need.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not guidance, and no mention of the obvious alternative (get_axis, board_totals, measurement_index). The only routing help is 'it takes no argument', which tells the agent how to call it, not when to prefer it.

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

axis_jailjail axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The jail axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered, and the description adds useful semantics beyond them: the returned fields, the fact that unmeasured slots are published gaps rather than failures, and the caveat 'Never a certification'. That is genuine behavioral context an agent could not infer from the hints alone.

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 identity of the axis and the no-argument fact, then the field list. The trailing two clauses about unmeasured rows and 'never a certification' earn their place, though the single dense sentence is harder to scan than it needs to be.

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 zero-param, read-only, open-world tool with an output schema, the description supplies what the schema does not: the meaning of UNMEASURED rows and the non-certification framing. What is missing is any orientation against the many sibling axes, which matters given how crowded this namespace is.

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?

Zero parameters, so the baseline is 4; the description correctly reinforces that no argument is accepted. The enumerated fields (n, accuracy, interval, status, family, kind, URL, dates) are output semantics, which are already covered by the output schema, so they neither help nor hurt here.

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

Purpose3/5

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

The description names a specific resource ('the jail axis of the live GSPC board') and asserts that the tool IS that axis, but 'jail axis' is domain jargon and it draws no boundary against the ~30 sibling axis_* tools or against get_axis, which also returns axes. An agent knows it returns a row of the GSPC board but not why to pick this over axis_safety or get_axis.

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?

"It takes no argument" sets invocation expectations, and the explicit rule that an UNMEASURED axis is a first-class answer 'never an error and never a zero' is real consumption guidance. However, there is no when-to-use / when-not-to-use framing and no routing to an alternative sibling.

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

axis_labour-componentslabour-components axis (live GSPC board)B
Read-onlyIdempotent
Inspect

The labour-components axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds genuinely new semantics: an UNMEASURED axis is a first-class declared slot with no run behind it, 'never an error and never a zero.' That is useful anti-misinterpretation context an agent could not derive from structured fields. It stops short of describing freshness, caching, or how the board URL relates to live vs. snapshot data.

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?

Identity is front-loaded in the first clause, and the long field enumeration earns its length by telling the agent what the row contains. The sentence structure is slightly convoluted around the colon list, but there is no filler or repetition.

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?

With an output schema present and no parameters, the description covers the essentials: what the axis is, that it needs no input, how to read UNMEASURED results, and a caveat that it is not a certification. The one meaningful gap is the relationship to get_axis and the other axis tools, which affects routing rather than calling.

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?

Zero parameters, so the baseline is 4. The description correctly reinforces this by stating the tool takes no argument, which matches the empty schema with additionalProperties: false and prevents an agent from inventing inputs.

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

Purpose3/5

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

The description says this is 'the labour-components axis of the live GSPC board' and enumerates what the axis carries (n, accuracy, interval, MEASURED/UNMEASURED, family, kind, artifact URL, dates). That tells an agent roughly what comes back, but 'this tool IS the axis' largely restates the name, and with ~30 near-identical axis_* siblings plus get_axis and board_totals, there is no statement of what distinguishes this axis from the generic accessor.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternative is named. The presence of a sibling called get_axis makes the omission material — an agent cannot tell from this text whether to call this axis tool directly or go through get_axis. The 'no argument' note is a calling fact, not usage guidance.

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

axis_lab-practicelab-practice axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The lab-practice axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered; the description adds genuinely non-redundant semantics — no arguments, an unmeasured slot is not an error and not a zero, and 'never a certification'. Auth requirements and any caching behavior are unstated, keeping it off 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.

Conciseness4/5

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

A single front-loaded sentence that establishes what the tool is before enumerating fields, with no filler or repetition. The field enumeration partly duplicates the output schema, which is the only slack.

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?

An output schema exists, so the return shape needs no further explanation, and the description supplies the key interpretive rule (unmeasured is first-class). What remains missing is the relationship to get_axis and the meaning of 'lab-practice' as an axis family, given the large sibling set.

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?

Zero parameters, so there is nothing to disambiguate; the description correctly confirms the tool takes no argument and that additionalProperties=false is intentional. This is the baseline for a parameterless tool.

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?

Names a specific resource ('the lab-practice axis of the live GSPC board') and states that the tool returns that row rather than computing anything, listing the returned fields. It is clear what the tool yields, but it never differentiates itself from the ~30 sibling axis_* tools or from get_axis, which an agent may reasonably suspect to be the generic way to fetch the same axis.

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?

Usage is only implied: the description says it takes no argument and that an unmeasured axis is a valid answer, which tells the agent how to interpret a result but not when to prefer this tool over get_axis or board_totals. No exclusions or alternatives are named despite a crowded sibling set.

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

axis_machinery-conformitymachinery-conformity axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The machinery-conformity axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile needs no restating. The description adds genuinely non-obvious behavior: an unmeasured axis is a first-class declared slot, published deliberately, never an error and never a zero, and is never a certification — exactly the ambiguity an agent would otherwise mishandle.

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?

It is front-loaded with the resource and URL, then the no-argument fact, then the unmeasured semantics. Slightly dense as one long clause-laden sentence, and the trailing 'Never a certification' fragment reads as an afterthought, but no sentence is wasted.

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?

With zero parameters and an output schema present, the description need not explain return values, yet it helpfully sketches the row's fields and the unmeasured case. The only real gap is relational context — how this axis relates to axis_conformance and to the get_axis/board_totals family.

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?

The tool has zero parameters, so the baseline is 4. The description reinforces this by stating the tool IS the axis and takes no argument, eliminating any doubt about whether a name or ID must be supplied.

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 names a specific resource (the machinery-conformity axis of the live GSPC board at an explicit URL) and enumerates what a row carries: n, accuracy, interval, measured/unmeasured status, family, kind, source URL and dates. The purpose is unmistakable, but it never says how this differs from the many sibling axis_* tools or from get_axis/axis_conformance, so sibling differentiation is absent.

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?

Usage is only implied: an agent infers it should call this to read the machinery-conformity axis, and the description does clarify that it takes no argument. There is no explicit when-to-use/when-not guidance and no pointer to axis_conformance or get_axis as alternatives, which matters given ~30 sibling axis tools.

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

axis_measurer-integritymeasurer-integrity axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The measurer-integrity axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description adds genuinely non-derivable behavioral context: an UNMEASURED axis is a declared slot with no run behind it, 'never an error and never a zero,' and 'never a certification.' That prevents an agent from misreading an empty result as failure — real value beyond the annotations.

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?

It front-loads what the tool is and why it has no inputs, then adds the UNMEASURED caveat. The core sentence is dense (a run-on list of fields), but each clause carries meaning and nothing is padding.

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?

With an output schema present, return-format details are not needed, and the description adequately explains the no-arg design and the UNMEASURED semantics. What is missing is any orientation toward the sibling axes, so an agent still lacks guidance on when this axis is the right one.

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?

There are zero parameters, so the baseline is 4. The description reinforces this by explaining the tool 'IS the axis, so it takes no argument,' which confirms the empty schema is intentional rather than an omission.

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 names a specific resource (the measurer-integrity axis of the live GSPC board) and enumerates the exact fields returned (n, accuracy, interval, status, family, kind, artifact URL, dates). It is unambiguous what the tool returns, though it never explicitly contrasts itself against the other axis_* siblings beyond being 'this' axis.

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?

Usage is only implied: 'it takes no argument' tells the agent how to call it, and the fields listed imply when it is relevant, but there is no explicit statement of when to choose this axis over the ~30 sibling axis_* tools or any exclusions.

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

axis_opennessopenness axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The openness axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive, open-world, so the bar is lower, but the description adds real semantic behavior: an UNMEASURED axis is a first-class answer, not an error and not a zero, and the value is never a certification. That interpretation guidance is exactly the kind of context 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 what the tool is and the no-argument constraint, followed by the field list and the UNMEASURED caveat. The mid-sentence field enumeration (n, accuracy, interval, family, kind...) is a little listy, but every element is informative.

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?

With an output schema present and zero parameters, the description only needs to frame purpose and edge-case semantics, which it does, including the unmeasured-slot rule. The one gap is routing relative to get_axis and the other axis_* siblings.

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?

Zero parameters, so baseline is 4. The description reinforces this by explicitly stating the tool takes no argument, which prevents an agent from hunting for filters, and the empty schema confirms it.

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?

It names a specific resource (the openness axis of the GSPC board), points to the backing URL, and enumerates the fields the axis exposes. However, it never distinguishes itself from the sibling get_axis or from the other axis_* tools, and 'GSPC board' is left as unexplained jargon, so the agent has to infer the split.

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?

Usage is only implied: read this when you want the openness axis. There is no explicit 'use this instead of get_axis when...' and no stated preconditions or exclusions, even though a near-identical sibling exists.

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

axis_provenanceprovenance axis (live GSPC board)B
Read-onlyIdempotent
Inspect

The provenance axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), but the description adds genuinely non-inferable semantics: an UNMEASURED axis is a first-class declared slot, 'never an error and never a zero', and the board is 'never a certification'. Those rules are exactly what an agent needs in order to interpret a null-looking result correctly.

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

Conciseness3/5

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

It is front-loaded with the URL and the no-argument rule, which is good, but the middle sentence becomes a run-on field list (n, accuracy, interval, status, family, kind, URL, dates) that drifts into return-value detail. That enumeration partly duplicates what the output schema already declares and dilutes the two genuinely valuable statements.

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

Completeness3/5

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

An output schema exists, so return fields needn't be spelled out — yet the description spends most of its length on them. What is missing is relational context: how this axis differs from get_axis, board_totals, or axis_provenance-controls, and whether the data is a live fetch or a cached board slice.

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?

Zero parameters, so the baseline is 4; the description reinforces this by stating the tool takes no argument and the schema sets additionalProperties=false. No parameter meaning is left ambiguous.

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?

Names a specific resource (the provenance axis of the live GSPC board) and pins it to a concrete URL, which is more than the sibling axis_* names alone provide. However, it never states a verb ('returns the provenance axis row') and does not distinguish itself from sibling get_axis, which plausibly returns the same kind of data by name.

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

Usage Guidelines2/5

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

The only usage-type guidance is 'it takes no argument', which is structural rather than situational. There is no statement of when to call this versus get_axis, axis_provenance-controls, or board_totals, and no exclusions or prerequisites.

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

axis_provenance-controlsprovenance-controls axis (live GSPC board)B
Read-onlyIdempotent
Inspect

The provenance-controls axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive and open-world, so the bar is lower; the description still adds real interpretive context by stating that an unmeasured axis is a deliberate published gap rather than an error or a zero. The 'never a certification' caveat further warns the agent off a plausible misreading of the data. It stops short of saying anything about freshness or rate behavior of the live board.

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?

Identity and the no-argument rule are front-loaded, and every clause conveys something: source URL, argument contract, payload shape, unmeasured semantics. It runs long as a single breath and the field list could be trimmed given the output schema exists.

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 zero-param, read-only axis tool with an output schema and full annotation coverage, the description supplies what the structured fields cannot: the meaning of an unmeasured result and the non-certification framing. The remaining hole is conceptual — what this axis measures and how it relates to the near-identically named axis_provenance sibling.

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?

Zero parameters, so the baseline is 4, and the description correctly confirms the no-argument contract instead of leaving the agent hunting the schema. The field enumeration (n, accuracy, interval, status, family, kind, URL, dates) adds a little orientation, though it largely duplicates the output schema.

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

Purpose3/5

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

It names the resource concretely (the provenance-controls axis of the GSPC board, with a URL) and enumerates what a row carries, which is more than a restatement of the title. But it never explains what a 'provenance-controls' axis actually measures, and among a sibling set containing both axis_provenance and axis_provenance-controls the agent gets no basis for choosing between them.

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

Usage Guidelines2/5

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

The only usage signal is 'it takes no argument', which tells the agent how to call it, not when. There is no statement of when to read this axis versus get_axis, axis_provenance, or board_totals, and no preconditions or exclusions are given.

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

axis_regulator-transparencyregulator-transparency axis (live GSPC board)B
Read-onlyIdempotent
Inspect

The regulator-transparency axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

B3.4/5.0
Behavior4/5

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

With annotations already declaring readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, the description adds meaningful behavioral context: an unmeasured axis is published as a first-class declared slot, never an error and never a zero. It also warns 'Never a certification,' which is useful interpretation guidance beyond the structured annotations.

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 front-loads the core resource and no-argument constraint, then explains the unmeasured status semantics. The long em-dash sentence listing fields is somewhat run-on and partly redundant with the output schema, but overall the text is appropriately sized and every sentence contributes context.

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?

Because an output schema exists, the description does not need to explain the return shape in detail. It covers the important zero-parameter behavior and the special unmeasured-axis semantics, though it is less complete on how this axis tool relates to sibling axis readers and get_axis.

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?

The tool has zero parameters, and the description explicitly reinforces that it takes no argument. That is a small but helpful confirmation beyond the empty schema. The baseline for zero-param tools is 4, and no parameter-semantics gap remains.

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

Purpose3/5

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

The description identifies a specific resource, the regulator-transparency axis on the live GSPC board, and says it takes no arguments. However, it never states the action in a clean verb like 'returns' or 'fetches', relying on 'this tool IS the axis' to imply retrieval. It also does not distinguish this zero-argument axis tool from siblings such as axis_* tools or get_axis.

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

Usage Guidelines2/5

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

The description establishes that the tool takes no arguments and explains that an unmeasured axis is a valid answer, which implies this is a direct lookup of one specific axis. It gives no explicit guidance on when to use this tool instead of get_axis or the many other axis_* siblings, nor does it state prerequisites or exclusions.

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

axis_regulatory-frameworkregulatory-framework axis (live GSPC board)B
Read-onlyIdempotent
Inspect

The regulatory-framework axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely non-obvious behavior: zero arguments by design, the field set surfaced, the rule that an unmeasured slot is a published gap rather than an error or a zero, and the 'never a certification' disclaimer against over-reading the result.

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?

Three sentences, front-loaded with the identity and URL, then the zero-argument rule, then the unmeasured semantics, then the disclaimer. Dense but each clause carries information; the em-dash parentheticals in the middle sentence are the only mild wordiness.

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

Completeness3/5

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

An output schema exists and annotations are rich, so return-format and safety detail are not required here. What is missing is routing context: with 34 sibling axis_* tools including axis_regulator-transparency, the description should say how this axis differs or how to enumerate the others. Otherwise it is adequate for a zero-argument read.

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?

Zero parameters and 100% schema coverage, so the baseline is 4. The description goes slightly further by explaining that the absence of arguments is intentional ('this tool IS the axis'), which preempts an agent hunting for a filter or axis-id parameter.

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

Purpose3/5

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

It names the resource precisely — the regulatory-framework axis of the live GSPC board — and points to a concrete URL. But it never states the operation plainly ('this tool IS the axis' is a riddle where 'returns the current row for this axis' would do), and it doesn't distinguish itself from the near-identically named sibling axis_regulator-transparency or from get_axis.

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

Usage Guidelines2/5

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

There is no statement of when to call this versus get_axis, board_totals, list_cards, or the 30+ sibling axis tools. The only usage-shaped guidance is interpretive ('an unmeasured axis is a first-class answer — never an error and never a zero'), which tells the agent how to read the result but not when to reach for this tool.

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

axis_reserve-attestationreserve-attestation axis (live GSPC board)B
Read-onlyIdempotent
Inspect

The reserve-attestation axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

B3.1/5.0
Behavior4/5

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

Beyond the readOnly/idempotent annotations, the description supplies genuinely useful interpretation rules that annotations cannot: an UNMEASURED axis is a first-class declared slot, never an error and never a zero, and the output is 'never a certification.' That prevents two concrete agent misreads (treating UNMEASURED as failure, or as 0). It stops short of describing provenance freshness or whether the live board can drift between calls.

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

Conciseness3/5

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

It is short and front-loads the resource identity, and every clause carries content — no filler. But the first sentence is a run-on chain of clauses joined by dashes and colons, with the key semantics (unmeasured-as-answer, not-a-certification) buried mid-sentence rather than given their own line.

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?

With zero parameters and an output schema present, the return values need not be explained, and the description still covers the endpoint, the field vocabulary, and the semantic caveats around UNMEASURED and certification. What is missing is where this sits in the larger board workflow — whether to pair it with board_totals or get_axis to assemble a full view.

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?

Zero parameters, so the baseline is 4, but the sentence 'takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status...' presents output fields in the syntactic position of arguments, which can momentarily read as a parameter list. It is consistent with the schema (empty object, additionalProperties:false) yet adds a small ambiguity rather than clarity.

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

Purpose3/5

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

It identifies the resource precisely ('the reserve-attestation axis of the live GSPC board') and pins the endpoint, but never states the action or what calling it yields — the reader has to infer from 'the row' and the field list that it returns one axis's record. Against ~35 sibling axis_* tools whose names alone carry the same amount of information, it does little to differentiate beyond topic.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus get_axis, board_totals, measurement_index, or the other axis tools — all plausible alternatives for retrieving axis data. The only usage-adjacent statement ('takes no argument') is a constraint, not a selection rule.

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

axis_safetysafety axis (live GSPC board)B
Read-onlyIdempotent
Inspect

The safety axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds real value on top: it states the tool takes no argument, that an unmeasured axis is a declared slot with no run behind it rather than an error or a zero, and that it is never a certification. That pre-empts the most likely agent failure mode (misreading an empty result as a bug).

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

Conciseness3/5

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

Front-loaded with the resource, which is good, but the first sentence is a run-on that enumerates return fields already covered by the output schema, and the 'this tool IS the axis' framing is an awkward way to say 'takes no arguments'. Some of that length does not earn its place.

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

Completeness3/5

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

The critical semantic - how to interpret an unmeasured axis - is covered, and the output schema plus annotations handle returns and safety. What is missing is how this differs from get_axis and any access/payment note implied by siblings like x402_trust, so an agent still has to guess about routing.

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?

Zero parameters with 100% schema coverage, so the baseline is 4. The description reinforces this by stating explicitly that the tool takes no argument, which prevents an agent from inventing inputs.

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

Purpose3/5

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

The description identifies the resource (the safety axis of the live GSPC board at a named URL) and the fields it carries (n, accuracy, interval, MEASURED/UNMEASURED, family, kind, URL, dates), but uses no verb - it never says 'returns' or 'fetches'. It also does not distinguish itself from the sibling get_axis, which an agent could plausibly pick instead.

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?

Usage is only implied by the name: use this for the safety axis. There is no explicit routing guidance against get_axis, list_cards, or the other thirty-plus axis_* siblings. The one piece of real guidance - that an UNMEASURED axis is a valid answer to be reported, not retried or treated as failure - is genuinely useful but is interpretation guidance rather than invocation guidance.

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

axis_serving-fidelityserving-fidelity axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The serving-fidelity axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered; the description instead contributes genuinely new semantics — that an UNMEASURED axis is a published gap rather than an error or a zero, and the 'never a certification' caveat. That interpretation guidance is worth more than the annotations alone and is the single most valuable part of the definition.

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 identity and the no-argument fact are front-loaded, followed by the field list and the unmeasured-result rule. The dense middle sentence cramming seven field names together and the trailing fragment 'Never a certification.' cost a little readability, but there is no filler.

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?

With an output schema present and 100% schema coverage, the description needn't document return shapes, and it sensibly focuses on the semantic edge case (unmeasured axes) instead. What remains missing is its relationship to the near-identically named axis_* siblings and to get_axis, which an agent would still need to resolve.

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?

There are zero parameters, so the baseline is 4. The description reinforces this explicitly by stating the tool takes no argument and that the axis itself is the resource, which removes any doubt about how to call it.

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 names the specific resource it exposes (the serving-fidelity axis of the live GSPC board) and enumerates the fields it carries, so an agent knows exactly what it is getting. It falls short of a 5 because it never positions itself against the many closely named siblings such as axis_harness-fidelity or the generic get_axis, leaving the agent to infer which one to reach for.

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?

'This tool IS the axis, so it takes no argument' implies a zero-configuration read and the note that unmeasured results are first-class tells the agent how to read the answer. However, there is no explicit when-to-use framing and no mention of when to prefer get_axis, measurement_index, or board_totals instead.

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

axis_swarmswarm axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The swarm axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), so the description's real contribution is the return-value semantics: an UNMEASURED axis is a published declared slot, never an error and never a zero. That is a genuinely useful behavioral disclosure an agent would otherwise misread as failure — though 'never a certification' remains cryptic.

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?

It is front-loaded with the resource identity and the no-argument contract before reaching the UNMEASURED caveat, which is the highest-value sentence. The mid-sentence enumeration of return fields is slightly redundant given an output schema exists, but it stays within three sentences and each one carries signal.

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?

With annotations covering safety and an output schema covering return shape, the description only needs to supply framing and the UNMEASURED semantics — which it does. The main gap is that its relationship to get_axis and the rest of the axis_* family is left implicit, which matters in a 40-plus-tool surface.

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?

The tool takes zero parameters, so the baseline is 4, and the description positively reinforces this with 'takes no argument.' The schema is empty with additionalProperties=false, and nothing in the description contradicts that.

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 names a specific resource — the swarm axis of the live GSPC board — and enumerates the fields it returns (n, accuracy, interval, status, family, kind, source URL, dates), so an agent knows exactly what it gets. 'This tool IS the axis, so it takes no argument' implicitly distinguishes it from the generic get_axis sibling, but it never names or contrasts the other ~30 axis_* tools explicitly.

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?

Usage is only implied: the 'takes no argument' phrasing hints this is the pre-bound swarm-axis fetcher, as opposed to a parameterized axis lookup like get_axis. There is no explicit statement of when to prefer this over get_axis or the other axis_* siblings, and no prerequisites or exclusions are given.

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

axis_watchdog-ingestwatchdog-ingest axis (live GSPC board)A
Read-onlyIdempotent
Inspect

The watchdog-ingest axis of the live GSPC board at https://councilof.ai/api/gspc — this tool IS the axis, so it takes no argument: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
not_a_certificationNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, non-destructive, so safety is covered structurally; the description adds genuinely non-obvious semantics — that an UNMEASURED axis is a published declared slot rather than an error or a zero, and that the output is never a certification. That absence-vs-failure distinction is the kind of context the schema cannot carry. It stops short of describing volatility, caching, or how the live board updates.

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?

Two sentences, front-loaded with identity and scope, then the interpretive caveat; nothing repeats the annotations verbatim. The field enumeration is dense and would scan better as a list, and 'first-class answer' is rhetorical rather than informative, but overall the length is proportionate to the tool.

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?

With zero parameters, an output schema, and full annotation coverage, the description supplies what the structured fields cannot: what the axis represents and how to read an empty result. The one missing piece is orientation among the many sibling axis readers and aggregators, which the description never addresses.

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?

Zero parameters, so the baseline is 4; the description also correctly reinforces that no argument is accepted, which matches additionalProperties:false and an empty properties object. No gap to compensate for.

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 names the specific resource (the watchdog-ingest axis of the GSPC board, with a base URL) and the row contents it surfaces (n, accuracy, interval, status, family, kind, URL, dates), which separates it from the other axis_* siblings by axis rather than by function. However, it never uses an operative verb — 'this tool IS the axis' describes identity, not an action, so an agent must infer that the tool reads/returns that axis row.

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?

'Takes no argument' sets the calling convention and the remark that an unmeasured axis is a valid answer implies when not to treat a result as failure. But it never routes between siblings: nothing says whether get_axis, measurement_index, or board_totals should be preferred in any situation, so usage is only implied.

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

board_totalsCouncil of AI · MEOK companionA
Read-onlyIdempotent
Inspect

Live GSPC board totals from https://councilof.ai/api/gspc. Returns the slot count and the measured count as two labelled numbers WITH their kind — a slot is a declared position on the board, a measurement is a real run behind it; the two are never summed and never swapped — plus the board's separation line, and as_of dates for the board and for this fetch. Compact by default; pass detail "full" for the long-form count grammar, the per-family counts and the board's full measured_on block. We measure, never certify. If the board cannot be fetched the answer is a distinct UNREACHABLE state: no cached number is ever presented as live.

NameRequiredDescriptionDefault
detailNosummary (default): counts, public_count, the separation line, dates and source. full: also count_grammar, by_family and the board's measured_on block.summary

Output Schema

NameRequiredDescription
as_ofNo
stateYesLIVE or UNREACHABLE
countsNo
detailNosummary or full
sourceNo
by_familyNo
separationNo
public_countNo
count_grammarNo
not_a_certificationNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds real behavioral context beyond them: a named UNREACHABLE failure state and the guarantee that no cached number is presented as live, plus the epistemic caveat 'we measure, never certify'. It stops short of auth, rate-limit or freshness-bound information.

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 purpose and source URL, then the return contract, then the detail mode, then the failure state — a sensible order. Some rhetorical redundancy ('never summed and never swapped', 'we measure, never certify') pads an otherwise tight paragraph, but every clause carries domain meaning.

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?

An output schema exists, so return values need no further explanation, and the description still characterizes the shape and the failure mode. For a zero-required-parameter read tool with full annotation coverage, the remaining gap is minor — no mention of caching TTL beyond the live claim, or of what an agent should do after an UNREACHABLE response.

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 coverage is 100% and the single enum parameter is already fully documented in the schema, including what each mode returns. The description restates the same summary/full split without adding syntax or defaults beyond the schema, so the baseline of 3 applies.

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?

Names a specific resource (live GSPC board totals from councilof.ai/api/gspc) and enumerates exactly what comes back: slot count, measured count with their kind, the separation line, and as_of dates. The slot-vs-measurement distinction is defined inline, so an agent knows what 'count' means here, which no sibling tool (axis_*, get_card, measurement_index) provides.

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?

Gives clear guidance on the detail switch ('compact by default; pass detail "full" for...'), which is the only choice the caller makes. It never says when to reach for this rather than measurement_index or get_card, nor states any preconditions, so routing between siblings is left to inference.

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

commission_cardCommission a measurement card (paid, x402)AInspect

PAID (x402). Commission one signed card-v0 receipt (surface ras.commission) for a named subject on the frozen bank via https://councilof.ai/api/request-attestation. Re-serves every signed measurement card already on file for the subject; a payment never mints a MEASURED cell (fresh_run stays UNMEASURED until a published run exists). Without x_payment the tool returns the 402 challenge (accepts[] with asset, amount, payTo) plus a free preview of the cards already on file. Measurement, not certification — never a rank, a grade or a certificate. Verification stays free.

NameRequiredDescriptionDefault
axisNoOptional axis slug; omit for the subject-level commission.
subjectYesSubject to commission: a model id, instrument id or card sha (1-120 chars of [A-Za-z0-9._:/@+-]).
x_paymentNoThe X-PAYMENT header value (base64 x402 payload) signed by your wallet against accepts[] from the previous 402. Omit to receive the challenge.

Output Schema

NameRequiredDescription
toolNo
routeNo
statusYesPAYMENT_REQUIRED, DELIVERED, NOT_DEPLOYED, UNREACHABLE, UNREADABLE_RESPONSE, BAD_ARGUMENTS or HTTP_<code>
acceptsNo
resourceNo
deliverableNo
http_statusNo
x402VersionNo
delivery_stateNo
settlement_stateNo
payment_presentedNo
not_a_certificationNo

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond annotations by disclosing the paid x402 nature, the re-serving behavior, and that 'a payment never mints a MEASURED cell (fresh_run stays UNMEASURED until a published run exists).' Also describes the no-payment fallback response and the semantic boundary against certification.

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?

Dense but every sentence earns its place: main action, payment semantics, challenge mode, and scope boundaries. Front-loaded with 'PAID (x402)' and the core action before caveats.

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 paid x402 tool with three parameters and an output schema, the description covers the full call flow: challenge without payment, completion with payment, effects on existing cards and fresh_run, and the boundary against certification. Nothing needed 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.

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds behavioral meaning to the parameters: the x_payment challenge/response flow, what 'subject' can be (model id, instrument id, card sha), and the effect on fresh_run state. This goes beyond the schema's property descriptions.

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 the specific action 'Commission one signed card-v0 receipt' for a named subject on the frozen bank, via a concrete endpoint. It also draws clear boundaries: 'Measurement, not certification — never a rank, a grade or a certificate,' distinguishing it from verification and certification tools in the sibling list.

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?

Explains the two-step usage: omit x_payment to get the 402 challenge and free preview, then supply x_payment to complete. It excludes certification and notes 'Verification stays free,' steering agents toward free verification alternatives, though it does not name the specific sibling tool.

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

evidence_bundleEvidence bundle for one obligation (paid, x402; preview free)AInspect

PAID (x402). For ONE obligation (article-50, article-53 GPAI transparency, dora or cra) and an optional subject via https://councilof.ai/api/evidence-bundle: selected existing card objects with signature fields and any retained inclusion proofs, an OSCAL assessment-results wrapper and an assembly manifest. Assembly does not verify input-card signatures. A returned unsigned manifest reports its signing status and unsigned reason. If signing throws after settlement, the route returns PAID_NOT_DELIVERED without a delivered bundle or manifest; preserve the settlement receipt and reconcile before reissue, without automatically retrying or paying again. Zero selected cards stays an empty bundle; preview=true here, or the free evidence_bundle_preview tool, shows the count first. No new measurement, full OSCAL conformance or conformity determination is established. Article 53 output is evidence for review, not a legal determination; grants no status. Without x_payment the tool returns the actual 402 challenge; read its terms for each request. Supported-card verification is free at https://councilof.ai/gspc-verify. Measurement, not certification.

NameRequiredDescriptionDefault
previewNotrue = the free preview (relevant-card count and first cards); nothing is charged.
subjectNoOptional: a model id, vendor or instrument the cards must name.
x_paymentNoThe X-PAYMENT header value signed against accepts[] from the previous 402. Omit to receive the challenge.
obligationYesarticle-50, article-53, dora or cra.

Output Schema

NameRequiredDescription
toolNo
routeNo
statusYesPAYMENT_REQUIRED, DELIVERED, NOT_DEPLOYED, UNREACHABLE, UNREADABLE_RESPONSE, BAD_ARGUMENTS or HTTP_<code>
acceptsNo
resourceNo
deliverableNo
http_statusNo
x402VersionNo
delivery_stateNo
settlement_stateNo
payment_presentedNo
not_a_certificationNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses the x402 payment model, the 402 challenge flow, the PAID_NOT_DELIVERED failure mode after settlement, and instructs not to auto-retry or re-pay. It also discloses that assembly does not verify input-card signatures and that an unsigned manifest reports its signing status/reason — rich behavioral context not captured by readOnlyHint/idempotentHint.

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-loads the most decision-relevant facts (PAID, one obligation, endpoint) and keeps the failure/payment caveats tight. It is still dense and caveat-heavy across many sentences, but each sentence carries operational weight, so waste is low.

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 paid, multi-step, non-idempotent tool this is close to complete: payment acquisition, preview path, empty-bundle behavior, failure handling, and caveats on what the output does and does not establish. An output schema exists, so omitted return-value detail is acceptable.

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 obligation, subject, preview and x_payment. The description reinforces meaning (obligation names, subject intent, preview = count only) but adds little syntax or format beyond what the schema provides. Baseline 3 applies when the schema does the heavy lifting.

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+resource: it assembles an evidence bundle for ONE named obligation (article-50, article-53, dora, cra) plus optional subject, and enumerates the payload (card objects with signature fields, inclusion proofs, OSCAL assessment-results wrapper, manifest). An agent can distinguish it from evidence_bundle_preview (free) and the other evidence siblings without opening schemas.

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 routing: use preview=true or the free evidence_bundle_preview tool to check counts first, and omit x_payment to receive the actual 402 challenge. It also states scope exclusions (no new measurement, no full OSCAL conformance, not a legal determination). However it does not differentiate this tool from the other evidence-emitting siblings (rwa_evidence, server_evidence, art50_marking_evidence).

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

evidence_bundle_previewSigned cards relevant to one obligation (free)A
Read-onlyIdempotent
Inspect

For ONE obligation (article-50, article-53 GPAI transparency, dora or cra) and an optional subject: the obligation record, its counsel-gate status and the already-signed measurement cards that are relevant to it (count plus the first cards, each with its verify link), read live from https://councilof.ai/api/evidence-bundle. Relevant-to is never a determination: no answer says satisfied or not satisfied, and zero relevant cards is answered EMPTY, never as an error and never as a clean bill. Article 53 output is evidence for review, not a legal determination. Evidence for obligation work — not a conformity assessment, certification, audit opinion or compliance determination; grants no status. Measurement, not certification. Verification of any card is free at https://councilof.ai/gspc-verify.

NameRequiredDescriptionDefault
subjectNoOptional: a model id, vendor or instrument the cards must name. Omit for the obligation-wide selection.
obligationYesarticle-50 (AI-generated content marking), article-53 (GPAI provider documentation), dora (ICT third-party oversight) or cra (Cyber Resilience Act).

Output Schema

NameRequiredDescription
cardsNo
stateYes
corpusNo
reasonNo
sourceNo
subjectNo
relationNo
obligationNo
review_noteNo
determinationNo
counsel_confirmedNo
not_a_certificationNo
relevant_signed_cardsNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly/openWorld/idempotent/non-destructive, and the description still adds real behavioral context: the source is fetched live, results are never a satisfied/not-satisfied determination, zero relevant cards returns EMPTY rather than an error, and article-53 output is evidence for review only. These edge-case and non-determinism semantics are exactly what annotations cannot convey.

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?

It is dense and front-loads the resource and scope, and each disclaimer (EMPTY semantics, no determination, grants no status) carries load. The third and fourth sentences overlap somewhat in re-stating the non-certification boundary, which is minor redundancy rather than padding.

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?

An output schema exists, so return structure need not be described, yet the description still covers the two cases an agent must handle correctly — zero relevant cards (EMPTY, not an error) and the non-determinative nature of relevance. Combined with the documented enum and subject semantics, nothing needed to call this 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% and the enum values for obligation are fully documented in the schema, so the baseline is 3. The description restates the subject concept ('a model id, vendor or instrument the cards must name') and confirms the obligation-wide selection when omitted, but adds little beyond the schema text.

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?

The description names a specific verb+resource and scope: the obligation record, its counsel-gate status, and the already-signed measurement cards relevant to exactly ONE obligation, read live from a named endpoint. It also constrains the selection to one of four obligations, which separates it from card-level siblings like get_card or list_cards.

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?

It gives clear context for use (obligation-level evidence for a single obligation, optionally narrowed by subject) and explicitly rules out use as a conformity assessment, certification, audit opinion or compliance determination. It does not, however, name a sibling tool or state when to prefer this over measurement_index or list_cards, so routing guidance is partial.

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

framework_readinessFramework readiness checklistA
Read-onlyIdempotent
Inspect

A deterministic readiness checklist over one governance framework: eu-ai-act, dora, nis2, gdpr, iso-27001, nist-csf, soc2, pci-dss or cra. For each checklist item the tool returns the published provision it is keyed to (article or clause), a plain-words requirement summary, the evidence that would show readiness for it, and the question it opens for your own compliance function. Optional sector gives a pointer to which of the nine frameworks commonly bind that sector; optional role is echoed for your notes. There is no score, no pass or fail, and no status for the caller: a checklist lays out what evidence would be measured, it does not certify compliance, it is not legal advice, and it is not a conformity assessment. Runs no model, fetches nothing, stores nothing; the same arguments always return the same answer.

NameRequiredDescriptionDefault
roleNoOptional free-text role (e.g. deployer, provider). Echoed for your notes; the tool does not determine which duties attach.
sectorNoOptional sector word (e.g. finance, healthcare, energy). Adds a pointer to which frameworks commonly bind the sector; never a scope determination.
frameworkYesThe framework to check readiness against. Required.

Output Schema

NameRequiredDescription
roleNo
errorNo
itemsNoChecklist items: id, provision, requirement, evidence_suggested, opens_question
stateYesOK or BAD_ARGUMENTS
headerNo
sectorNo
frameworkNo
role_noteNo
how_to_useNo
item_countNo
provenanceNoPublished sources a reader can check without an account
sector_noteNo
what_this_isNo
framework_labelNo
not_legal_adviceNo
sector_frameworksNo
not_a_certificationNo

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent/destructive annotations by declaring negative capabilities that an agent would otherwise guess wrong: no score, no pass/fail, no status, runs no model, fetches nothing, stores nothing, deterministic outputs, not legal advice or conformity assessment. This directly prevents misuse of the returned checklist as a certification result.

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 verb, resource, and scope, and the middle section usefully describes the return payload. The final sentence and repeated disclaimers are somewhat dense, but each disclaimer guards against a concrete misinterpretation, so very little is pure waste.

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?

With an output schema present, the description still usefully summarizes the four returned fields, and it covers determinism, side-effect profile, and disclaimer boundaries. Nothing an agent needs to call it correctly or interpret the result 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 all three parameters including the enum. The description adds only light value: it reiterates the nine framework values and clarifies that sector is advisory and role is echoed, which is already largely stated in the schema text.

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 artifact (a deterministic readiness checklist) over a named set of nine governance frameworks, and enumerates the exact per-item payload (provision, plain-words summary, evidence, open question). An agent can distinguish this from sibling verification/axis tools without opening any schema.

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 use case is implied clearly ('what evidence would be measured' for readiness), and the optional sector/role semantics are spelled out. However, it never names an alternative sibling (e.g. axis_conformance, axis_regulatory-framework) or states when-not-to-use-this-vs-that, so routing is left to inference.

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

get_axisOne GSPC board axisA
Read-onlyIdempotent
Inspect

One axis row from the live GSPC board at https://councilof.ai/api/gspc — every axis the board carries, behavioural and financial families alike, addressed by the axis id exactly as the board spells it: n, accuracy, interval, MEASURED or UNMEASURED status, family, kind, the bank or run-artifact URL behind the row, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.

NameRequiredDescriptionDefault
axisYesThe axis name as it appears on the board, e.g. governance, safety, jail, provenance-controls. Case-insensitive. An unknown name returns the list of names the board actually carries.

Output Schema

NameRequiredDescription
nNo
axisNo
stateYesLIVE, NOT_ON_BOARD, BAD_INPUT or UNREACHABLE
familyNo
leaderNo
sourceNo
statusNo
datasetNo
accuracyNo
intervalNo
measuredNo
board_carriesNo
resolved_fromNopresent when the caller named an alias (e.g. gov) that resolved to this board axis
not_a_certificationNo

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already mark the tool read-only and idempotent, and the description adds rich behavioral context: unmeasured axes are valid first-class responses, not errors or zeros; unknown names return a list of board names; and responses come from a live board URL. There is no contradiction with the annotations.

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 front-loaded with the core operation and packs useful detail into three sentences. It is slightly dense in the middle, where the row fields follow the axis-id clause, but every part 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 one-parameter read-only tool with an output schema and strong annotations, the description covers lookup behavior, edge cases such as unmeasured axes and unknown names, and the data source. Nothing an agent needs to correctly invoke it 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?

The input schema has 100% coverage for the sole parameter, including case-insensitivity and the unknown-name fallback. The description reinforces exact board spelling and the fields returned, but it does not materially change the parameter's meaning beyond what the schema already provides.

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?

The description opens with a concrete action and resource: returns one axis row from the live GSPC board. It lists the row's fields and clarifies that it is a single-axis lookup, not a board-level or card-level operation. The 'Never a certification' line further sharpens the tool's purpose.

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 clearly establishes that this is a single-axis lookup by exact board id, but it does not name sibling alternatives or explicitly state when to choose this over board_totals, list_cards, or get_card. The 'Never a certification' line gives one negative boundary, so usage guidance is implied rather than explicit.

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

get_cardOne public-root card-v0 leafA
Read-onlyIdempotent
Inspect

GET one public-root card-v0 leaf by sha256 (64 hex) from https://councilof.ai/cards/{sha16}.json. UNMEASURED cells stay visible. States: VALID (fetched); NOT_IN_THIS_CORPUS (the id is in the signed card index, not the public root, so use verify_card on it); INVALID (in neither the live root nor the signed card index); UNCHECKABLE (a source could not be read). Not a GSPC measurement-card.

NameRequiredDescriptionDefault
sha256Yes64-char hex payload SHA-256 of the card-v0 leaf.

Output Schema

NameRequiredDescription
nextNoWith NOT_IN_THIS_CORPUS: the tool call that checks this id.
stateYesVALID, NOT_IN_THIS_CORPUS, INVALID or UNCHECKABLE
corpusNoWith NOT_IN_THIS_CORPUS: the set the id belongs to (signed_card_index).
reasonNo
sha256No
sourceNo
surfaceNo
card_urlNoWith NOT_IN_THIS_CORPUS: the signed card body to pass to verify_card.
not_gspcNo
unmeasuredNo
sig_ed25519No

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered. The description adds genuinely new behavioral context: the four outcome states (VALID, NOT_IN_THIS_CORPUS, INVALID, UNCHECKABLE) and that UNMEASURED cells remain visible. This goes well beyond the annotations, though the states partly overlap with the output schema.

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 key format, followed by state semantics and the sibling routing. Dense and telegraphic but nearly every clause earns its place; the state enumeration is the only portion that could be considered verbose.

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?

An output schema exists so return values need not be re-explained, and the single parameter is fully covered by the schema. The description still supplies state meanings, an alternative-tool route, and a scope exclusion, leaving nothing an agent needs in order to call it correctly.

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% and the param already documents the 64-char hex requirement, so the baseline is 3. The description adds the URL construction detail, showing the payload id maps to {sha16}.json, which is extra meaning beyond the schema, though the sha16 truncation is only implied and slightly ambiguous.

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 (GET), resource (one public-root card-v0 leaf), and lookup key (sha256, 64 hex) plus the exact endpoint pattern. It is clearly distinguishable from siblings like get_root, list_cards, and verify_card.

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?

Provides explicit routing for one state: when the id is NOT_IN_THIS_CORPUS, the agent is told to use verify_card instead. It also excludes GSPC measurement-cards. However, it gives no general when-to-use guidance versus verify_card or list_cards for the common case.

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

get_rootPublic Merkle rootA
Read-onlyIdempotent
Inspect

GET the permissionless public-root at https://councilof.ai/root.json. Returns merkle_root, card_count, as_of, and UNMEASURED notes. Separate from GSPC. Three states: VALID (fetched), UNREACHABLE (could not fetch), UNCHECKABLE (body unreadable). Never a certificate.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
kindNo
as_ofNo
stateYesVALID, UNREACHABLE or UNCHECKABLE
sourceNo
not_gspcNo
card_countNo
merkle_rootNo

TDQS

A4.2/5.0
Behavior4/5

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

Beyond the readOnlyHint and idempotentHint annotations, the description discloses operational states (VALID, UNREACHABLE, UNCHECKABLE), clarifies that it never returns a certificate, and notes the permissionless nature. This adds meaningful behavioral context about failure modes and output guarantees.

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?

The description is three sentences with no filler. The main action and URL are front-loaded, followed by return fields and states. Every sentence earns its place and the text is highly efficient.

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 zero-parameter GET tool with an output schema (as indicated), the description covers the endpoint, return fields, and state behavior. The term 'UNMEASURED notes' is cryptic and could be clarified, and usage guidance is minimal, but overall the tool is simple enough that this is sufficient.

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?

The tool has zero parameters, so the description need not elaborate on parameter semantics. The baseline for no-parameter tools is 4, and the description correctly omits any irrelevant parameter detail.

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?

The description clearly states the tool fetches the permissionless public Merkle root from a specific URL, lists the exact return fields (merkle_root, card_count, as_of, UNMEASURED notes), and distinguishes it from GSPC and from being a certificate. The verb 'GET' plus resource and expected output make the purpose unambiguous.

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 notes 'Separate from GSPC' which hints at a distinction, but it does not explicitly state when to use this tool over its siblings (e.g., get_axis, verify_inclusion). No alternative tools are named and no conditions for selection are given, leaving usage inference largely to the agent.

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

list_cardsList signed card index rowsA
Read-onlyIdempotent
Inspect

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. Each row carries card_url, the signed body; pass it, or the row's 64-hex card id, to verify_card.

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.

Output Schema

NameRequiredDescription
rowsNo
indexNo
stateNoRead state of the signed card index on this call: LIVE (read now) or UNREACHABLE. Listing is not verification; verify_card checks a row.
doctrineNo
axis_queryNo
state_basisNo
not_a_certificationNo
card_store_count_endpointNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, openWorld, so the safety bar is met. The description adds genuinely useful behavior: the two counts are reported next to each other and deliberately never reconciled, and rows are returned newest-first with the full counts reported regardless of the limit. That is meaningful context beyond the annotations, though it does not mention rate limits or the size of the index.

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

Conciseness3/5

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

Four sentences that are information-dense to the point of being hard to parse, with em-dash-heavy asides. The purpose is front-loaded, but the reconciliation caveat and the counts-regardless-of-limit note are repeated from the schema, so not every clause earns its place.

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?

With an output schema present, return-value shape need not be spelled out, yet the description still explains the index's declared-vs-actual count semantics and how to chain into verify_card. For a two-optional-param read tool this is close to complete; only the index's scale and pagination beyond 'newest first' are unaddressed.

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 baseline is 3. The description names axis and limit and notes they return 'recent rows' newest-first, but this largely restates what the schema already documents, including the schema's own note that the two counts are always reported in full regardless of the limit.

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 states a specific verb and resource: list the rows of the published signed-card index, and report the declared count (n_cards) alongside the actual row count. It distinguishes itself from the card store endpoint and names verify_card as the follow-on tool, so an agent can place it. The dense, clause-heavy opening sentence slightly muddies the core action.

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?

It says optional filters (axis, limit) return recent rows and that card_url or the row's card id should be passed to verify_card for verification, which gives implied routing context. However, it never states when to reach for this tool versus siblings like get_card, board_totals, or measurement_index, so usage is only inferable.

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

mcp_trustMCP handshake census snapshotA
Read-onlyIdempotent
Inspect

GET the latest MCP handshake trust snapshot (https://councilof.ai/interop/mcp-trust/latest.json): counts of how many internet-facing MCP servers answer a correct initialize handshake, how many respond with an auth challenge, and how many are unreachable. Counts only by doctrine — host details withheld by design. A partial round or a cap change is disclosed in the snapshot. Measurement, never certification. Three states: VALID (fetched), UNREACHABLE (could not fetch), UNCHECKABLE (body unreadable).

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
diffNo
kindNo
as_ofNo
stateYesVALID or UNREACHABLE
countsNo
sourceNo
partialNotrue whenever the enumeration did not complete — a cap-limited read is partial
headlineNo
enumerationNo
partial_reasonNo

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark the tool read-only, open-world, idempotent, and non-destructive. The description adds substantial behavioral context beyond that: host details are withheld by design, partial rounds or cap changes are disclosed, it is measurement rather than certification, and the three possible states are defined. This is exactly the kind of transparency that helps an agent set expectations.

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?

The description is compact and front-loaded, leading with method, resource, and URL before moving to the counts. Every sentence earns its place: scope, privacy caveat, disclosure caveat, epistemic caveat, and state definitions are all conveyed without redundancy.

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 zero-parameter read-only tool with rich annotations and an output schema, the description covers all essential context: what is counted, how states are classified, what caveats exist, and what limits apply. Nothing needed to call it correctly or interpret its result is missing.

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?

The tool has zero parameters, so there is nothing for the description to explain beyond the baseline. Schema coverage is effectively 100% and the empty parameter object is self-explanatory.

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?

The description names a specific verb ('GET'), a specific resource (the latest MCP handshake trust snapshot), and gives the exact URL. It then enumerates what the snapshot contains, so an agent knows unambiguously what this tool does and can tell it apart from related census-style siblings.

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 makes the tool's context clear: use it when you need internet-facing MCP handshake trust counts by doctrineches. However, it never explicitly says when to use this tool versus alternatives like x402_trust, nor does it state any exclusions or fallback conditions.

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

measurement_indexMeasurement-capsule indexA
Read-onlyIdempotent
Inspect

Read the latest signed measurement-capsule index published at https://councilof.ai/measurement-capsules/latest.json: the index root over every capsule, each batch (adapter, kind, capsule count, measurement states, batch Merkle root, record sha256, record signature and OpenTimestamps state), the index's own board signature re-verified here against the pinned did:web:csoai.org#board-attestation-1 key, and the anchor states published beside it (OpenTimestamps, Rekor, XRPL) — PENDING is never called attested. States only: measurement, not endorsement; no verdict, score or ranking. NOT_PUBLISHED when no index is served; UNREACHABLE when the source could not be fetched.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
stateYes
reasonNo
anchorsNo
batchesNo
versionNo
doctrineNo
n_batchesNo
signatureNo
index_rootNo
n_capsules_totalNo

TDQS

A4.3/5.0
Behavior5/5

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

The description goes well beyond the readOnly/idempotent annotations by disclosing concrete behaviors: re-verifying the board signature against pinned did:web:csoai.org#board-attestation-1, never calling PENDING attested, and defining NOT_PUBLISHED and UNREACHABLE fallback states. This gives an agent accurate expectations for the operation's result semantics. No contradiction with the readOnlyHint=true annotation.

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

Conciseness3/5

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

The description is a single dense run-on sentence with a long colon-delimited enumeration, making it structurally unwieldy despite containing no wasted words. Front-loading the verb and resource is good, but the content would be more digestible as shorter sentences or bullet points.

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?

Given the presence of an output schema that presumably defines return fields, the description covers the source URL, the read scope, verification behavior, semantic limitations, and edge-case states. An agent has enough information to decide whether to call this tool and what to expect, with nothing substantial missing.

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?

The tool has zero parameters and schema coverage is trivially 100%, so the baseline of 4 applies. The description adds context about the fixed source URL and the verification performed, which substitutes for parameter-level guidance since no parameters exist to document.

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?

The description opens with a specific verb and resource: 'Read the latest signed measurement-capsule index published at https://councilof.ai/measurement-capsules/latest.json'. It enumerates the precise contents read (index root, batch fields, board signature re-verification, anchor states), which clearly distinguishes it from sibling verification tools that target individual capsules or cards.

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 provides strong contextual scope, such as 'States only: measurement, not endorsement; no verdict, score or ranking' and the NOT_PUBLISHED/UNREACHABLE conditions, which help an agent infer when the tool is appropriate. However, it never names sibling tools or explicit when-to-use/when-not-to-use conditions like 'use verify_capsule instead for a single capsule'. Usage is implied by scope rather than stated directly.

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

receipts_batchReceipts batch (paid, x402; preview free)AInspect

PAID (x402 or CSOAI LTD invoice). A historical batch of the estate's measurement receipts via https://councilof.ai/api/receipts/batch: every signed card-v0 leaf whose as_of falls in [from,to] (≤200), each with its Merkle inclusion path and the public root(s) that carried it, plus the root index for the window and one manifest card citing the batch sha256. Manifest signing is conditional: a returned unsigned manifest declares manifest_card.sig_ed25519:null and unsigned_reason, with signature unmeasured. Manifest root inclusion remains unmeasured. If signing throws after settlement, the route returns PAID_NOT_DELIVERED with no batch or manifest delivered; preserve the settlement receipt and reconcile before reissue, without automatically retrying or paying again. preview=true is free and returns count, span, root count and the sha256 of the exact bytes the paid call returns. Recent leaves are free at /root.json, /cards/ and /api/proof?sha= — the batch sells assembly across history, never a conclusion. This tool returns historical measurement leaves, not payment receipts. /api/receipts/latest reports aggregate receipt-store state when available; its counts do not verify a particular payment, delivery or buyer acceptance. Without x_payment the tool returns the 402 challenge.

NameRequiredDescriptionDefault
toNoWindow end, ISO-8601. Defaults to now.
fromYesWindow start, ISO-8601. Required.
previewNotrue = free: count, span, roots and batch sha256 without the leaves.
x_paymentNoThe X-PAYMENT header value signed against accepts[] from the previous 402. Omit to receive the challenge.

Output Schema

NameRequiredDescription
toolNo
routeNo
statusYesPAYMENT_REQUIRED, DELIVERED, NOT_DEPLOYED, UNREACHABLE, UNREADABLE_RESPONSE, BAD_ARGUMENTS or HTTP_<code>
acceptsNo
resourceNo
deliverableNo
http_statusNo
x402VersionNo
delivery_stateNo
settlement_stateNo
payment_presentedNo
not_a_certificationNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations cover only the coarse profile (readOnlyHint false, openWorldHint true, idempotentHint false, destructiveHint false). The description goes well beyond: conditional manifest signing with sig_ed25519:null and unsigned_reason, unmeasured root inclusion, the PAID_NOT_DELIVERED error path after settlement, and the instruction not to auto-retry or re-pay. This is exactly the operational context annotations cannot carry.

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

Conciseness3/5

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

The payment requirement and window scope are front-loaded, but the single dense paragraph also carries tangential content (e.g., the /api/receipts/latest aggregate-state disclaimer) that is not needed to invoke this tool. Length is defensible for the complexity, yet several clauses could be trimmed without loss.

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?

An output schema exists, so return values need not be described. Given the paid x402 flow, the free preview path, error semantics and the four parameters, the description supplies everything an agent needs to call, fail, and recover correctly.

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 description coverage is 100%, so the baseline is 3. The description still adds meaning by tying preview to the exact-byte sha256 the paid call would return and by describing the x_payment omission behavior as a 402 challenge, reinforcing the semantics beyond the field text.

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 precise verb+resource: a historical batch of signed card-v0 measurement leaves within an [from,to] window, each with Merkle inclusion paths and roots plus a manifest card. It also draws an explicit boundary — 'This tool returns historical measurement leaves, not payment receipts' — distinguishing it from siblings like get_card, get_root, verify_inclusion and x402_trust.

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

Usage Guidelines5/5

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

Explicitly says preview=true is free and what it returns, notes that recent leaves are free elsewhere (/root.json, /cards/, /api/proof?sha=) so the batch is only for assembly across history, and explains the x402 flow including the 402 challenge when x_payment is omitted. When-to-use, when-not-to-use, and the alternative routes are all present.

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

routeGSPC Route: decide a path under your policy (free, decide-only)A
Read-onlyIdempotent
Inspect

GSPC Route (free, decide-only). Applies YOUR policy and the fixed GSPC floor to a candidate set and returns the chosen candidate, the basis of the choice and an unsigned route record (csoai.evidence-event/0.1, profile csoai.route-evidence/0.1). Candidates are the GSPC MCP tools by default, or ones you declare: your models, your local GPU, MCP tools, A2A agents, x402 resources. Policy is Cedar: presets read-only, local-only, eu-only, no-unmeasured, plus forbid_providers and allow_kinds; anything the router does not understand grants nothing. For the quality axis you name it reads the live board (https://councilof.ai/api/gspc). With no candidates declared, the GSPC tool whose purpose matches the task is chosen (basis task_match); when no tool's purpose matches, the answer is UNTESTED and nothing is chosen, never a pick by name. For candidates you declare, routing is not ranking: a choice is called a separated leader only when the board separated that comparison; otherwise it is TIE or UNTESTED and your tie_break decides. A candidate the board holds no number for is UNTESTED, never 0. Sponsor, bid and placement fields are ignored. The task text is hashed, never stored. Nothing is executed, called or charged; mode execute answers NOT_ENABLED. Measurement, not certification.

NameRequiredDescriptionDefault
modeNodecide (default). execute is not enabled and answers NOT_ENABLED.
taskNoThe task. Hashed (sha256) and never stored or echoed.
policyNopresets [read-only, local-only, eu-only, no-unmeasured], forbid_providers [..], allow_kinds [..], confirm_destructive, caller_wallet. Unknown keys grant nothing.
objectiveNo
candidatesNoOmit to route among the GSPC MCP tools. A candidate field the router does not know makes that candidate UNCHECKABLE (never permitted); sponsor/bid/placement fields are ignored.
data_classNoDefault public. A non-public class is routed only to candidates that declare it in data_class_allowed.
needs_writeNo
task_sha256NoAlternative to task: its sha256.

Output Schema

NameRequiredDescription
modeNo
noteNo
labelNo
stateYes
chosenNo
errorsNo
recordNo
signedNo
previewNo
forbiddenNo
permittedNo
consideredNo
separationNo
http_statusNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly=true/idempotent=true/destructive=false, and the description reinforces rather than contradicts these. It adds substantial beyond-annotation context: task text is hashed and never stored, nothing is executed/called/charged, unknown policy keys grant nothing, unmeasured candidates are UNTESTED (never 0), sponsor/bid/placement are ignored, and separation-of-leader semantics for declared candidates.

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?

It is a dense block but front-loads the core purpose and each sentence carries operational meaning (UNTESTED rules, tie_break, hashing, NOT_ENABLED). Some mild repetition of 'free, decide-only' from the title, and the run-on paragraph could be broken up, but waste is low for a tool of this complexity.

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?

An output schema exists so return values need no prose. For an 8-parameter tool with nested policy/objective/candidate objects and an open-world routing decision, the description covers the decision rules, failure/degenerate outcomes, and privacy behavior an agent needs to call it correctly.

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?

With ~75% schema coverage the baseline is 3, but the description adds real meaning: it enumerates policy presets, explains tie_break ordering, notes the quality axis reads the live board, describes data_class routing, and warns that an unknown candidate field makes it UNCHECKABLE while sponsor fields are ignored. Only the objective weights values (cost/latency/quality) go unexplained.

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 action (applies YOUR policy + the fixed GSPC floor to a candidate set) and a specific return (the chosen candidate, the basis, and an unsigned route record). This is clearly distinguishable from read-only siblings like board_totals, get_axis, and the verify_* tools. An agent can tell what this does 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?

Explains when it applies: candidates default to GSPC MCP tools or ones you declare; with none declared the tool matching the task purpose is chosen; when nothing matches the answer is UNTESTED. It also flags that mode=execute answers NOT_ENABLED, steering callers to decide. It never names a sibling as an alternative, but the usage conditions are concrete and unambiguous.

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

rwa_evidenceRWA asset evidence (paid, x402; preview free)AInspect

PAID (x402). Per-request signed evidence card of ONE XRPL issued asset's deterministic on-ledger state via https://councilof.ai/api/rwa/evidence: AccountRoot lsf* flags, Domain, the two-way xrp-ledger.toml check (PASS / FAIL / UNCHECKABLE — unreachable is never FAIL), gateway_balances obligation, holders as the free reader has them, every raw fetch sha256'd. preview=true is free (unsigned state). Historical state at fetched_at — not a rating, not a guarantee, not a conformity mark; /api/xrpl and /root.json stay free. Without x_payment the tool returns the 402 challenge. If the route is not deployed on this origin the tool says NOT_DEPLOYED.

NameRequiredDescriptionDefault
assetYesSymbol (as listed by https://councilof.ai/api/xrpl) or issuer r-address.
previewNotrue = free unsigned state.
x_paymentNoThe X-PAYMENT header value signed against accepts[] from the previous 402. Omit to receive the challenge.

Output Schema

NameRequiredDescription
toolNo
routeNo
statusYesPAYMENT_REQUIRED, DELIVERED, NOT_DEPLOYED, UNREACHABLE, UNREADABLE_RESPONSE, BAD_ARGUMENTS or HTTP_<code>
acceptsNo
resourceNo
deliverableNo
http_statusNo
x402VersionNo
delivery_stateNo
settlement_stateNo
payment_presentedNo
not_a_certificationNo

TDQS

A4.6/5.0
Behavior5/5

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

The description goes far beyond annotations, disclosing the x402 payment flow, the deterministic state contents, the 'unreachable is never FAIL' rule, the sha256 hashing of raw fetches, the historical fetched_at semantics, and the NOT_DEPLOYED behavior. This is rich behavioral context that annotations do not provide.

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 dense but front-loaded with the most important fact ('PAID (x402)') and each clause adds useful detail. It is somewhat long and run-on, but every sentence earns its place for a tool with a payment flow and multiple behavioral caveats.

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?

Given the x402 payment complexity, the output schema already exists, and the description covers payment, preview, failure modes, deployment status, and what the evidence is not, the definition is complete enough for an agent to invoke the tool correctly.

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 the baseline is 3. The description adds meaningful semantics beyond the schema by explaining that preview=true yields free unsigned state and that omitting x_payment returns the 402 challenge. This helps the agent understand the payment handshake.

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?

The description opens with 'PAID (x402). Per-request signed evidence card of ONE XRPL issued asset's deterministic on-ledger state' and names the exact endpoint. It clearly identifies the resource and the operation, and the 'not a rating, not a guarantee, not a conformity mark' phrasing helps distinguish it from certification-style sibling tools.

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?

The description gives clear usage context: it is paid, preview=true is free, and omitting x_payment returns the 402 challenge. It does not explicitly name sibling alternatives or state when not to use it, so it stops short of full exclusion guidance.

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

server_evidenceEvery published capsule about one endpointA
Read-onlyIdempotent
Inspect

Trust per server, not totals: every published measurement capsule about ONE endpoint URL across all batches — MCP contract-parity dimensions (AUTH, PAYMENT, PROTOCOL, TOOLS, VERSION), A2A card-signature state, self-parity cells for CSOAI's own doors, and any later adapter (e.g. tool drift) — each with its measurement_state, observed_at, correction_pointer, limitations, batch Merkle root and an inclusion pointer for independent verification. Read from a static per-endpoint shard keyed by sha256 of the normalised URL. An endpoint with no capsule answers NOT_MEASURED with an empty list — never an error and never a clean bill. No verdict, score or ranking: measurement, not endorsement.

NameRequiredDescriptionDefault
endpoint_urlYesPublic HTTP(S) endpoint URL whose already-published measurement capsules should be read, e.g. https://example.com/mcp.

Output Schema

NameRequiredDescription
stateYes
reasonNo
capsulesNo
doctrineNo
endpointNo
n_capsulesNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, open-world), and the description adds substantial behavior beyond them: the static shard keyed by sha256 of the normalised URL, the NOT_MEASURED-with-empty-list contract ('never an error and never a clean bill'), the explicit absence of verdicts/scores/rankings, and the inclusion of Merkle root and inclusion pointer for independent verification.

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 operative framing ('Trust per server, not totals') and every sentence carries information rather than filler. The first sentence is very long and packs a parenthetical enumeration of dimensions, which costs some readability but does not waste space.

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?

The tool has an output schema, so return values need no prose, yet the description still covers the empty/absent case, the state taxonomy fields, and verification affordances. Nothing an agent needs to call this correctly is missing.

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 the baseline is 3, but the description adds real semantics by explaining the URL is normalised and hashed to select the shard, implying case/trailing-slash variants resolve to the same capsule set. That goes beyond the schema's format/pattern constraints.

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 precise verb+resource ('every published measurement capsule about ONE endpoint URL across all batches') and enumerates the capsule families returned, which clearly separates it from aggregate siblings like board_totals and from verify_* tools that validate a single capsule. An agent can tell it apart from the other evidence tools 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 Guidelines3/5

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

'Trust per server, not totals' implies it is the per-endpoint counterpart to the totals tools, which gives useful framing. But no alternative tool is named and no explicit when/when-not condition is stated, so routing versus mcp_trust, measurement_index or verify_capsule is left to inference.

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

verify_capsuleVerify one measurement capsuleA
Read-onlyIdempotent
Inspect

Verify one measurement capsule. Pass capsule_json as the capsule's JSON TEXT (exact: number lexemes are kept) or as an object. Recomputes capsule_id (sha256 of the canonical JSON without capsule_id), picks the rule by the capsule's schema (csoai.measurement-capsule/0.2: RFC 6962 Merkle with 0x00/0x01 domain separation; the superseded v0.1 capsule schema: the v0.1 rule), finds the published batch of the same kind, recomputes that batch's root from its published leaves, and returns the audit path of this capsule against the root named by the signed index. States: INCLUDED, NOT_INCLUDED, ID_MISMATCH, UNCHECKABLE, NOT_PUBLISHED. Verifying is free forever. It proves the bytes were published and bound; what they measured is the capsule's own measurement_state and limitations — measurement, not endorsement.

NameRequiredDescriptionDefault
capsule_jsonYesThe capsule: its JSON text (preferred, byte-exact) or the parsed object.

Output Schema

NameRequiredDescription
batchNo
stateYes
reasonNo
doctrineNo
inclusionNo
capsule_idNo
index_signatureNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already mark this as read-only, idempotent, and non-destructive, and the description adds substantial detail beyond that: recomputing capsule_id, picking the schema rule, finding the published batch, recomputing the root, and returning an audit path. It also discloses all possible output states and the semantic limit that verification is proof of publication, not endorsement. No contradiction with annotations.

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 dense and information-rich rather than padded, front-loading the core action and input requirement. The caveat about measurement vs endorsement adds value; the enumerated output states are slightly redundant with the output schema but still useful in a single glance.

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 single-parameter, read-only tool with an output schema, the description is fully sufficient. It covers the input format, the verification algorithm, all result states, cost, and semantic limitations, leaving no critical operational knowledge missing.

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?

The schema covers the single parameter 100%, providing a baseline of 3. The description adds meaningful nuance by explaining that JSON text is preferred for byte-exactness and that number lexemes are preserved, which helps the agent choose the correct input form.

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?

The description opens with a specific verb and resource, 'Verify one measurement capsule', and then defines the exact domain and schema ('csoai.measurement-capsule/0.2'). This distinguishes it clearly from sibling tools like verify_card and verify_inclusion, and it does not merely restate the title.

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?

The description gives clear input guidance: pass capsule_json as byte-exact JSON text or an object. It also explains what verification proves and what it does not prove. However, it does not explicitly contrast this tool with siblings such as verify_inclusion, so the when-to-use-vs-alternative guidance is implicit rather than explicit.

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

verify_cardVerify a signed measurement card (free)A
Read-onlyIdempotent
Inspect

Verify a signed gspc.measurement-card under the published rule (https://councilof.ai/signed/HOW-TO-VERIFY.md): recompute the id from the canonical body bytes, then check the Ed25519 signature under a key PINNED in this verifier and published in the did:web:csoai.org DID document: #card-attestation-1 (the card key of the signed card index) or #card-attestation-2 (the card key added on rotation, 27 Sep 2026; a card names the key it was signed under), plus the board key for the cards it signed. pinned_key in the result names the key that matched. A card that carries its own key proves only that the file is self-consistent — anyone can alter a body and sign it with a key they just generated — so an inline key outside the pinned set is reported INVALID, and a DID key reference outside it UNCHECKABLE. Three verdicts, never two: VALID, INVALID (with the reason), or UNCHECKABLE when the check could not be completed — 'could not check' is a different claim from 'forged'. Accepts the card as a JSON object, a JSON string, a councilof.ai / csoai.org URL, or a 64-hex card id (the record id shown on the site and the card field of list_cards), which resolves to https://councilof.ai/signed/cards/{id}.json. Never a certification.

NameRequiredDescriptionDefault
cardYesThe signed card: an object, a JSON string, a councilof.ai / csoai.org URL to one, or a 64-hex card id (resolved to https://councilof.ai/signed/cards/{id}.json).

Output Schema

NameRequiredDescription
idNo
noteNo
ruleNo
stateYesVALID, INVALID or UNCHECKABLE
checksNo
familyNo
reasonNo
reasonsNo
pinned_keyNo
resolved_fromNoPresent when a 64-hex card id was passed: the id asked about and the URL fetched for it.
not_a_certificationNo

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent/openWorld annotations by disclosing the pinned-key model, the trust distinction between inline keys and DID references, and the three-verdict outcome model (VALID/INVALID/UNCHECKABLE). This is exactly the kind of behavioral detail an agent needs to interpret results and avoid treating 'could not check' as forgery.

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 the rule link, and every clause conveys substantive information. It is a dense single block rather than cleanly segmented, which slightly hurts readability but not content economy.

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?

Output schema exists so return values need not be explained, and the description still covers verification mechanics, key trust boundaries, verdict semantics, and input resolution. Nothing an agent needs to invoke or interpret the tool is missing.

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% and the single param's anyOf forms are already documented, so the baseline is 3. The description adds meaning by tying the id form to its origin ('the record id shown on the site and the card field of list_cards') and to the resolution URL, giving context the schema alone does not.

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 (verify) plus the exact resource (a signed gspc.measurement-card) and names the governing rule document. It is clearly distinguishable from siblings like verify_capsule and verify_inclusion by naming the artifact it checks.

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?

Explains when the tool applies (checking a signed card against a pinned key set) and enumerates the accepted input forms and the resolution behavior for a 64-hex id. It does not, however, explicitly contrast itself with the sibling verifiers or say when not to use it.

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

verify_inclusionMerkle inclusion checkA
Read-onlyIdempotent
Inspect

Check a sha256 against the live public-root merkle via GET /api/proof?sha=. Three states only: VALID (included), INVALID (not a leaf), UNCHECKABLE (proof endpoint unreachable). Does not claim Ed25519 unless sig_ed25519 is present and checked separately. Never a grade.

NameRequiredDescriptionDefault
sha256Yes64-char hex digest to test for inclusion.

Output Schema

NameRequiredDescription
stateYesVALID, INVALID or UNCHECKABLE
reasonNo
sha256No
merkle_rootNo

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already provide readOnly, idempotent, and non-destructive hints, and the description adds substantial behavior beyond those: the exact HTTP GET mechanism, the three-state output contract (VALID, INVALID, UNCHECKABLE), the failure mode for an unreachable endpoint, and limitations around Ed25519. This is rich, non-redundant context.

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?

Three sentences, each carrying unique information: the action and endpoint, the allowed return states, and the explicit non-claims. The most important information is front-loaded, and there is no filler.

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?

With a single well-documented parameter, complete annotations, and an output schema, the description still covers the essential behavioral details an agent needs: the endpoint, the three possible outcomes, and the failure mode. Nothing required for correct invocation 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?

The input schema already fully documents the only parameter as a '64-char hex digest', so schema-description coverage is 100%. The description does not add parameter-level meaning beyond the schema, so the baseline of 3 applies.

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?

The description states a specific verb and resource: 'Check a sha256 against the live public-root merkle via GET /api/proof?sha='. It also distinguishes itself from sibling tools by explicitly excluding Ed25519 claims and grading, making its scope unmistakable.

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?

The description gives clear exclusions: it does not claim Ed25519 and is never a grade, which tells an agent when not to use it. However, it does not name an alternative sibling tool or state a positive 'use this when...' condition, so it stops short of fully explicit routing.

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

x402_trustx402 catalog trust snapshotA
Read-onlyIdempotent
Inspect

GET the latest x402 catalog trust snapshot: counts of how many catalogued x402 resources open a correct 402 challenge vs how many are phantom on the wire. Counts only by doctrine — host details withheld; a 402 is NOT delivery; measurement, never certification.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
kindNo
as_ofNo
stateYesVALID or UNREACHABLE
countsNo
sourceNo
headlineNo

TDQS

A4.5/5.0
Behavior5/5

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

The description adds meaningful behavioral context beyond the annotations: host details are withheld, counts are doctrine-only, and a 402 is explicitly not delivery. These caveats clarify both scope and limitations in a way the schema and annotations alone would not convey.

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?

The entire definition is a single dense sentence that front-loads the operation and resource, then packs essential caveats into semicolon-separated clauses. Every phrase earns its place; there is no redundant wording.

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 zero-parameter read-only snapshot with an output schema, the description is fully adequate. The annotations cover safety and idempotence, and the description covers semantic limitations. Nothing needed to call this tool correctly is missing.

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?

The tool has zero parameters and 100% schema coverage, so the description has no parameter burden. The baseline of 4 applies; the description appropriately makes clear this is a no-input snapshot call.

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?

The description clearly identifies a specific verb ('GET'), a specific resource ('x402 catalog trust snapshot'), and the exact data being returned (counts of correct 402 challenges vs phantom resources). It is distinct from sibling tools like mcp_trust by focusing on x402 catalog counts, not general trust or individual records.

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 this tool: when you need aggregate x402 catalog trust counts by doctrine. It also warns 'measurement, never certification,' suggesting it should not be used for certification decisions. However, it does not explicitly name alternatives or state exclusion conditions, leaving some inference required.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Addedframework_readiness
  2. 1 tool update
    • Addedaxis_watchdog-ingest
  3. 1 tool update
    • Removedaxis_watchdog-ingest
  4. 1 tool update
    • Addedaxis_watchdog-ingest
  5. 1 tool update
    • Removedaxis_watchdog-ingest
  6. 1 tool update
    • Addedaxis_watchdog-ingest
  7. 33 tool updates
    • Addedaxis_affect
    • Addedaxis_ai-adoption-components
    • Addedaxis_art5-safeguard
    • Addedaxis_care
    • Addedaxis_claim-maintenance
    • Addedaxis_company-practice
    • Addedaxis_conformance
    • Addedaxis_continuity
    • Addedaxis_cross-reality
    • Addedaxis_custody-disclosure
    • Addedaxis_detector-interop
    • Addedaxis_distribution-integrity
    • Addedaxis_effect-binding
    • Addedaxis_governance
    • Addedaxis_harness-fidelity
    • Addedaxis_humanoid-deployment
    • Addedaxis_humanoid-labour-index
    • Addedaxis_interop-conformance
    • Addedaxis_interpretability-reproducibility
    • Addedaxis_jail
    • Addedaxis_lab-practice
    • Addedaxis_labour-components
    • Addedaxis_machinery-conformity
    • Addedaxis_measurer-integrity
    • Addedaxis_openness
    • Addedaxis_provenance
    • Addedaxis_provenance-controls
    • Addedaxis_regulator-transparency
    • Addedaxis_regulatory-framework
    • Addedaxis_reserve-attestation
    • Addedaxis_safety
    • Addedaxis_serving-fidelity
    • Addedaxis_swarm
  8. 1 tool update
    • Changedroute1 field changed
      • changedOutput schema / properties / state / enum
        Previous value: -[
        -  "ROUTED",
        -  "NO_PERMITTED_CANDIDATE",
        -  "BAD_ARGUMENTS",
        -  "NOT_ENABLED"
        -]New value: +[
        +  "ROUTED",
        +  "NO_PERMITTED_CANDIDATE",
        +  "UNTESTED",
        +  "BAD_ARGUMENTS",
        +  "NOT_ENABLED"
        +]
  9. 2 tool updates
    • Changedart50_marking_evidence4 fields changed
      • changedInput schema / properties / url / description
        Previous value: -"Public http(s) URL of the generative output to measure (≤20 MiB)."New value: +"Public HTTP(S) URL of the generative output to measure (≤20 MiB). The server fetches only this declared measurement subject."
      • addedInput schema / properties / url / format
        Added value: +"uri"
      • addedInput schema / properties / url / maxLength
        Added value: +2048
      • addedInput schema / properties / url / pattern
        Added value: +"^https?://"
    • Changedserver_evidence4 fields changed
      • changedInput schema / properties / endpoint_url / description
        Previous value: -"The endpoint URL, e.g. https://example.com/mcp or an agent-card URL."New value: +"Public HTTP(S) endpoint URL whose already-published measurement capsules should be read, e.g. https://example.com/mcp."
      • addedInput schema / properties / endpoint_url / format
        Added value: +"uri"
      • addedInput schema / properties / endpoint_url / maxLength
        Added value: +2048
      • addedInput schema / properties / endpoint_url / pattern
        Added value: +"^https?://"
  10. 2 tool updates
    • Changedart50_marking_evidence4 fields changed
      • changedInput schema / properties / url / description
        Previous value: -"Public HTTP(S) URL of the generative output to measure (≤20 MiB). The server fetches only this declared measurement subject."New value: +"Public http(s) URL of the generative output to measure (≤20 MiB)."
      • removedInput schema / properties / url / format
        Removed value: -"uri"
      • removedInput schema / properties / url / maxLength
        Removed value: -2048
      • removedInput schema / properties / url / pattern
        Removed value: -"^https?://"
    • Changedserver_evidence4 fields changed
      • changedInput schema / properties / endpoint_url / description
        Previous value: -"Public HTTP(S) endpoint URL whose already-published measurement capsules should be read, e.g. https://example.com/mcp."New value: +"The endpoint URL, e.g. https://example.com/mcp or an agent-card URL."
      • removedInput schema / properties / endpoint_url / format
        Removed value: -"uri"
      • removedInput schema / properties / endpoint_url / maxLength
        Removed value: -2048
      • removedInput schema / properties / endpoint_url / pattern
        Removed value: -"^https?://"
  11. 2 tool updates
    • Changedart50_marking_evidence4 fields changed
      • changedInput schema / properties / url / description
        Previous value: -"Public http(s) URL of the generative output to measure (≤20 MiB)."New value: +"Public HTTP(S) URL of the generative output to measure (≤20 MiB). The server fetches only this declared measurement subject."
      • addedInput schema / properties / url / format
        Added value: +"uri"
      • addedInput schema / properties / url / maxLength
        Added value: +2048
      • addedInput schema / properties / url / pattern
        Added value: +"^https?://"
    • Changedserver_evidence4 fields changed
      • changedInput schema / properties / endpoint_url / description
        Previous value: -"The endpoint URL, e.g. https://example.com/mcp or an agent-card URL."New value: +"Public HTTP(S) endpoint URL whose already-published measurement capsules should be read, e.g. https://example.com/mcp."
      • addedInput schema / properties / endpoint_url / format
        Added value: +"uri"
      • addedInput schema / properties / endpoint_url / maxLength
        Added value: +2048
      • addedInput schema / properties / endpoint_url / pattern
        Added value: +"^https?://"

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables inspection and verification of X.509 certificates and chains, CRLs, OCSP responses, CMS signatures and RFC 3161 timestamps, along with issuing certificates and CSRs, decoding ASN.1/PEM/OIDs, and opening PKCS#8 and PKCS#12 files without ever returning a key byte. Runs entirely offline with no network access, exposing 34 tools to any MCP client.
    34
    82 npm
    MIT
  • F
    license
    Not graded
    quality
    F
    maintenance
    A governed MCP server exposing 37 risk-checked tools with signed Ed25519 receipts on a Bitcoin-anchored ledger, failing closed if governance or receipt writing fails.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Reference implementation of HiveAttest claims for autonomous agents, exposing 19 tools for attestation, custody, cargo, warranty, and gate evaluation with real Ed25519 signatures.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources