Skip to main content
Glama

mcp-kinetic-gain

One MCP server, all twelve Kinetic Gain Protocol Suite specs + the v0.1.0 implementation tooling + the DefenseTech 6-pack semantics (8 tools). Drop into Claude Desktop, Cursor, or any MCP-compatible client with a single config entry. The agent gains 75 tools (47 spec + 16 implementation-preview + 8 DefenseTech + 4 AI Claims Decision Card, v0.9.0): AEO Protocol, Prompt Provenance, Agent Cards, AI Evidence Format, MCP Tool Cards, AI Tutor Cards, Student AI Disclosure, Classroom AI AUP, Clinical AI Disclosure, AI Incident Card, AI Procurement Decision Card, AI Claims Decision Card - plus hash attestation (ed25519), audit-stream event composition + chain verification (offline AND live against a running audit-stream-py via AUDIT_STREAM_URL), cross-spec drift detection, Decision Intelligence preview, and the DefenseTech vault resolver + invariant checkers. New in v0.9.0: the AI Claims Decision Card (InsurTech, claims_card_version) - claims_card_validate, claims_card_inspect, claims_card_sign, claims_card_chain.

This is the agent-facing companion to kinetic-gain-visualizer: the visualizer renders the specs for humans, while this server exposes validation and workflow tools for agents. The optional audit_event_emit tool sends an event to a configured audit-stream service.

Tools

  • aeo_fetch - Fetch the full AEO Protocol declaration at an origin's

  • aeo_inspect - Return a structured summary of an AEO declaration: entity

  • aeo_get_claim - Extract a single AEO claim by ID

  • aeo_well_known_url - Compute the canonical AEO well-known URL for an origin

  • prompt_provenance_validate - Validate a Prompt Provenance JSON document against the v0.1

  • prompt_provenance_inspect - Structured summary of a Prompt Provenance document: prompt

  • prompt_provenance_eval_result - Extract a single evaluation suite's result from a Prompt

  • agent_card_well_known_url - Compute the canonical Agent Card well-known URL for a given

  • agent_card_inspect - Structured summary of an Agent Card document

  • agent_card_tool_disclosure - Return the list of tools an agent declares, with side-effect

  • agent_card_validate - Validate an Agent Card JSON document against the v0.1 schema.

  • ai_evidence_validate - Validate an AI Evidence object against the v0.1 schema.

  • ai_evidence_inspect - Structured summary of an AI Evidence object: claim text

  • ai_evidence_verify_hash - Compute SHA-256 over the canonical UTF-8 form of

  • tool_card_well_known_url - Compute the canonical MCP Tool Card well-known URL

  • tool_card_inspect - Structured summary of an MCP Tool Card: tool identity, safety

  • tool_card_tested_with - Return the tested-LLM entries for a tool, optionally filtered

  • tool_card_validate - Validate an MCP Tool Card JSON document against the v0.1

  • tutor_card_well_known_url - Compute the canonical AI Tutor Card well-known URL

  • tutor_card_fetch - Fetch a Tutor Card from a URL

  • tutor_card_validate - Validate an AI Tutor Card JSON document against the v0.1

  • tutor_card_inspect - Structured summary of a Tutor Card: tutor identity, audience

  • tutor_card_subject_check - Classify a topic against the tutor's subject scope

  • tutor_card_coppa_check - Enforce the spec's COPPA conditional rule: if

  • disclosure_validate - Validate a Student AI Disclosure JSON document against the

  • disclosure_inspect - Structured summary of a Student AI Disclosure: assignment

  • disclosure_verify_artifact_hash - Recompute SHA-256 over a candidate artifact and compare to

  • disclosure_verify_prompt_hash - Verify a single prompt hash in a hashed-mode disclosure

  • disclosure_aup_check - Surface the disclosure's declared policy posture and any

  • aup_well_known_url - Compute the canonical Classroom AI AUP well-known URL

  • aup_fetch - Fetch a Classroom AI AUP from a URL

  • aup_validate - Validate a Classroom AI AUP JSON document against the v0.1

  • aup_inspect - Structured summary of a Classroom AI AUP: policy identity

  • aup_check_compliance - Compare an AUP with a Student AI Disclosure on eight declared

  • clinical_ai_well_known_url - Compute the canonical Clinical AI Card well-known URL

  • clinical_ai_fetch - Fetch a Clinical AI Card from a URL

  • clinical_ai_validate - Validate a Clinical AI Card JSON document against the v0.1

  • clinical_ai_inspect - Structured summary of a Clinical AI Card: system identity

  • incident_well_known_url - Compute the canonical AI Incident Card well-known URL

  • incident_fetch - Fetch an AI Incident Card from a URL

  • incident_validate - Validate an AI Incident Card JSON document against the v0.1

  • incident_inspect - Structured summary of an AI Incident Card: incident identity

  • incident_index_fetch - HEADLINE TOOL, fetch a vendor's

  • decision_card_well_known_url - Compute the canonical AI Procurement Decision Card well-known

  • decision_card_fetch - Fetch an AI Procurement Decision Card from a URL

  • decision_card_validate - Validate an AI Procurement Decision Card JSON document

  • decision_card_inspect - Structured summary of an AI Procurement Decision Card: buyer

  • decision_card_infer_status - Validate each rubric row, then infer a preview decision.status

  • decision_card_to_policy_bundle - Read-only deny preview for rejected, withdrawn, expired, or

  • decision_card_signature_check - Structural check on a Decision Card's signatures[] block

  • incident_affected_walk - Walk an Incident Card's affected block and return every

  • incident_remediation_plan - Map each affected URI in an Incident Card to a recommended

  • attestation_canonical_hash - Compute the SHA-256 canonical-JSON hash of an arbitrary value

  • attestation_verify - Verify an ed25519 Attestation envelope against a body and

  • attestation_inspect - Pretty-print an Attestation envelope with structural

  • audit_event_compose - Build a ready-to-POST audit-stream-py GovernanceEvent

  • audit_chain_verify - Walk an array of GovernanceEvents top-to-bottom and verify

  • audit_event_inspect - Pretty-print one GovernanceEvent with structural validation

  • audit_event_emit - POSTs a governance event to the audit-stream-py instance

  • audit_events_query - GET recent governance events from a running audit-stream-py

  • audit_chain_verify_live - Ask the configured audit-stream service to check its full

  • suite_doc_detect_spec - Detect which Kinetic Gain Suite spec a JSON document is by

  • suite_doc_drift - Structural diff between two versions of the same Suite

  • defensetech_vault_resolve_3axis - Deterministic preview of a DefenseTech 3-axis vault contract

  • defensetech_audit_event_check_invariants - Run three deterministic DefenseTech event checks: CUI

  • defensetech_check_dfars_72h_clock - Calculate the DFARS 252.204-7012 discovery-to-filing 72-hour

  • defensetech_check_cui_distribution_statement - Check that a CUI-Specified+ tier event carries the required

  • defensetech_check_itar_us_person - Check that an ITAR resource event has US-PERSON-VERIFIED (or

  • defensetech_incident_classify_event_type - Given a freeform description of a defense-AI incident

  • defensetech_summarize_cmmc_evidence_bundle - Summarize a CMMC L2/L3 readiness evidence bundle: target

  • defensetech_vault_contract_cross_binding_check - Verify the cross_binding_refs block on a DefenseTech vault

  • claims_card_validate - Validate an AI Claims Decision Card against the bundled v0.1

  • claims_card_inspect - Structured summary of an AI Claims Decision Card: claim type

  • claims_card_sign - Compute the canonical SHA-256 hash of an AI Claims Decision

  • claims_card_chain - Link a new AI Claims Decision Card to its predecessor: sets

Specs with a well-known URL convention (AEO, Agent Cards, Tool Cards) get fetch tools. Specs without one (Prompt Provenance, AI Evidence - these usually travel inline with answers or in repos, not at fixed paths) get parse tools that take a document_json string.

Related MCP server: mneme-ai

Network and data boundaries

URL fetch tools make outbound HTTP(S) requests to user-supplied origins. The server rejects local and nonpublic destinations, rechecks redirects, and limits JSON responses to 1 MB. The optional live audit tools require both AUDIT_STREAM_URL and AUDIT_STREAM_TOKEN in the MCP server's environment. The token must match the audit-stream service's bearer token and have at least 32 visible ASCII characters. Use HTTPS for a remote service; HTTP is accepted only for loopback development. Missing or invalid configuration returns an error without sending a request. audit_event_emit sends kind, caller-asserted source, and payload to the configured service and validates its event receipt. The receipt does not prove durable storage or event completeness. Its shared token authenticates this MCP process, not the source label or tenant. Approve the write before calling it; omit secrets and personal data unless the service is approved for them. Hash-chain verification checks continuity only; it does not prove audit completeness.

Schema validation checks the document shape and selected rules. A passing result is not proof of FERPA, COPPA, HIPAA, FDA, EU AI Act, CMMC, export-control status, or other legal compliance. attestation_verify checks a signature against the public key supplied by the caller; it does not establish the key owner's identity. aup_check_compliance evaluates eight disclosed fields only; it does not check policy scope, tool/vendor requirements, parent consent, or Tutor Cards. A true allowed value is not an authorization grant. DefenseTech tools calculate from supplied data; they do not classify materials or verify a person's status or license. Positive Decision Cards require the live policy engine's identity, scope, action, expiry, and trusted-attestation checks before an enforceable bundle can be created.

The DefenseTech 72-hour clock uses the time an incident was discovered, not when it occurred or when an audit event was created. Supply discovered_at and filed_at with time zones; see DFARS 252.204-7012. A report's actual submission and contract applicability require external evidence.

Start with a task

  • Review a card: pass a parsed document to claims_card_validate, then use claims_card_inspect to summarize its declared decision. Investigate any validation failure before relying on the summary.

  • Compare drafts: call suite_doc_drift with two versions of the same Suite document to see structural changes before publication.

  • Check a signature: call attestation_verify with a public key obtained through a trusted channel; separately confirm that the key belongs to the claimed signer.

  • Record an event: prepare the payload with audit_event_compose, review it for sensitive data, then call audit_event_emit only when the configured audit-stream service and write are approved.

Install

The commands below install the version currently published on npm. To run this source checkout instead, use npm ci, npm run build, then node dist/server.js. Check npm view mcp-kinetic-gain version before relying on a particular source change.

npm install -g mcp-kinetic-gain

Or run without installing via npx:

npx mcp-kinetic-gain

For a controlled deployment, pin a reviewed package version in the client config (mcp-kinetic-gain@<version>) and upgrade deliberately.

Claude Desktop config

Add to your claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

{
  "mcpServers": {
    "kinetic-gain": {
      "command": "npx",
      "args": ["-y", "mcp-kinetic-gain"]
    }
  }
}

Restart Claude. All 75 tools appear in the tools panel. Try:

"Use aeo_inspect on https://mizcausevic-dev.github.io to summarize the entity declaration, then use ai_evidence_verify_hash to check the content_hash of an evidence object against my candidate text."

CLI mode (v0.5.1+)

The same binary doubles as a Suite JSON validator outside any MCP host. Useful in CI, pre-commit hooks, or local sanity-checks.

# Validate a single document
npx mcp-kinetic-gain validate path/to/ai-entity.json

# Validate a tree of well-known files
npx mcp-kinetic-gain validate ".well-known/**/*.json"

# Multiple paths or globs
npx mcp-kinetic-gain validate cards/clinical-*.json cards/incident-*.json

# Other commands
npx mcp-kinetic-gain --version
npx mcp-kinetic-gain --help

The CLI auto-detects which Suite spec each file belongs to via its top-level version field (aeo_version, clinical_ai_card_version, aup_version, etc.) and validates it against the same zod schemas the MCP tools use. Output is GitHub-Actions-aware: when GITHUB_ACTIONS=true, failures emit ::error:: workflow commands so they surface as PR annotations.

Exit codes:

Code

Meaning

0

Every matched file passed validation

1

At least one file failed validation, failed to parse, or no files matched

2

No file in the input matched a known Suite spec

3

Usage error (missing arg, unknown command or flag)

Running mcp-kinetic-gain with no arguments still launches the stdio MCP server - existing Claude Desktop / Cursor configs are unaffected.

Why one server instead of five?

  • One Claude Desktop config entry instead of five

  • Cross-spec workflows are atomic - an agent can agent_card_tool_disclosure to find a Tool Card URI, then call tool_card_inspect on that URI in the same conversation, all through one server

  • Shared schemas + utilities keep the implementation cohesive

  • Deprecation path - if mcp-aeo-server (the AEO-only predecessor) gets retired, the AEO tools live on here with the same names and contracts

Architecture

src/
├── server.ts              # MCP entrypoint and handler dispatch
├── cli.ts                 # JSON validation CLI
├── tools.ts               # 75 tool descriptors (JSON Schema inputs)
├── schemas.ts             # Zod schemas for the 12 specs
├── common.ts              # guarded fetch and canonical hashes
└── handlers/              # one module per spec plus cross-spec and live tools

Each handler module is independent and could be split into a separate package if needed.

Hash canonicalization

ai_evidence_verify_hash follows the AI Evidence Format spec's canonical SHA-256 rules:

  1. Read content as UTF-8

  2. Normalize line endings to \n

  3. Strip a single trailing newline

  4. SHA-256, lowercase hex, prefixed sha256:

If your candidate_text produces an unexpected mismatch, check CRLF vs LF and trailing newlines first.

Tests

Run the unit and local HTTP tests without an external service:

npm install
npm run typecheck
npm test
npm run build

License

This server: AGPL-3.0. If a modified version serves users over a network, the AGPL requires an offer of Corresponding Source to those users under its terms. See the GNU AGPL FAQ and LICENSE.

The specs themselves: MIT. Maximally permissive. Anyone may implement, validate against, or extend any Kinetic Gain Protocol Suite specification. The dual-license split is deliberate: the protocol stays open, the reference server is copyleft.

Kinetic Gain Protocol Suite

75 tools total across the twelve specs below plus cross-cutting ops (hash attestation, audit-stream events, cross-spec drift) and the DefenseTech tooling. See the Tools catalog above for the full per-tool list (47 spec + 16 implementation-preview + 8 DefenseTech + 4 AI Claims Decision Card).

Spec

Vertical

AEO Protocol

Core

Prompt Provenance

Core

Agent Cards

Core

AI Evidence Format

Core

MCP Tool Cards

Core

AI Tutor Cards

EdTech

Student AI Disclosure

EdTech (FERPA/COPPA)

Classroom AI AUP

EdTech

Clinical AI Disclosure

HealthTech (FDA SaMD + HIPAA)

AI Incident Card

Cross-cutting (EU AI Act Article 73)

AI Procurement Decision Card

Cross-cutting (buyer-side, OMB M-24-10 / NIST AI RMF rubric-friendly)

AI Claims Decision Card

InsurTech

Suite hub: suite.kineticgain.com Companion visualizer: kinetic-gain-visualizer Red-team bench: prompt-injection-bench Reference library: kgp-verify (npm kinetic-gain-protocol, zero-dep MIT hash/sign/verify for KGP)


Connect: LinkedIn · Kinetic Gain · Medium · Skills

Available Tools

75 tools
aeo_fetchA

Fetch the full AEO Protocol declaration at an origin's /.well-known/aeo.json. Returns the raw conforming JSON document.

ParametersJSON Schema
NameRequiredDescriptionDefault
originYesOrigin URL (e.g. 'https://mizcausevic-dev.github.io').

TDQS

A3.8/5.0
Behavior3/5

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

Descripton states returns raw JSON but does not disclose potential errors, authentication needs, or side effects. Since annotations are absent, description carries full burden but is minimally adequate.

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 concise sentences with action-verb front-loading. No unnecessary words.

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 single parameter and no output schema, description is largely complete for a simple fetch operation. Could mention error behavior, but sufficient for typical use.

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?

100% schema description coverage means schema already documents the parameter. Tool description does not add semantics beyond what schema provides. Baseline score of 3 is appropriate.

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

Purpose5/5

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

Descripton clearly states verb 'Fetch' and resource 'full AEO Protocol declaration' with specific URL path. Distinguishes from siblings like aeo_inspect or aeo_get_claim by focusing on raw document retrieval.

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 when-to-use or when-not-to-use guidance. Implications from description suggest it's for fetching raw JSON, but lacks comparison with sibling tools.

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

aeo_get_claimC

Extract a single AEO claim by ID. Returns the claim object or a not-found error listing available claim IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
originYes
claim_idYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description must disclose all behavioral traits. It indicates a read operation and describes the not-found error, but lacks detail on side effects, authentication requirements, rate limits, or whether it modifies state. The bare minimum is covered.

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

Conciseness4/5

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

The description is a single concise sentence front-loaded with the action. It contains no redundant words, efficiently conveying the core purpose and error handling. However, it could be expanded without losing conciseness.

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

Completeness2/5

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

Given no output schema and 0% schema coverage, the description should compensate with thorough details. It falls short: it does not describe the return value aside from 'claim object', nor does it explain the absolute necessity of origin. For a simple fetch tool, it is incomplete.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must explain parameters. It only implies that claim_id is used for identification, but does not clarify the origin parameter (URI format) or any constraints. The schema itself has no descriptions, leaving both parameters largely undefined for the agent.

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 extracts a single AEO claim by ID, specifying the verb 'extract' and the resource 'AEO claim'. It also distinguishes itself from siblings like aeo_fetch and aeo_inspect by focusing on retrieval by ID and mentioning error behavior with available claim IDs.

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 guidance on when to use this tool versus alternatives (e.g., aeo_fetch, aeo_inspect). There is no mention of prerequisites, contexts, or when not to use it. The description is purely functional.

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

aeo_inspectA

Return a structured summary of an AEO declaration: entity, source/verification counts, claim IDs, audit mode. Cheaper than aeo_fetch for context-window-constrained agents.

ParametersJSON Schema
NameRequiredDescriptionDefault
originYes

TDQS

A4.1/5.0
Behavior4/5

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

Despite no annotations, the description discloses the tool's lighter resource usage and outlines the output contents, adding meaningful behavioral context beyond the sparse schema.

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 with no wasted words: first states purpose and output, second gives usage guidance. Front-loaded for quick comprehension.

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 tool with one parameter and no output schema, the description covers purpose, output contents, and usage guidance. Lacks mention of error handling or authentication needs, but is otherwise adequate.

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

Parameters2/5

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

Schema has 0% description coverage on the only parameter (origin). The description does not elaborate on this parameter, leaving its meaning and formatting unclear.

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?

Description clearly states the tool returns a structured summary of an AEO declaration, listing specific fields (entity, source/verification counts, claim IDs, audit mode) and distinguishes itself from sibling aeo_fetch.

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?

Explicitly notes it is 'cheaper than aeo_fetch for context-window-constrained agents,' providing clear context for when to use this tool over its sibling, though it does not state 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.

aeo_well_known_urlA

Compute the canonical AEO well-known URL for an origin, without fetching.

ParametersJSON Schema
NameRequiredDescriptionDefault
originYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It states that no fetching occurs, indicating a non-destructive, read-only operation. However, it does not disclose potential errors, return format, or any side effects beyond the core behavior.

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 a single 11-word sentence with no redundancy or unnecessary words. It is maximally concise while conveying the essential purpose and constraint.

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 one-parameter tool, the description is nearly complete: it specifies input, action, and a key constraint (no fetch). It lacks detail on the output format or structure, which could be helpful since there is no output schema.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It mentions 'for an origin,' linking the parameter to the action, but does not explain what constitutes a valid origin (e.g., URI format, HTTPS required) or provide examples. The schema's format: uri is the only 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 computes the canonical AEO well-known URL for an origin without fetching. It specifies the action (compute) and resource (canonical AEO well-known URL), distinguishing it from other well-known URL tools like aup_well_known_url or agent_card_well_known_url.

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 mentions 'without fetching,' implying it should be used when no network request is wanted, but it does not explicitly state when to use this tool versus alternatives like aeo_fetch or other well-known URL tools. No comparison or exclusions are provided.

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

agent_card_inspectB

Structured summary of an Agent Card document. Pass EITHER url (the server fetches it) OR document_json (already-fetched).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
document_jsonNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavioral aspects. It indicates the tool fetches a remote resource if url is given, but does not mention side effects, permissions, rate limits, or the nature of the structured summary. The description is too minimal for full transparency.

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 two concise sentences, front-loading the purpose. Every word is necessary and there is no redundancy.

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

Completeness2/5

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

Given the absence of an output schema and the presence of many sibling inspect tools, the description is vague about what the 'structured summary' contains. It lacks detail on output format, required fields, or how it differs from similar tools, making it incomplete.

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 0% schema description coverage, the description adds significant meaning by explaining that 'url' is fetched by the server and 'document_json' is already-fetched content. This clarifies the intent of each parameter beyond the 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 clearly states that the tool returns a 'structured summary of an Agent Card document' and specifies the two input options (url or document_json). It does not explicitly differentiate from sibling inspect tools, but the purpose is 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 explains the mutually exclusive parameter usage ('Pass EITHER url OR document_json'), which guides the agent on how to call the tool. However, it provides no guidance on when to use this tool versus other inspect/validate tools in the sibling list.

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

agent_card_tool_disclosureB

Return the list of tools an agent declares, with side-effect class and (when present) MCP Tool Card URI for each tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
document_jsonNo

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, and the description does not disclose behavioral traits such as idempotency, authentication needs, side effects, or return behavior beyond the minimal listing. The agent lacks transparency about what happens when the tool is called.

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 a single sentence that front-loads the key information. Every word is necessary, with no fluff. It earns its place.

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

Completeness2/5

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

The tool has no output schema and 2 undocumented parameters. The description does not specify the return format or the relationship between parameters and agent identification. Given complexity and sibling tools, the description is incomplete.

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

Parameters2/5

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

Schema description coverage is 0% (0% of parameters are described in the description). The description does not mention the two parameters ('url', 'document_json') nor explain how to use them. The agent has no semantic guidance beyond parameter names and types from 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?

Description uses specific verb ('Return the list') and identifies the resource ('tools an agent declares'). It also specifies the information included (side-effect class and MCP Tool Card URI), making the purpose clear and distinct from 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 Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or context for invocation. The description only states what it does, leaving the agent without hints for appropriate usage.

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

agent_card_validateB

Validate an Agent Card JSON document against the v0.1 schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavioral traits. It states the tool validates against a schema, implying it checks conformance, but does not clarify if it is read-only, what the output is, or any side effects. Adequate but missing details.

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 a single sentence, concise and to the point. No unnecessary words, but could be slightly more informative without sacrificing brevity.

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

Completeness2/5

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

Given no output schema, no annotations, and only one parameter, the description omits crucial information about the return value (e.g., success/failure, validation errors) and any behavioral assumptions. It is not complete for an agent to reliably use the tool.

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

Parameters2/5

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

The single parameter 'document_json' is described only implicitly as the JSON document to validate. With 0% schema description coverage, the description adds minimal information about the parameter format or constraints beyond the schema's type string.

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 validates an Agent Card JSON document against a specific schema version (v0.1). The verb 'Validate' and resource are specific, distinguishing it from sibling tools that validate other card types or perform different actions.

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 guidance on when to use this tool versus alternatives like tool_card_validate or tutor_card_validate. The description implies usage for agent card validation but lacks explicit context or exclusions.

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

agent_card_well_known_urlA

Compute the canonical Agent Card well-known URL for a given origin + agent_id (convention: /.well-known/agents/<agent_id>.json).

ParametersJSON Schema
NameRequiredDescriptionDefault
originYes
agent_idYes

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries burden. It discloses that the tool computes a URL without side effects, but lacks details on permissions, error behavior, or return format beyond the implied URL string.

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?

One concise sentence that immediately conveys the tool's purpose and the URL convention, with no redundancy or unnecessary words.

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?

The description adequately explains the tool's function given its simplicity (2 parameters, no output schema). It implies the return value is a URL, but could explicitly state the output format for completeness.

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 0%, but description explains how origin and agent_id combine to form the URL, adding context beyond the schema's type definitions. However, it does not specify constraints like valid URI format for origin.

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?

Description clearly states it computes the canonical Agent Card well-known URL for a given origin and agent_id, with the specific URL convention provided. This distinguishes it from sibling tools for other card types.

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 usage for constructing Agent Card URLs, but does not explicitly state when to use this tool versus alternatives like tool_card_well_known_url or aup_well_known_url.

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

ai_evidence_inspectC

Structured summary of an AI Evidence object: claim text, source metadata, retrieval method, synthesis role, hash, signed-or-not.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYes

TDQS

C2.7/5.0
Behavior2/5

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

With zero annotations, the description carries the full burden. It describes the output content but does not disclose behavioral traits: whether the tool is read-only, what happens on invalid input, error handling, or side effects. The agent must infer that it is a read operation without confirmation.

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 a single sentence, concise and free of fluff. However, it could be better structured with an action verb at the start and clearer separation between the output description and the listed fields.

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

Completeness2/5

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

Given the single parameter and absence of output schema, the description should more fully explain input expectations and output format. It mentions fields but fails to specify the return type (e.g., JSON object) or what the structured summary looks like. For a simple tool, this is incomplete.

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

Parameters2/5

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

The parameter 'document_json' has no description in the schema (0% coverage). The tool description does not clarify that this parameter is the input JSON representing the AI Evidence object, nor does it specify the expected format or constraints. The agent is left to guess the parameter's role.

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

Purpose4/5

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

The description clearly states it returns a structured summary of an AI Evidence object and lists key fields (claim text, source metadata, etc.), which helps distinguish it from sibling tools like ai_evidence_validate or ai_evidence_verify_hash. However, it uses a noun phrase ('Structured summary...') instead of an active verb ('Returns...'), which slightly reduces clarity for an AI agent.

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 guidance is provided on when to use this tool versus alternatives (e.g., ai_evidence_validate for validation or ai_evidence_verify_hash for hash verification). There is no mention of prerequisites, typical use cases, or 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.

ai_evidence_validateC

Validate an AI Evidence object against the v0.1 schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYes

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only states 'validate', implying a read-only check, but does not clarify whether the tool modifies data, requires special permissions, or has side effects. The behavioral transparency is insufficient.

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

Conciseness2/5

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

The description is a single sentence, which is concise in length but under-specified. It fails to convey essential information, making it insufficiently informative. Conciseness should not come at the cost of clarity.

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

Completeness1/5

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

Given the lack of annotations, output schema, and parameter descriptions, the description is severely incomplete. It does not explain what validation entails, what results to expect, or how to use the parameter correctly. The tool definition leaves the agent with minimal guidance.

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

Parameters1/5

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

The sole parameter 'document_json' has no description in the schema (0% coverage). The tool description adds no meaning beyond the parameter name. The agent cannot infer the expected format, constraints, or purpose of the JSON string.

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 action (validate), the resource (AI Evidence object), and the specific schema version (v0.1). This provides a specific, unambiguous purpose that distinguishes it from sibling tools like ai_evidence_inspect or ai_evidence_verify_hash.

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 guidance is provided about when to use this tool versus alternatives. There is no mention of prerequisites, common scenarios, or exclusions. The description lacks context for decision-making.

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

ai_evidence_verify_hashA

Compute SHA-256 over the canonical UTF-8 form of candidate_text (LF endings, no trailing newline) and compare against the evidence's verification.content_hash. Returns ok=true on match, or { error: hash_mismatch, expected, recomputed }.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYes
candidate_textYesThe text whose hash should match the evidence's content_hash.

TDQS

A4/5.0
Behavior4/5

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

The description explains the hashing algorithm (SHA-256, canonical UTF-8 form) and the comparison logic. It does not contradict annotations (none provided). It lacks explicit statements about side effects or permissions, but for a read-only verification tool, the transparency is good.

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 two sentences with no fluff. It directly states the operation, canonical form requirements, and return values. Highly concise and well-structured.

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 hash verification tool with two parameters and no output schema, the description covers the main logic and return format. It does not fully document the document_json parameter or error cases beyond hash mismatch. Minor gaps, but generally complete.

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 50% (only candidate_text has a description). The tool description adds value by specifying how candidate_text is used (hash computation) and implying that document_json contains evidence, but it does not explain document_json's role or structure. Thus, description partially compensates but leaves a gap.

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 action: compute SHA-256 over candidate_text and compare to evidence's content_hash. It returns ok=true or an error object with details. This is specific and distinct from sibling tools like disclosure_verify_artifact_hash.

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 usage for verifying hash integrity of evidence text, but it does not explicitly state when to use this tool versus alternatives like disclosure_verify_artifact_hash or attestation_verify. No guidance on prerequisites or conditions is provided.

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

attestation_canonical_hashA

Compute the SHA-256 canonical-JSON hash of an arbitrary value (sorted keys, no whitespace). This is the structural hash convention used by procurement-decision-api, aeo-validator-service, aeo-graph-explorer-rs, and hash-attestation-rs. Identical JSON values produce identical hashes regardless of original whitespace or key order.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesAny JSON value to hash.

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description must disclose behavior fully. It explains the canonical JSON normalization (sorted keys, no whitespace) and that identical values yield identical hashes, but does not specify the output format (e.g., hex string) or any side effects.

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 two sentences, front-loading the action and algorithm. Every sentence adds value: first defines operation, second provides context and property of the hash. No wasted words.

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 a single parameter and no output schema, the description adequately covers purpose, input processing, and usage context. However, it omits the return format (e.g., hex string), which an agent may need for downstream tasks.

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 'body' with a description. The tool description adds valuable context about canonical JSON processing (sorted keys, no whitespace) that enriches the schema's minimal description.

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 computes a SHA-256 canonical-JSON hash, specifying the algorithm and input type. It distinguishes itself from sibling hash-verification tools like ai_evidence_verify_hash by focusing on computation rather than verification.

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 use by naming specific services, but lacks explicit guidance on when to choose this tool over siblings. No when-to-use or when-not-to-use instructions are provided for an agent selecting among hash-related tools.

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

attestation_inspectA

Pretty-print an Attestation envelope with structural validation: confirms every required field is present, reports the decoded signature byte-length (should be 64), and surfaces the key_url + signed_at fields a caller would use to find the matching public key.

ParametersJSON Schema
NameRequiredDescriptionDefault
attestationYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the tool's behavior: structural validation, reporting signature length, and surfacing fields. However, it does not state whether it is read-only, what errors occur if validation fails, or any authorization requirements. The behavior is largely transparent but could be more explicit.

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 two sentences with zero wasted words. It front-loads the core action (pretty-print with structural validation) and then lists key outputs. Every sentence 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?

For a simple inspect tool with one parameter and no output schema, the description covers purpose, validation details, and surfaced fields. It could mention error handling or read-only nature, but overall it is sufficiently complete 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.

Parameters3/5

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

Schema description coverage is 0% (no param description in schema). The description adds value by naming the parameter as 'attestation envelope' and specifying that it surfaces 'key_url + signed_at' fields, implying the object's structure. However, it does not detail the expected internal fields or validation requirements, leaving some ambiguity.

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 verb (pretty-print, validate) and resource (Attestation envelope). It specifies three concrete outputs: confirming required fields, reporting signature byte-length, and surfacing key_url/signed_at. This differentiates it from sibling inspect tools for other envelope types like prompt_provenance_inspect or disclosure_inspect.

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 implies usage for inspecting and validating an attestation envelope, but does not explicitly state when to use this tool over alternatives or provide exclusions. The context is clear enough for an agent familiar with the domain to select it appropriately.

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

attestation_verifyA

Verify an ed25519 Attestation envelope against a body and caller-supplied public key. Recomputes the canonical hash and verifies the signature over the hash string. Does not verify that the supplied key belongs to the claimed key_url or signer. Public key accepted as 64-char hex or base64.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesThe body the attestation was minted over.
public_keyYes32-byte ed25519 verifying key as 64-char hex OR base64.
attestationYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and mostly succeeds: it discloses the internal step order (canonical hash recompute, then signature check) and, critically, an explicit negative - it does not bind the supplied key to the claimed key_url or signer. That caveat is a real security-relevant trait. It stops short of top marks because it never says what happens on failure (exception vs. false result) and gives no guarantee about the hash algorithm convention.

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 tight sentences, each doing distinct work: what it verifies, how it verifies, and what it deliberately does not verify. The limitation is placed immediately after the mechanism, so the most decision-relevant caveat is front-loaded rather than buried.

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?

For a nested-object, three-required-parameter verification tool with no annotations and no output schema, the description covers the verification semantics well but leaves the result contract unspecified - an agent cannot tell whether a failed signature check returns a boolean, an error, or a structured report. The absence of an output schema makes that gap more costly than it would otherwise be.

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 67%, so the baseline is around 3. The description restates the public_key format (64-char hex or base64) that the schema already documents, and clarifies that the key is caller-supplied rather than resolved, but adds nothing about the nested attestation fields or what 'body' must be (raw bytes, JSON, canonical form?).

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 verb (verify) and resource (ed25519 Attestation envelope) plus the exact mechanism: recompute the canonical hash, then verify the signature over the hash string. It does not name the sibling tools attestation_canonical_hash or attestation_inspect to distinguish itself, so it falls just short of the top tier.

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 by the verb - an agent can infer this is the tool to run when it holds an envelope, a body, and a trusted key. The 'Does not verify that the supplied key belongs to the claimed key_url or signer' sentence functions as a partial scope exclusion, warning the agent not to use this for trust-chain validation, but no alternative tool is named for that case.

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

audit_chain_verifyA

Walk an array of GovernanceEvents top-to-bottom and verify the hash chain: monotonic event_id, prev_hash linkage, self-consistency of each event's hash. Returns { valid, checked, first_break_at, reason }, the same shape audit-stream-py's GET /verify endpoint emits.

ParametersJSON Schema
NameRequiredDescriptionDefault
eventsYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description fully bears responsibility for behavioral disclosure. It describes the verification steps and return shape, clarifying it is a read-only analysis. However, it does not explicitly state it is non-destructive or mention authorization requirements.

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 efficiently convey the action, verification details, and return shape. No redundant information, front-loaded with the core operation.

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 description covers the return shape and core action, but omits parameter structure and does not provide examples or edge case behavior. For a verification tool, more detail on the expected input format would improve completeness.

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

Parameters2/5

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

The sole parameter 'events' is an array of objects, but the description provides no additional details about expected structure (e.g., required fields like event_id, prev_hash, hash). With 0% schema coverage, the lack of parameter description forces the AI to guess or rely on external context.

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's action: walk an array of GovernanceEvents top-to-bottom and verify the hash chain, including specific checks (monotonic event_id, prev_hash linkage, self-consistency). It also specifies the return shape, making the purpose distinct and actionable.

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 guidance on when to use this tool versus alternatives like audit_chain_verify_live. The description implies use cases by detailing the verification logic but omits when/not-to-use or prerequisites.

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

audit_chain_verify_liveA

Ask the configured audit-stream service to check its full server-side hash chain. This checks chain continuity, not whether events are truthful, authorized, complete, or legally compliant. Returns valid, checked, first_break_at, and reason. Requires AUDIT_STREAM_URL and AUDIT_STREAM_TOKEN; returns a structured error otherwise.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses the remote-service dependency, the required credentials, the structured-error failure mode, and named return fields (valid, checked, first_break_at, reason) in the absence of an output schema. It also bounds the claim explicitly (chain continuity only, not truthfulness/authorization/completeness/legal compliance), which prevents over-reading of results.

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 tight sentences, front-loaded with what is checked, immediately followed by what is not checked, then return shape and prerequisites. No filler and no repeated schema content.

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 tool with no output schema, the description supplies everything an agent needs: the remote dependency, required configuration, failure behavior, and the names/meaning of the return values. The explicit scope limitation is a valuable addition that no structured field conveys.

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 does add useful non-schema context by naming the two environment variables that must be configured, though these are configuration rather than call arguments.

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) and resource (server-side hash chain) plus the target (the configured audit-stream service), which distinguishes it from the local sibling audit_chain_verify. An agent can tell immediately that this performs a live remote verification rather than verifying a supplied chain.

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 the usage context ('ask the configured audit-stream service') and states the configuration prerequisite (AUDIT_STREAM_URL/AUDIT_STREAM_TOKEN), but never explicitly contrasts this with audit_chain_verify or says when to prefer one over the other. Usage is inferable rather than stated.

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

audit_event_composeA

Build a ready-to-POST audit-stream-py GovernanceEvent: assigns event_id, computes the canonical hash, links to prev_hash (defaults to 64 zeros for event #1). Kind must be one of the 19 declared event kinds (decision_card_drafted, watch_drifted, request_denied, etc., plus 'other').

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
sourceYes
payloadNo
event_idYes
prev_hashNo64-char hex; defaults to 64 zeros.
timestampNoOptional ISO-8601; defaults to now.

TDQS

A3.6/5.0
Behavior3/5

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

Describes computation of hash and default behavior for prev_hash and timestamp, but no annotations are present. Missing details on side effects, permissions, idempotency, or error handling. Provides moderate transparency.

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 concise sentences, front-loaded with purpose, no wasted words. Second sentence provides critical constraints. Efficient and well-structured.

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

Completeness2/5

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

No output schema or annotations; 6 parameters with low schema coverage. Description misses source and payload semantics, return value format, validation behavior, and error conditions. Incomplete for the tool's complexity.

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?

With only 33% schema coverage, description adds meaning to event_id (assigned), kind (enum list), prev_hash (default), timestamp (ISO-8601 default), but source and payload remain unexplained. Partially compensates for gaps.

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 builds a ready-to-POST audit-stream-py GovernanceEvent, with specific operations: assigns event_id, computes hash, links prev_hash. It lists the 19 allowed kinds, distinguishing it from sibling audit and decision tools.

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?

Implied usage for preparing an audit event before posting, but no explicit guidance on when to use vs alternatives (e.g., audit_event_emit, audit_event_inspect). No exclusions or prerequisites mentioned.

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

audit_event_emitA

POSTs a governance event to the audit-stream-py instance configured by AUDIT_STREAM_URL and AUDIT_STREAM_TOKEN. This sends kind, caller-asserted source, and payload to that service. The bearer token authenticates this MCP process, not the claimed producer or tenant. Obtain the user's approval before recording an event; omit secrets and personal data unless the service is approved for them. The server assigns event_id/timestamp/prev_hash/hash. Returns a validated service event receipt or a structured error; receipt does not prove durable storage or event completeness.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYesThe audit-stream-py service accepts only its declared event kinds (for example decision_card_drafted, request_denied, or watch_drifted). Use 'other' for ad-hoc kinds; unknown values are rejected by the sink.
sourceYesCaller-asserted ASCII producer label, not an authenticated identity. Use a stable identifier such as 'mcp-kinetic-gain' or 'manual'; do not claim another producer's identity without evidence.
payloadNoOptional plain-object payload to record alongside kind+source. Invalid supplied payloads are rejected, not dropped.

TDQS

A4.1/5.0
Behavior5/5

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

With annotations already covering the safety profile, the description adds substantial non-obvious behavior: the bearer token authenticates the MCP process rather than the claimed producer/tenant, the server assigns event_id/timestamp/prev_hash/hash, and the returned receipt does not prove durable storage or completeness. These are exactly the caveats an agent needs before emitting a governance event.

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 core action and endpoint are front-loaded in the first sentence, and each following sentence carries a distinct caveat (auth scope, approval/privacy, server-assigned fields, receipt limits). It is dense but earns its length; only the closing receipt caveat could be trimmed without much 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?

For a non-idempotent, open-world mutation with no output schema and a nested payload object, the description covers the essential ground: where it POSTs, what is sent, what auth means, safety/privacy constraints, server-assigned fields, and the return shape. An agent has enough to call it correctly.

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 kind, source, and payload are already fully documented in the schema, including the caller-asserted source warning and the 'other' kind fallback. The description only restates 'kind, caller-asserted source, and payload' without adding format or validation detail beyond the schema, so the baseline 3 applies.

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 precise verb+resource: 'POSTs a governance event to the audit-stream-py instance configured by AUDIT_STREAM_URL and AUDIT_STREAM_TOKEN.' That clearly separates it from read-side siblings like audit_events_query or audit_event_inspect. However, it never names the closest alternative, audit_event_compose, so sibling selection still requires inference.

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 concrete preconditions: obtain user approval before recording, and omit secrets/personal data unless the service is approved for them. This is clear operational context, but it stops short of an explicit when-to-use-this-vs-a-sibling statement (e.g., compose vs emit, or when the token is not configured).

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

audit_event_inspectA

Pretty-print one GovernanceEvent with structural validation: required fields, known/unknown kind, payload key list, and self-consistency check (does the event's hash match the recomputed canonical hash of the body?).

ParametersJSON Schema
NameRequiredDescriptionDefault
eventYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the burden falls on the description. It discloses behavioral traits: structural validation (required fields, kind check, payload key list) and a self-consistency check (hash match). This goes beyond a simple 'inspect' and gives the agent clear expectations. No contradictions.

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 one sentence with multiple clauses, but it efficiently conveys the main action and key validations. It is front-loaded ('Pretty-print...') and contains no unnecessary words. Could be slightly clearer by breaking into bullet points.

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?

Given the tool's complexity (single param, no output schema, but multiple validation steps), the description covers the input and checks but does not mention the return value format (e.g., pretty-printed string, validation result, or error). This leaves some ambiguity about the output.

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

Parameters2/5

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

The single parameter 'event' is an object with 0% schema description coverage. The description mentions fields like hash, kind, payload but does not specify the expected structure or constraints. Some meaning is added, but it is insufficient for full parameter 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 clearly states the tool's purpose: 'Pretty-print one GovernanceEvent with structural validation' and lists specific checks (required fields, known/unknown kind, payload key list, self-consistency check). It is specific to GovernanceEvent and distinguishable from sibling tools like ai_evidence_inspect or disclosure_inspect.

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 usage for inspecting and validating a single GovernanceEvent but does not explicitly state when to use this tool versus alternatives (e.g., audit_event_compose, audit_chain_verify, or other inspect tools). No when-not-to-use guidance is provided.

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

audit_events_queryA

GET recent governance events from a running audit-stream-py instance (AUDIT_STREAM_URL and AUDIT_STREAM_TOKEN), optionally filtered by kind or source. The service does not combine both filters. Returns the events array plus a count field; recorded source labels are caller-asserted. Returns a structured error when unconfigured.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoFilter by event kind (exact match). Omit to get all kinds.
limitNoCap the number of events requested to at most 1000. Responses are separately capped at 1 MB.
sourceNoFilter by source (exact match). Omit to get all sources.

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the required environment configuration (AUDIT_STREAM_URL, AUDIT_STREAM_TOKEN), the mutual-exclusivity of the filters, the return shape (events array plus count), the caveat that source labels are caller-asserted, and the structured-error behavior when unconfigured.

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 front-loaded sentences with no filler: the core action comes first, then the filter constraint and return shape, then the error/config caveat. Every sentence carries information an agent needs.

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 3-optional-parameter read tool with no output schema and no annotations, the description covers config prerequisites, filtering semantics, return structure, and error handling. It stops short of naming sibling alternatives or pagination behavior, but nothing critical to invoking 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 schema already documents each parameter and a baseline of 3 would be defensible. The description adds real value beyond the schema by stating that kind and source filters cannot be combined, a parameter-interaction rule the schema does not encode.

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 verb (GET) and resource (recent governance events from a running audit-stream-py instance), so the agent knows it is a read/query operation. It implicitly distinguishes itself from siblings like audit_event_emit, audit_event_compose and audit_event_inspect, though it never names an alternative 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?

The phrase 'optionally filtered by kind or source' implies how to call it, and 'The service does not combine both filters' hints at the constraint. However, there is no explicit statement of when to reach for this tool versus audit_event_inspect or the chain-verify siblings, so guidance is only implied.

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

aup_check_complianceA

Compare an AUP with a Student AI Disclosure on eight declared checks: policy effective window, signature, artifact_hash, teacher acknowledgment, prompt evidence mode, permitted/prohibited roles, assistance-extent ceiling, and assistance_extent_max=none vs ai_used=true. Returns { allowed, policy_id, disclosure_id, violations[] }; allowed=true means only these checks passed. It does not verify policy scope, tool/vendor requirements, parent consent, Tutor Cards, or legal compliance, and is not an enforcement decision.

ParametersJSON Schema
NameRequiredDescriptionDefault
aup_urlNoAUP URL — server fetches it.
aup_jsonNoAUP as inline JSON.
disclosure_jsonYesStudent AI Disclosure as inline JSON.

TDQS

A3.9/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full behavioral burden and does so well: it discloses the return shape { allowed, policy_id, disclosure_id, violations[] } and clarifies the critical semantics that allowed=true means only these eight checks passed, not general compliance. It omits operational traits such as auth requirements or fetch failures when aup_url is unreachable.

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 dense sentences that are front-loaded with the core action and the check list; the return contract and exclusions follow. Every clause carries information, though the check enumeration is long enough that density borders on crowding.

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

Completeness4/5

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

There is no output schema, so the description correctly compensates by naming the return fields and the exact meaning of allowed=true. Combined with the explicit non-coverage list, an agent can call this correctly; only operand-provision details (URL vs inline JSON behavior, error cases) are left to the schema.

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 aup_url (server-fetched), aup_json, and disclosure_json. The description adds no syntax or format guidance beyond the schema, which is the expected baseline 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.

Purpose4/5

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

States a specific verb (compare), two specific resources (AUP and Student AI Disclosure), and enumerates the eight checks performed, so the agent knows exactly what the tool does. The one gap is sibling differentiation: the sibling list contains a near-twin named 'disclosure_aup_check' plus 'aup_validate'/'aup_inspect', and the description never says how this differs 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 Guidelines4/5

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

The description gives a clear when-not scope: it explicitly lists what it does NOT verify (policy scope, tool/vendor requirements, parent consent, Tutor Cards, legal compliance) and states 'is not an enforcement decision', which tells the agent this is advisory only. It stops short of naming an alternative tool to use for the excluded concerns, so routing is left partly to inference.

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

aup_fetchB

Fetch a Classroom AI AUP from a URL. Returns the parsed, schema-validated JSON document.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states it returns validated JSON; no details on error handling, authentication, rate limits, or side effects. Minimal beyond basic function.

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?

Extremely concise, one sentence with no redundant information. Front-loaded with verb and resource.

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?

Basic fetch tool with one parameter and no output schema. Description covers core purpose but lacks completeness on error cases or expected output structure. Adequate for a simple tool.

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

Parameters2/5

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

Schema coverage 0% and description does not add meaning beyond the schema. The parameter 'url' is only mentioned as 'from a URL', no additional format, validation, or constraints explained.

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?

Clearly states the verb 'fetch', the resource 'Classroom AI AUP', and the input (URL) and output (parsed validated JSON). Differentiates from siblings like aup_validate and aup_inspect by specifying source from URL.

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?

Indicates the basic purpose but lacks explicit guidance on when to use vs alternatives or when not to use. For a simple fetch tool, usage is implied, but no direct comparisons or exclusions.

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

aup_inspectB

Structured summary of a Classroom AI AUP: policy identity, scope, permitted-use counts, prohibited-use counts, disclosure requirements, supervision level, vendor requirements posture, parent-consent gating.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
document_jsonNo

TDQS

B3.3/5.0
Behavior3/5

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

No annotations provided; description states it returns a structured summary, suggesting a read operation. However, it does not explicitly disclose side effects, error behavior, or whether authentication is needed. The output content is described, but behavioral context is incomplete.

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?

Single sentence is clear and lists output components concisely. However, it is not structured into sections for usage or parameters, and could benefit from front-loading the action more directly.

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?

Describes output fields in detail, which is useful given no output schema. However, it fails to explain input parameters or default behavior, leaving gaps for a tool with no required parameters.

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

Parameters1/5

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

Schema has two optional parameters (url, document_json) with 0% description coverage. The description does not mention these parameters, leaving the agent without guidance on how to specify the AUP source or that both are optional.

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

Purpose5/5

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

Description clearly states it provides a structured summary of a Classroom AI AUP, listing specific fields like policy identity and use counts. This distinguishes it from sibling tools such as aup_fetch (raw retrieval) and aup_check_compliance (compliance checking).

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?

Implies usage for obtaining a structured summary, but lacks explicit guidance on when to use versus alternatives like aup_fetch or aup_validate. No indications of prerequisites or when not to use the tool.

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

aup_validateB

Validate a Classroom AI AUP JSON document against the v0.1 schema. Enforces conditional rules: course scope requires non-empty course_ids; assignment scope requires non-empty assignment_ids; assistance_extent_max=none forbids any permitted_roles; expires_at must follow effective_at; roles cannot be both permitted and prohibited.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses validation rules (e.g., 'course scope requires non-empty course_ids'), but omits error behavior or return format. Adequate but incomplete.

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 a single paragraph of three sentences, front-loaded with the primary action. Contains no redundant information.

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

Completeness2/5

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

As a validation tool with one parameter and no output schema, the description fails to explain the return value (e.g., pass/fail, error list). It also lacks examples or details on how validation results are communicated.

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

Parameters2/5

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

Only parameter is document_json (string) with no schema description. The description implies the parameter is a JSON string of the AUP document but does not explicitly state its format or requirements.

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 'Validate a Classroom AI AUP JSON document against the v0.1 schema,' using a specific verb and resource. It distinguishes itself from sibling validation tools by focusing on AUP documents and listing specific conditional rules.

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 guidance is provided on when to use this tool versus alternatives like tool_card_validate or disclosure_validate. The description lacks usage context or prerequisites.

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

aup_well_known_urlC

Compute the canonical Classroom AI AUP well-known URL: /.well-known/ai-aup.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
originYes

TDQS

C2.8/5.0
Behavior3/5

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

The description implies a safe, read-only computation with no side effects. However, without annotations, it lacks details on error behavior, idempotency, or any special requirements.

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?

Extremely short, which is good for conciseness, but it omits crucial information about the parameter and return value. It could be improved with minimal additions.

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

Completeness2/5

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

Even for a simple tool, the description lacks completeness by not explaining the parameter's role or what the output looks like. With no output schema, the description should at least hint at the return format.

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

Parameters2/5

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

The only parameter 'origin' is not described at all. With 0% schema coverage, the description should explain how origin affects the result, but it only gives the static URL path.

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?

Clearly states the tool computes a specific well-known URL and provides the exact path. However, it does not differentiate from sibling tools like aup_fetch or aup_validate, which could be confusing.

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 guidance on when to use this tool vs alternatives such as aup_fetch or aup_validate. The description does not specify context or exclusions.

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

claims_card_chainA

Link a new AI Claims Decision Card to its predecessor: sets attestation.chain_index (prev + 1) and attestation.prev_card_hash. Validates the predecessor hash is 64-char hex and its index is a non-negative integer. Call claims_card_sign next.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardYesThe new Claims Decision Card (attestation may be partial).
prev_card_hashYes64-char lowercase hex SHA-256 of the previous card.
prev_chain_indexYeschain_index of the previous card.

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so description must cover behavior. It explains validation conditions but does not disclose side effects, persistence, or permissions. Adequate for a non-destructive linking operation.

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, front-loaded with purpose, no superfluous words. Every sentence earns 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?

Describes workflow and validation but does not mention return value or whether the card is mutated in-place or returned. Given no output schema, more detail on output would be helpful.

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%, but description adds value by specifying validation criteria for prev_card_hash (64-char hex) and prev_chain_index (non-negative integer), which are not in schema 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?

Clearly states the tool links a new card to its predecessor by setting chain_index and prev_card_hash, with validation. Explicitly tells to call claims_card_sign next, differentiating from sibling tools like claims_card_sign.

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 a clear next step ('Call claims_card_sign next') and describes validations, but lacks explicit when-not-to-use or alternative tools. However, the context of chaining cards is clear.

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

claims_card_inspectB

Structured summary of an AI Claims Decision Card: claim type, outcome, coverage, evidence count, model, jurisdiction, human-in-loop, chain position, and attestation status. Cheaper than reading the full card.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentYesThe Claims Decision Card JSON (parsed object).

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior. It states it's a summary and cheaper, but does not mention that it is read-only, whether it validates input, or error handling. Lack of side-effect disclosure is a gap.

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 concise sentences. First introduces the tool's output and lists key fields. Second provides a cost comparison. No wasted words.

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 only one parameter and no annotations or output schema, the description covers the tool's purpose and output sufficiently. It lists the output fields, which compensates for the missing output schema. Minor gaps in error/validation behavior.

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% with a brief description of the 'document' parameter. The tool description adds that it expects a 'Claims Decision Card JSON', which clarifies the schema's 'parsed object'. No additional semantic value beyond 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 clearly states the tool provides a structured summary of an AI Claims Decision Card, listing specific fields. It differentiates from full card reading, but does not explicitly differentiate from sibling tools like decision_card_inspect.

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 explicit guidance on when to use this tool vs. alternatives like claims_card_validate or claims_card_chain. The phrase 'cheaper than reading the full card' implies a use case, but lacks when-not-to-use or alternative recommendations.

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

claims_card_signA

Compute the canonical SHA-256 hash of an AI Claims Decision Card for ed25519 signing. Sorts object keys recursively and excludes attestation.card_hash + attestation.signature before hashing. Returns the 64-char lowercase hex card_hash; caller signs it offline.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentYesClaims Decision Card. attestation.card_hash and attestation.signature are stripped before hashing.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description fully covers behavioral traits: recursive key sorting, field exclusion, and output format. It is transparent about the pure computational nature, though it omits authorization or error handling details.

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 concise sentences, front-loaded with the core purpose, and no extraneous information. Every sentence adds value.

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 complex nested input and lack of output schema, the description adequately explains the output format (64-char hex) and key hash behavior. It could mention validation or errors but remains functional.

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 description adds meaning by explaining the document is a Claims Decision Card and which fields are stripped before hashing, complementing the schema's brief description.

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 the tool computes a canonical SHA-256 hash for ed25519 signing, specifying key behaviors like recursive key sorting and exclusion of specific fields. It clearly distinguishes itself from sibling tools like decision_card_signature_check.

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 indicates the tool is a preprocessing step before offline signing, which sets usage context. However, it does not explicitly state when not to use it or provide alternative tools for similar tasks.

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

claims_card_validateA

Validate an AI Claims Decision Card against the bundled v0.1 structural schema, including required fields, enums, ranges, and attestation field shapes. Returns the first schema issue or { valid, claims_card_id, version }. This does not verify signatures, evidence authenticity, the coverage decision, or legal compliance.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentYesThe Claims Decision Card JSON (parsed object).

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the return shape (first schema issue or { valid, claims_card_id, version }) and precisely bounds validation scope. It omits error/idempotency behavior, but the scope disclosure is solid.

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 tight sentences, front-loaded with the core action and return contract, with the limitation sentence last. Every sentence 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?

No output schema exists, yet the description explains the return value (first issue or the success object) and gives explicit scope boundaries. For a single-parameter validator with no annotations, nothing an agent needs to call it correctly is missing.

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

Parameters3/5

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

Only one parameter (document) with 100% schema coverage; the schema already documents it as the parsed Claims Decision Card JSON object. The description adds no syntax or format detail beyond the schema, so the baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb (validate) and resource (AI Claims Decision Card) and scopes it precisely to the bundled v0.1 structural schema, covering required fields, enums, ranges, and attestation shapes. Clearly distinguishable from siblings like claims_card_inspect, claims_card_chain, and claims_card_sign.

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?

Explicitly lists what the tool does NOT do (signatures, evidence authenticity, coverage decision, legal compliance), which implicitly routes the agent to sibling validators/verifiers. No positive when-to-use clause or named alternative, but the exclusions provide strong contextual boundaries.

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

clinical_ai_fetchA

Fetch a Clinical AI Card from a URL. Returns the parsed, schema-validated JSON document.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description must carry full behavioral disclosure. It states the tool returns a parsed, schema-validated JSON document, which is helpful, but omits details like error handling, idempotency, or whether it's read-only. Acceptable but not thorough.

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, no fluff, front-loaded with verb and resource. Every word serves a purpose.

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?

Given the low complexity (1 required param, no output schema), the description covers basic functionality. However, it lacks details on error scenarios (e.g., invalid URL, unparseable card) and does not leverage sibling context to set expectations. Sufficient but not comprehensive.

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

Parameters2/5

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

Schema coverage is 0% (no descriptions on parameters). The only parameter 'url' has a format constraint but the description adds no beyond that. It mentions 'from a URL' but doesn't specify allowed schemes or structure. Parameter semantics are weak.

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?

Clearly states the action (fetch), the resource (Clinical AI Card), and the return value (parsed, schema-validated JSON). This differentiates it from sibling tools focused on other card types (e.g., tutor_card_fetch, decision_card_fetch).

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 guidance on when to use this tool vs. alternatives like tutor_card_fetch or decision_card_fetch. The context implies it's for Clinical AI Cards, but the agent isn't directed to choose this over siblings. Adequate but minimal.

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

clinical_ai_inspectC

Structured summary of a Clinical AI Card: system identity, clinical context (indication / care settings / patient population), regulatory posture (FDA / SaMD), clinical role, evidence (validation studies + bias audit + performance metrics), HIPAA + BAA posture, EHR integration (FHIR / SMART / CDS Hooks), safety + mandated reporting.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
document_jsonNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations exist, so the description bears full responsibility for disclosing behavioral traits. It does not mention whether the tool is read-only, what happens on invalid inputs, authentication needs, rate limits, or any side effects. The listed content categories hint at output but not behavior.

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 run-on sentence that packs many categories with slashes and parentheses. While it front-loads the core purpose, the structure is dense and could be clearer (e.g., using bullet points). It is not excessively long but lacks readability.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description should cover input usage, output format, and behavioral context. It only describes the summary content, leaving the agent without critical information about how to invoke the tool and what to expect.

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

Parameters1/5

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

The input schema has 2 parameters (url, document_json) with 0% description coverage, and the tool description does not mention these parameters at all. The agent receives no guidance on how to use url versus document_json or what formats are expected.

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 produces a 'Structured summary of a Clinical AI Card' and enumerates the specific categories covered (system identity, clinical context, regulatory posture, etc.). This is a specific verb+resource combination that distinguishes it from siblings like clinical_ai_fetch (fetch raw card) or clinical_ai_validate (validate).

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 provides no guidance on when to use this tool versus alternatives. It does not mention that clinical_ai_fetch retrieves raw data or that clinical_ai_validate checks validity. The agent must infer usage without any explicit context about tool selection.

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

clinical_ai_validateA

Validate a Clinical AI Card JSON document against the v0.1 schema. Enforces the headline rules: autonomy ⇔ medical device, SaMD completeness, FDA-clearance documentation, PHI ⇒ explicit HIPAA + BAA posture, and bias_audit_uri requirement for SaMD class II+ / autonomous / pre-authorization use.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYesClinical AI Card as inline JSON.

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so the description carries the full burden. It discloses that the tool enforces specific headline rules (autonomy, SaMD, FDA, PHI, bias_audit). This gives good behavioral context beyond a simple 'validate' statement. It does not mention side effects, but validation is typically read-only.

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 two sentences: the first states the main action, the second lists the enforced rules. No redundant or wasted words. It is front-loaded and efficient.

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?

Given the single parameter and no output schema, the description explains the validation logic well. However, it does not describe what the output looks like (e.g., success/failure, error details). This is a minor gap for a validation 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?

The schema already describes the parameter as 'Clinical AI Card as inline JSON.' The tool description adds meaning by specifying the schema version (v0.1) and the headline rules enforced, which goes beyond the schema definition.

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 it validates a Clinical AI Card JSON document against a v0.1 schema and lists specific enforced rules. It distinguishes from sibling tools like clinical_ai_fetch or clinical_ai_inspect by focusing on validation.

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 clearly indicates the tool is for validation against a schema, but does not explicitly state when not to use it or mention alternatives. Given the sibling tools for other card types, it provides clear context for its use case.

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

clinical_ai_well_known_urlB

Compute the canonical Clinical AI Card well-known URL: /.well-known/clinical-ai/<system_id>.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
originYes
system_idYesVendor's stable system identifier (kebab-case).

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states the computation without disclosing any behavioral traits (e.g., side effects, error handling, or that it is a pure string operation).

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 a single concise sentence that communicates the essential purpose efficiently. It is front-loaded but could be slightly more informative without becoming verbose.

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?

For a simple URL computation tool, the description is mostly adequate, but it does not explicitly state the return value (the URL string). Given no output schema, a brief note on output would improve completeness.

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 description adds context to system_id via the URL pattern, but origin is not elaborated. With 50% schema description coverage, the description partially compensates but does not fully explain both parameters.

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 computes a specific well-known URL for Clinical AI Card, providing the URL pattern. It distinguishes from sibling well-known URL tools (e.g., agent_card_well_known_url) by specifying the Clinical AI Card context.

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 the tool is for computing this URL but does not explicitly state when to use it versus alternatives. No guidance on when not to use or prerequisites, leaving the agent to infer usage.

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

decision_card_fetchA

Fetch an AI Procurement Decision Card from a URL. Returns the parsed, schema-validated JSON document.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It mentions parsing and schema validation, which gives some behavioral insight. However, it does not disclose error handling, side effects, or whether the operation is read-only. The description is adequate but not rich.

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 two short sentences, front-loaded with action and resource. Every sentence adds value: first sentence states what it does, second describes the result. No fluff or redundancy.

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 has only one parameter and no output schema, the description covers the essential: action and return format. However, it lacks information about error behavior (e.g., invalid URL) and assumes the reader understands 'Decision Card'. Still, it is reasonably complete for a simple fetch tool.

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

Parameters2/5

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

The only parameter 'url' is a URI string. Schema description coverage is 0%, so the description must compensate. It only loosely ties to the parameter by stating 'from a URL' but does not specify URL format, accepted schemes, or that the parameter is required (which is in the schema). Minimal added value 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?

The description clearly states the action ('Fetch'), the resource ('AI Procurement Decision Card'), and the source ('from a URL'). It also specifies the output ('parsed, schema-validated JSON document'). Among sibling tools, this distinguishes itself by being specific to decision cards and highlighting validation behavior.

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 usage context (fetching a card by URL) but does not provide explicit guidance on when to use this tool versus alternatives like decision_card_inspect or decision_card_validate. No when-not-to scenarios are mentioned.

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

decision_card_infer_statusA

Validate each rubric row, then infer a preview decision.status. Mirrors procurement-decision-api's rubric engine: any 'fail' -> 'rejected-with-remediation'; any 'partial' or 'pass-with-condition' -> 'approved-with-conditions'; all 'pass' -> 'approved'; empty or all 'n/a' -> 'pending'. An unsupported result returns an error, never an approval.

ParametersJSON Schema
NameRequiredDescriptionDefault
rubricYes

TDQS

A3.6/5.0
Behavior4/5

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

No annotations are provided, so the description carries full behavioral burden. It discloses the complete mapping rules from rubric results to status and states that an unsupported result returns an error, never an approval. It does not state whether the operation is read-only or has side effects, but the term 'preview' implies non-persistence.

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 tightly written sentences that are front-loaded with the core action, followed by the detailed mapping logic and an edge-case rule. Every sentence contributes essential information with no wasted words.

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 complexity (inference from an enum-based rubric), no output schema, and no annotations, the description provides the critical mapping rules and error behavior. It is nearly complete, though it omits details on the input structure (e.g., the 'id' field) and the exact return shape beyond 'decision.status'.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It explains the semantics of the 'result' enum values in terms of their effect on the inferred status, which adds partial value. However, it never mentions the required 'id' field or the array-of-objects structure of the 'rubric' parameter, leaving a significant gap.

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 uses specific verbs ('Validate', 'infer') and names the resource ('each rubric row', 'decision.status'), making the core purpose clear. However, it does not explicitly differentiate itself from the sibling 'decision_card_validate', leaving some ambiguity about when this inference tool is preferred over the validation tool.

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 usage by describing the inference logic, but it provides no explicit when-to-use guidance or alternatives. With a close sibling ('decision_card_validate'), an agent must infer that this tool is for computing a preview status from raw rubric rows rather than validating a card structure.

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

decision_card_inspectC

Structured summary of an AI Procurement Decision Card: buyer identity, decision status + scope, vendor + documents reviewed (by type and URL), rubric pass/partial/fail counts, conditions count, signatures count, publication posture, history event count, withdrawal flag.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
document_jsonNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits like read-only nature, error conditions, or auth requirements. It merely lists output fields and omits such details.

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 sentence listing fields, which is concise but not front-loaded with key usage information. It gets the point across but could be better structured.

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

Completeness2/5

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

Given no output schema, no annotations, and two undefined parameters, the description lacks input guidance, error handling context, and output format details beyond field names.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain the two parameters (url, document_json) or their relationship, leaving the agent clueless about how to provide input.

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 the resource ('AI Procurement Decision Card') and the action ('inspect'), and lists specific output fields, distinguishing it from sibling inspect tools for other card types.

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 outlines what the tool returns but does not provide guidance on when to use it versus alternatives like decision_card_fetch or decision_card_validate, nor does it explain input options.

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

decision_card_signature_checkA

Structural check on a Decision Card's signatures[] block: count signers, show their method/key/timestamp, and return the canonical-JSON hash of the card body (excluding signatures) so a caller can pair this with attestation_verify for cryptographic checking.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
document_jsonNo

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the main outputs (count, method/key/timestamp, hash) but lacks details on side effects (likely read-only), error conditions, or permissions. The description is adequate but not exhaustive.

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 a single sentence that packs essential information, but it could be improved by breaking it into shorter phrases or using bullet points for readability. Nonetheless, it is efficient and contains no superfluous words.

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?

Given no output schema and no annotations, the description covers the main outputs and purpose but lacks details on return format, error handling, and how to choose between url and document_json. It is sufficient for basic understanding but not fully complete.

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

Parameters2/5

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

Schema coverage is 0%, and the description does not explain the parameters url and document_json. It only mentions the card's signatures block without clarifying how each parameter is used or that they are alternatives. This leaves the agent to infer parameter semantics from the schema alone.

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 performs a structural check on the signatures block of a Decision Card, specifically counting signers and showing method/key/timestamp. It also explicitly mentions returning the canonical-JSON hash and pairing with attestation_verify, differentiating it from sibling tools like decision_card_inspect or attestation_verify.

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 implies usage as a precursor to cryptographic verification via attestation_verify, providing clear context. However, it does not explicitly state when not to use this tool or compare with alternatives like decision_card_validate.

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

decision_card_to_policy_bundleA

Read-only deny preview for rejected, withdrawn, expired, or pending Decision Cards; returned bundles carry preview_only=true and enforceable=false. Approved statuses return an MCP error: only the live policy engine can check buyer identity and trusted attestation, vendor scope, allowed action, and effective window before producing an enforceable bundle. Do not use this tool output as an access grant.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
document_jsonNo

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations present, the description carries the full behavioral burden and does well: it declares read-only semantics, the exact output flags (preview_only=true, enforceable=false), the error behavior for approved cards, and the security warning about not using output as a grant. It does not explain how inputs are resolved or what other failure modes exist.

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 core purpose and the preview_only/enforceable flags are front-loaded, and every clause carries information. The middle clause is long and dense, but nothing is redundant padding.

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?

For a two-parameter tool with no annotations and no output schema, the description covers the safety and status semantics well but is silent on the inputs and on the shape of the returned bundle beyond two booleans. An agent could still invoke it, but with avoidable ambiguity about what to pass.

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

Parameters2/5

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

Schema description coverage is 0% and neither of the two parameters (url, document_json) is mentioned anywhere in the description. The agent must infer that url points at a Decision Card document and document_json is its inline content; that inference is plausible from context but never stated, so the description fails to compensate for the coverage gap.

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 action and scope: producing a read-only deny preview bundle for Decision Cards in rejected, withdrawn, expired, or pending states. This meaningfully distinguishes it from siblings like decision_card_inspect or decision_card_validate, though the name itself is opaque enough that it relies heavily on the description.

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?

It gives an explicit when (non-approved card statuses), an explicit when-not (approved statuses error out), and names the alternative authority (the live policy engine) that must be used instead for enforceable bundles. The closing prohibition on treating output as an access grant leaves nothing to inference.

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

decision_card_validateA

Validate an AI Procurement Decision Card JSON document against the v0.1 schema. Enforces conditional rules: status=approved-with-conditions and status=rejected-with-remediation require at least one entry in conditions; status=withdrawn requires a withdrawal block; publication.is_public=true requires publication_uri.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYesDecision Card as inline JSON.

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses that it 'enforces conditional rules', which is behavioral. However, it does not explain return behavior on validation failure/success, side effects, or performance characteristics. Adequate but not comprehensive.

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 purpose, then lists specific rules. No fluff or repetition. Every sentence provides necessary information.

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 no output schema and one parameter, description covers validation rules well. It lacks explicit mention of return format (e.g., success/failure, error details), which would be helpful for completeness. Still, the core behavior is clear.

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%, but the description adds value by detailing the conditional rules that govern validation (e.g., status-specific requirements, publication rules). This context goes beyond the schema's parameter description.

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?

Description clearly states it validates 'AI Procurement Decision Card JSON document against the v0.1 schema', specifying the exact resource and action. It lists conditional rules, distinguishing it from sibling tools like decision_card_inspect or other card validation tools.

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?

Description implies use for validation but does not explicitly state when to use vs alternatives like decision_card_inspect or decision_card_fetch. No 'when not' guidance is provided, though the purpose is clear.

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

decision_card_well_known_urlB

Compute the canonical AI Procurement Decision Card well-known URL: /.well-known/decisions/<decision_id>.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
originYes
decision_idYesBuyer-issued identifier (e.g. SPRINGFIELD-DEC-2026-001).

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility. It only states the function without explaining whether it is a pure computation, validates inputs, or makes network calls. No disclosure of return type or error behavior.

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 a single, clear sentence with no extraneous words. It efficiently conveys the tool's core purpose.

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

Completeness2/5

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

Given no output schema, the description should explain the return value (e.g., it returns the URL as a string). It also lacks details on input validation or error cases. For a simple URL construction, the description is incomplete.

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

Parameters2/5

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

Schema coverage is 50% (only decision_id has a description). The description partially adds context by showing where decision_id fits in the URL but does not describe the 'origin' parameter or its format 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?

The description clearly states the specific verb 'Compute' and the resource 'AI Procurement Decision Card well-known URL', providing a template with placeholders. It distinguishes from sibling tools like 'agent_card_well_known_url' and 'tool_card_well_known_url' by specifying the card type.

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 usage for computing the URL but provides no explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned, though the sibling tools suggest different operations (fetch, validate, inspect).

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

defensetech_audit_event_check_invariantsA

Run three deterministic DefenseTech event checks: CUI distribution-statement presence, ITAR status with tokenized license for an authorized foreign person, and a 72-hour discovery-to-filing interval. The last check requires event.discovered_at; event.timestamp is not a substitute. Returns ok + errors + passed, not a legal compliance determination.

ParametersJSON Schema
NameRequiredDescriptionDefault
eventYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it declares the checks are deterministic, discloses the return shape (ok + errors + passed), and explicitly bounds the tool as 'not a legal compliance determination.' It stops short of saying what happens on missing/invalid input or whether any auth is required.

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 tight sentences, front-loaded with the action and the three checks, then the field caveat, then the return/disclaimer. Every sentence earns its place with no filler.

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?

For a nested-object input with zero schema documentation and no output schema, the description covers the return shape and one required field but leaves the structure of the event object largely unexplained. An agent still cannot determine which other event fields feed the CUI and ITAR checks, a notable gap given the complexity.

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 0% and the single 'event' parameter is an unspecified nested object, so the description must compensate. It adds genuine field-level meaning by naming event.discovered_at as required and clarifying event.timestamp is not a substitute, but it documents only one field of an otherwise opaque nested object containing CUI/ITAR/interval data.

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 (run checks) and enumerates exactly the three deterministic checks performed, each of which maps to a sibling tool (defensetech_check_cui_distribution_statement, defensetech_check_itar_us_person, defensetech_check_dfars_72h_clock). An agent can tell this is the composite bundle versus the individual check 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 enumeration of all three sub-checks implicitly signals that this is the bundled entry point, but the description never states when to use this tool versus calling the three individual sibling checks, nor any prerequisites or exclusions. Usage is inferable but not spelled out.

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

defensetech_check_cui_distribution_statementB

Check that a CUI-Specified+ tier event carries the required distribution_statement (DoDI 5230.24). For PUBLIC / CUI-BASIC tiers reports applicable=false.

ParametersJSON Schema
NameRequiredDescriptionDefault
cui_categorizationYes
distribution_statementNo

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits. It only says 'check' and 'reports applicable=false' without explaining side effects, return format, or error conditions. This is insufficient for a tool that may affect state or require specific permissions.

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 two sentences, both front-loaded with essential information. There is no redundant text, and every sentence adds value.

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

Completeness2/5

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

Given the tool has 2 parameters, no output schema, and no annotations, the description is too brief. It omits parameter semantics, return values, error handling, and prerequisites, making it incomplete for an agent to use confidently.

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

Parameters2/5

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

The schema has 0% description coverage, and the description does not explain the parameters 'cui_categorization' or 'distribution_statement'. It references the tier concept but does not map to the required parameter, leaving the agent to infer the connection.

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 it checks for required distribution statement on CUI-Specified+ tier events and mentions behavior for other tiers. The verb 'check' + resource 'distribution_statement' is specific and distinguishes from sibling tools targeting different compliance aspects.

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 (for CUI-Specified+ tier) and when not (PUBLIC/CUI-BASIC report applicable=false). However, it does not explicitly state when to avoid this tool or suggest alternatives, leaving some ambiguity about its role relative to other validation tools.

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

defensetech_check_dfars_72h_clockA

Calculate the DFARS 252.204-7012 discovery-to-filing 72-hour interval from supplied timezone-qualified timestamps. Requires discovered_at, not occurred_at. Invalid or pre-discovery filing timestamps return valid=false and within_window=false. This arithmetic preview does not establish a reporting duty or prove filing.

ParametersJSON Schema
NameRequiredDescriptionDefault
filed_atYes
discovered_atYesWhen the cyber incident was discovered; the reporting clock starts here.

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose concrete behavior: invalid or pre-discovery filing timestamps return valid=false and within_window=false, and the tool is framed as an arithmetic preview without legal effect. It does not describe the shape of the successful return or the exact fields of the interval 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?

Four tight sentences, front-loaded with the computation, then the input constraint, then negative-case behavior, then the disclaimer. Every sentence carries information and nothing is padded, though the final disclaimer could be folded in.

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?

There is no output schema and no annotations, so the description is the only source of behavioral truth. It covers negative-case returns and legal scope but omits the success-case return payload and leaves one of two required parameters undocumented, so it is only partially complete for a computation tool of this importance.

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 50%: discovered_at is documented in the schema, but filed_at only carries a date-time format. The description partly compensates by emphasizing 'timezone-qualified timestamps' and distinguishing discovered_at from occurred_at, but leaves filed_at semantics to inference, so this sits at the baseline.

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 ('Calculate') and resource ('the DFARS 252.204-7012 discovery-to-filing 72-hour interval'), so the operation is unambiguous. No sibling tool overlaps this computation, and the domain-specific reference (DFARS 252.204-7012) makes the scope precise.

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 a real input-routing rule ('Requires discovered_at, not occurred_at') and a scope disclaimer ('does not establish a reporting duty or prove filing'), which implies when it is and isn't the right call. But it never states when to use this versus alternatives or prerequisite conditions in an explicit when/when-not form.

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

defensetech_check_itar_us_personB

Check that an ITAR resource event has US-PERSON-VERIFIED (or AUTHORIZED-FOREIGN-PERSON-WITH-LICENSE + DDTC license number tokenized) on the agent. Per 22 CFR 120.62 / 22 CFR 120.50 deemed-export rule.

ParametersJSON Schema
NameRequiredDescriptionDefault
export_control_statusYes
human_user_us_person_statusNo
ddtc_export_license_number_tokenizedNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description must carry full burden. Description lacks details on side effects (read-only vs write), authorization needs, return format, error behavior, 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?

Single sentence with regulatory reference, no wasted words. Front-loaded with core condition. Efficient but could benefit from slight structure to highlight parameter mapping.

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

Completeness2/5

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

For a compliance check tool with 3 parameters and no output schema, description lacks return value specification (boolean? success/error?), does not clarify optional vs required params, and omits error conditions. Significant gaps given tool's purpose.

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 has 0% description coverage. Description mentions condition involving US-PERSON-VERIFIED and AUTHORIZED-FOREIGN-PERSON-WITH-LICENSE, which maps to likely parameter roles, but does not explicitly define each parameter's meaning or valid values.

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?

Description clearly states the tool checks ITAR resource event for US-PERSON-VERIFIED or AUTHORIZED-FOREIGN-PERSON-WITH-LICENSE + DDTC license number. Cites specific regulations. Unique verb-resource combination distinguishes it from 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?

Implied usage for verifying ITAR compliance, but no explicit when-to-use vs alternatives or exclusions. Does not mention sibling tools or when not to use.

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

defensetech_incident_classify_event_typeA

Given a freeform description of a defense-AI incident, classify it into one of the 22 DefenseTech Incident Card event_type values (DFARS cyber / CUI spillage / ITAR violation / foreign-person breach / classified misuse / NISPOM insider-threat / CMMC POA&M / AI-tool supply-chain / etc.). Returns top 3 candidates with token-match scoring.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYes

TDQS

A4/5.0
Behavior2/5

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

No annotations provided; description only mentions returning top 3 with token-match scoring, but lacks details on failure modes, confidence thresholds, or side effects.

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 verb and resource, no wasted words.

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?

Adequate for a simple classification tool with one parameter and no output schema; could mention edge cases but 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?

Schema has 0% coverage, but description explains the 'description' parameter as a freeform incident description, adding meaningful context beyond the schema's empty string type.

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?

Clearly states it classifies a freeform description into 22 event types, provides examples, and distinguishes from siblings like defensetech_check_itar_us_person.

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?

Explicitly says when to use (classify defense-AI incident descriptions), but does not mention when not to use or provide alternative tools for similar tasks.

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

defensetech_summarize_cmmc_evidence_bundleA

Summarize a CMMC L2/L3 readiness evidence bundle: target level, assessment mode, evidence count, family coverage count, outcome distribution, orphan-failure count (not-satisfied without poam_ref), SPRS evidence presence, and quick invariant checks for POA&M traceability + SPRS-when-7019/7020-in-scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
bundleYes

TDQS

A3.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool performs summarization and includes invariant checks, which is transparent for a read-only analysis tool. However, it does not detail the exact invariants or any potential edge cases.

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 a single, information-dense sentence that front-loads key details. While it efficiently conveys many specifics, it could benefit from structural improvements like bullet points for readability.

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?

Given the tool's specialized domain and the lack of input schema details or output schema, the description covers the output aspects well but fails to specify the input bundle structure, which is a significant gap for an agent trying to invoke the tool correctly.

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

Parameters1/5

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

The sole parameter 'bundle' is an object with no schema description and no additional explanation in the description. Schema description coverage is 0%, and the description does not clarify what fields or format the bundle should have, leaving the agent to guess.

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 uses a specific verb ('summarize') and resource ('CMMC L2/L3 readiness evidence bundle'), and lists concrete output elements (target level, assessment mode, evidence count, etc.), clearly distinguishing it from sibling tools that deal with other aspects of defense technology compliance.

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 usage for summarizing a CMMC evidence bundle, but does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions.

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

defensetech_vault_contract_cross_binding_checkA

Verify the cross_binding_refs block on a DefenseTech vault contract is syntactically valid: all referenced repos are HTTPS URLs. Returns valid_refs + errors. Does NOT fetch remotely (syntactic check only).

ParametersJSON Schema
NameRequiredDescriptionDefault
contractYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It explicitly states the tool does NOT fetch remotely, highlighting the purely syntactic nature. However, it could elaborate on side effects (none) or authorization requirements.

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 extremely concise with two sentences. The first sentence states the purpose and key constraint (HTTPS URLs), and the second clarifies scope. No unnecessary words.

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 syntactic check with one parameter and no output schema, the description is largely complete. It covers the action, constraint, return info, and what it does not do. However, it lacks details on error messages or edge cases.

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

Parameters2/5

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

The sole parameter 'contract' is an object with schema description coverage at 0%. The description mentions it is a 'DefenseTech vault contract' but provides no details on its structure or required fields. This adds minimal value 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?

The description clearly states the tool's purpose: verifying the syntactic validity of the 'cross_binding_refs' block on a DefenseTech vault contract, specifically that all referenced repos are HTTPS URLs. It also mentions the return structure (valid_refs + errors) and distinguishes itself from sibling tools that have different functionalities.

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 usage for syntactic checks but does not explicitly state when to use this tool versus alternatives or when not to use it. No comparison is made with sibling tools that might offer similar or complementary validation.

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

defensetech_vault_resolve_3axisB

Deterministic preview of a DefenseTech 3-axis vault contract: intersect allowed_actions and OR requires_* flags. Unknown or incomparable human-user requirements return ok=false for an authorized policy owner to resolve. This does not verify identity, classification, licenses, or enforce access.

ParametersJSON Schema
NameRequiredDescriptionDefault
tupleYes
contractYes

TDQS

B3.1/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does meaningfully shoulder it: it declares the operation deterministic, specifies the ok=false outcome for unknown/incomparable human-user requirements, and states a negative scope ('does not verify identity, classification, licenses, or enforce access'). That limitation disclaimer is genuinely valuable for a security-sensitive tool. It omits permission/auth prerequisites and return-shape detail, keeping it short of 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?

Two sentences, front-loaded with the core action and immediately followed by the failure semantics and disclaimers. Dense with domain jargon but every clause carries information; nothing is padding.

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

Completeness2/5

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

For a tool with a fully opaque nested 'contract' object, zero parameter coverage, no annotations, and no output schema, the description leaves the single hardest question unanswered: what actually goes into 'contract'. Behavioral semantics are covered, but the input contract structure is a black box, which is a substantial completeness gap.

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

Parameters2/5

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

Schema description coverage is 0%: 'contract' is an undocumented free-form object and the tuple's cui/export_control/foreign_person fields have no descriptions. The description offers domain vocabulary (allowed_actions, requires_* flags) but never maps it to the 'contract' vs 'tuple' parameters or explains the tuple axes, so an agent still cannot tell what to supply.

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 verb ('resolve') and a specific resource ('DefenseTech 3-axis vault contract') and even describes the internal mechanics ('intersect allowed_actions and OR requires_* flags'), which is more than a tautology. It does not, however, explicitly differentiate itself from the nearby sibling defensetech_vault_contract_cross_binding_check, so the exact boundary is left to inference.

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 word 'preview' implies a dry-run/non-enforcing call, and the ok=false condition hints at when resolution is deferred to an owner. But there is no explicit when-to-use/when-not guidance and no routing to the closely-related vault/cross-binding sibling, so the agent must guess its place in the workflow.

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

disclosure_aup_checkA

Surface the disclosure's declared policy posture and any aup_uri reference. Status is one of: declared_compliant, declared_non_compliant, aup_referenced_but_unclaimed, no_aup_reference. This does not verify compliance; aup_check_compliance evaluates eight declared AUP/Disclosure checks only.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose the key behavioral trait: this is a read-only surfacing of declared posture, not a verification, plus the exact set of possible status outcomes. It does not describe the input format or error behavior, but the non-verification limitation is the critical disclosure.

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 tight sentences: what it returns, the enumerated outcomes, then the limitation and alternative. Front-loaded and every sentence 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 no output schema, enumerating the four status strings is exactly the return-value context an agent needs, and the non-verification boundary is stated. The gap is the undocumented required input parameter, which leaves the call contract incomplete.

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

Parameters2/5

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

Schema coverage is 0% and the single parameter document_json has no type detail, format, or example in either the schema or the description. The description describes outputs (status values) but contributes nothing about what document_json must contain, so the agent must guess the expected input shape.

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 ('Surface') and resource (the disclosure's declared policy posture and aup_uri reference), and enumerates the resulting status values, so the agent knows exactly what is produced. It also names the sibling it is not (aup_check_compliance), making it distinguishable 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?

It explicitly says what it does not do ('does not verify compliance') and points to the alternative that does, aup_check_compliance. It lacks a positive when-to-use statement (e.g. 'use before compliance evaluation to read declared posture'), but the exclusion effectively routes the agent.

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

disclosure_inspectC

Structured summary of a Student AI Disclosure: assignment identity, AI usage facts, tools used (with back-refs to agent / tutor cards), role taxonomy, assistance extent, prompt-mode + count, artifact hash, policy posture, signature + acknowledgment.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description carries full burden. It describes the output but does not state whether the tool has side effects, requires authentication, or is read-only. For an inspection tool, the read-only nature is implicit but not explicit. Additionally, no information about errors, rate limits, or performance traits is given.

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 a single sentence that efficiently lists all major output components. It is concise and front-loaded with the core purpose. However, it could be better structured (e.g., bullet points) for clarity, and it omits input details.

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?

Given that there is no output schema and only one input parameter, the description does a reasonable job of explaining the output contents. However, it fails to document the input parameter or the tool's behavior beyond the output. It covers the 'what' but not the 'how' or 'when', leaving gaps for an agent to use the tool correctly.

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

Parameters1/5

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

The schema has 0% description coverage, and the tool's description does not explain the single parameter 'document_json'. There is no indication of what format the JSON should be, what keys are expected, or how to construct the input. The description only mentions the output, leaving the parameter entirely opaque.

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 specifies the tool's purpose: returning a structured summary of a Student AI Disclosure. It lists the specific elements included (assignment identity, AI usage facts, etc.), making the resource and output unambiguous. The name 'disclosure_inspect' and the verb 'Structured summary' align well, and among sibling tools like 'disclosure_validate' and 'disclosure_verify_artifact_hash', the inspect function is distinct enough.

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 usage guidelines are provided. The description does not indicate when to use this tool over siblings like 'disclosure_validate' or 'disclosure_verify_artifact_hash'. There is no mention of prerequisites, input format expectations, or context for when this tool is appropriate.

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

disclosure_validateA

Validate a Student AI Disclosure JSON document against the v0.1 schema. Enforces conditional rules (ai_used true requires tools/roles/extent/prompt_mode; ai_used false forbids them; prompt mode gates prompts presence).

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYes

TDQS

A3.8/5.0
Behavior3/5

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

Discloses that it enforces conditional validation rules, which adds value beyond schema. However, with no annotations, it lacks details on error reporting, side effects (read-only implied), and response format.

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 concise sentences: first defines purpose, second details conditional rules. No extraneous content, front-loaded.

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?

Covers validation logic well but omits important context: no output schema means result format is unknown, no mention of synchronous/asynchronous behavior, and no prerequisites stated.

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

Parameters2/5

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

Schema has one parameter with 0% description coverage. The description adds that it is a 'Student AI Disclosure JSON document' but fails to specify expected format, encoding, or constraints, which is insufficient for correct usage.

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?

Clearly states the tool validates a Student AI Disclosure JSON document against a specific schema (v0.1). This distinguishes it from sibling tools that validate other document types (e.g., agent_card_validate, tutor_card_validate).

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?

Describes the conditional rules enforced, which guides when to use this tool (disclosures with those rules). No explicit when-not or alternatives, but the specific context makes usage clear.

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

disclosure_verify_artifact_hashA

Recompute SHA-256 over a candidate artifact and compare to disclosure.artifact_hash. Pass either candidate_text (canonical SHA-256: LF, no trailing newline) for text artifacts, or candidate_bytes_base64 (raw-bytes SHA-256) for binary artifacts like PDFs / images. Returns ok=true on match, otherwise { error: artifact_hash_mismatch, expected, recomputed }.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYes
candidate_textNoText artifact (canonical-text mode).
candidate_bytes_base64NoBase64-encoded raw artifact bytes (raw-bytes mode).

TDQS

A3.8/5.0
Behavior3/5

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

The description explains the computation and comparison logic, and details the return format on mismatch. However, it does not explicitly state that the tool is non-destructive or clarify any authorization needs, rate limits, or side effects. Given the lack of annotations, this is a moderate gap.

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 two sentences, front-loaded with the main purpose, and every sentence adds value. No redundant or ambiguous wording; it is efficient and well-structured.

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 description covers the core functionality and parameter usage, but it fails to explain the required parameter document_json, which is only described in the schema. Without a clear description of what document_json is, the tool's completeness is diminished. Additionally, no output schema is provided, though the description partially covers return 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 description adds meaningful context beyond the schema, such as specifying that candidate_text uses canonical SHA-256 with LF and no trailing newline, and that candidate_bytes_base64 is for binaries like PDFs/images. This compensates for missing schema descriptions on some parameters.

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

Purpose4/5

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

The description clearly states it recomputes SHA-256 and compares to a stored hash, specifying two modes for text and binary artifacts. However, it does not distinguish itself from sibling tools like disclosure_verify_prompt_hash or ai_evidence_verify_hash, which might have similar purposes.

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 provides clear guidance on which parameter to use based on artifact type (candidate_text for text, candidate_bytes_base64 for binary) and explains the canonical text mode. It does not explicitly state when not to use the tool or mention alternatives, but the context is sufficient for basic decision-making.

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

disclosure_verify_prompt_hashA

Verify a single prompt hash in a hashed-mode disclosure. Looks up prompt_id and compares canonical SHA-256 of candidate_text. Returns ok=true on match or { error: prompt_hash_mismatch, expected, recomputed }. Errors with wrong_prompt_mode if prompt_evidence_mode is not 'hashed'.

ParametersJSON Schema
NameRequiredDescriptionDefault
prompt_idYes
document_jsonYes
candidate_textYes

TDQS

A3.8/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. Discloses lookup by prompt_id, SHA-256 computation, return format (ok=true or error with expected/recomputed), and error condition for wrong mode. Missing explicit read-only statement, but verification is inherently non-destructive.

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: first for purpose, second for returns and errors. No redundancy, every sentence adds value.

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?

Covers main behavior and errors, but lacks detail on document_json format and expected prompt_id schema. Adequate for a simple verification tool, but could be more thorough.

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

Parameters2/5

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

Schema has 0% property descriptions. Description explains prompt_id and candidate_text roles but does not define document_json structure or format. Incomplete compensation for low schema coverage.

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?

Clearly states it verifies a single prompt hash in hashed-mode disclosure. Verb 'verify' and resource 'prompt hash' are specific, distinguishing it from sibling 'disclosure_verify_artifact_hash' which verifies artifact hashes.

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?

Implies usage context ('hashed-mode disclosure') and error when not in that mode, but does not explicitly contrast with alternatives like disclosure_verify_artifact_hash or other validation tools. No when-not guidance.

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

incident_affected_walkA

Walk an Incident Card's affected block and return every referenced Suite document as { uri, kind }. Useful as the seed list for incident-correlation-rs or fan-out validation via aeo-validator-service.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
document_jsonNo

TDQS

A3.7/5.0
Behavior4/5

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

The description explains the tool's behavior: it walks the affected block and returns every referenced Suite document. It implies a read-only operation with no side effects, but does not cover error cases or what happens when no affected block exists. With no annotations, this is decent but not exhaustive.

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 two sentences, front-loaded with the core functionality, and each sentence adds value without redundancy. It is appropriately sized.

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

Completeness2/5

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

While the description covers the output and use cases, it omits parameter explanations, which are crucial for correct invocation. Given the absence of an output schema, more detail on input usage would be expected.

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

Parameters1/5

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

Schema coverage is 0% and the description does not explain the parameters 'url' or 'document_json'. It only describes the output, leaving the input semantics entirely to the schema, which provides no 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?

The description clearly states the tool walks an Incident Card's `affected` block and returns referenced Suite documents as { uri, kind }, giving a specific verb and resource. It distinguishes from sibling tools like incident_fetch by focusing on walking the affected block.

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 provides explicit use cases: 'useful as the seed list for incident-correlation-rs or fan-out validation via aeo-validator-service.' While it gives context, it does not explicitly state when not to use this tool or mention alternatives.

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

incident_fetchA

Fetch an AI Incident Card from a URL. Returns the parsed, schema-validated JSON document.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It states it fetches and returns parsed JSON, which suggests read-only behavior, but it does not disclose error handling, authentication, or side effects. Adequate but minimal.

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 two concise clauses, front-loading the action. Every word adds value with no wasted text.

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?

The tool is simple with one parameter and no output schema. The description covers the core purpose and return type, but could be more complete by mentioning the expected structure or error cases. Still sufficient for low complexity.

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

Parameters2/5

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

The schema has 0% description coverage for the url parameter. The tool description adds no additional meaning beyond the parameter name and schema type, failing to compensate for the lack of schema description.

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 action (Fetch), the resource (AI Incident Card), and the source (from a URL). It also specifies the return type. This distinguishes it from sibling tools like tutor_card_fetch or decision_card_fetch.

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 usage when needing to fetch an incident card by URL, but it does not explicitly state when to use this tool versus alternatives (e.g., incident_inspect) or any prerequisites/exclusions.

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

incident_index_fetchA

HEADLINE TOOL, fetch a vendor's /.well-known/ai-incidents.json index and return a procurement-friendly summary: total count, breakdown by severity, breakdown by status, IDs sorted by disclosed_at descending. The cheapest way for a CISO or procurement reviewer to scan a vendor's incident history.

ParametersJSON Schema
NameRequiredDescriptionDefault
originYesVendor origin (e.g. https://edu.kineticgain.com).

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must stand alone. It describes the fetch operation and the summary output but does not disclose side effects, error handling, or safety characteristics (e.g., read-only, destructive potential). The transparency is adequate but incomplete.

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 only two sentences long, with no wasted words. The first sentence states the action and output, while the second adds audience and value. It is front-loaded and 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?

Given the simple one-parameter tool and no output schema, the description covers the main purpose, output structure (total count, breakdowns, sorted IDs), and target users. It is mostly complete but could benefit from mentioning error cases or prerequisites.

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

Parameters3/5

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

The input schema covers 100% of the single parameter 'origin' with a description and format. The description adds context that the origin is the vendor's base URL for the index, which aligns with the schema. It adds minimal new meaning beyond the schema, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool fetches a vendor's .well-known/ai-incidents.json index and returns a procurement-friendly summary. It distinguishes itself from sibling tools like 'incident_fetch' by calling itself the 'HEADLINE TOOL' and the 'cheapest way' for scanning incident history.

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 identifies the target audience (CISO or procurement reviewer) and the high-level use case (scanning a vendor's incident history). It implies a lightweight overview but does not explicitly contrast with alternatives or state 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.

incident_inspectC

Structured summary of an AI Incident Card: incident identity (id, title, severity, categories, status, timeline), affected products + versions + Agent/Tutor/Tool Card cross-references, root cause, harm, mitigation, regulatory filings, withdrawal posture, revision metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
document_jsonNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided; description does not disclose whether the tool is read-only, its safety profile, or any side effects. The verb 'inspect' implies read but not explicitly stated.

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?

Single sentence listing many fields; information dense but somewhat run-on. Could be more structured (e.g., bullets) for readability, but not overly verbose.

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

Completeness2/5

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

No output schema exists; description compensates by listing return fields. However, it omits crucial usage context for parameters and behavioral traits, making it incomplete for correct invocation.

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

Parameters1/5

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

Schema description coverage is 0% and description fails to explain the purpose of parameters 'url' and 'document_json'. Does not indicate how they are used or which is needed, leaving agents uninformed.

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 "Structured summary of an AI Incident Card" and enumerates specific fields (id, title, severity, etc.). Clearly identifies the resource and action, distinguishing from sibling tools like incident_fetch or incident_validate.

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 guidance on when to use this tool versus alternatives such as incident_fetch or incident_affected_walk. Missing context about prerequisites or suitable scenarios.

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

incident_remediation_planC

Map each affected URI in an Incident Card to a recommended Action + Urgency. Single-hop preview of what incident-correlation-rs.correlate() would produce: agent/tutor/tool-card -> revalidate; vendor/product -> request_review. Urgency follows severity.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
document_jsonNo

TDQS

C2.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the output format (Action+Urgency mapping) and mentions 'Urgency follows severity', which gives behavioral insight. However, it does not mention side effects, error conditions, or assumptions about input format.

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 extremely concise, consisting of two sentences with no redundant words. Every sentence adds value.

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

Completeness2/5

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

Given the lack of output schema and parameter explanations, the description is incomplete. For a tool with two unannotated parameters, failing to describe them leaves the agent without critical information needed for correct invocation.

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

Parameters1/5

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

With 0% schema description coverage, the description must explain parameters, but it makes no mention of 'url' or 'document_json'. The agent cannot infer what these parameters represent or how they relate to the tool's operation.

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 it maps affected URIs to recommended Action+Urgency, and provides examples of mappings. It hints at a preview of a correlation function, which distinguishes it from other incident tools, but assumes knowledge of 'incident-correlation-rs.correlate()' and doesn't explicitly differentiate from siblings like incident_fetch or incident_inspect.

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 explicit guidance on when to use this tool versus alternatives. It says 'Map each affected URI in an Incident Card', which implies usage context, but no when-not or comparison to other incident tools.

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

incident_validateA

Validate an AI Incident Card JSON document against the v0.1 schema. Enforces conditional rules: status=resolved requires resolved_at; status=withdrawn requires withdrawal block; non-empty regulatory.reported_to requires non-empty regulatory_filing_uris; root_cause.category=other and categories containing 'other' both require the corresponding _other_text fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYesIncident Card as inline JSON.

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the enforced conditional rules, which is good, but omits behavioral details such as side effects (none expected), authentication requirements, or the format of validation results (e.g., pass/fail, error messages).

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 highly concise with two sentences: one for the primary purpose and one enumerating the conditional rules. Every sentence adds essential information, and there is no redundancy or fluff.

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 (single parameter, no output schema, no annotations), the description covers the validation logic in sufficient detail. However, it could be improved by briefly noting the return value (e.g., success/error object), though this is often inferred for validation tools.

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?

With 100% schema coverage, the description adds minimal value beyond the schema. The parameter 'document_json' is described as 'Incident Card as inline JSON,' which clarifies the format but does not elaborate on constraints like encoding or size limits.

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 validates an AI Incident Card JSON against a specific schema (v0.1) and lists conditional rules. The verb-resource pairing is precise, and it distinguishes itself from sibling validators for other card types (e.g., agent_card_validate, tool_card_validate).

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 usage for validating incident cards but fails to provide explicit when-to-use or when-not-to-use guidance. It does not mention alternatives like incident_fetch or incident_inspect, leaving the agent to infer context from sibling names.

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

incident_well_known_urlA

Compute the canonical AI Incident Card well-known URL: /.well-known/ai-incidents/.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
originYes
incident_idYesConvention: INC-<YYYY-MM-DD>-<vendor>-<seq>

TDQS

A3.7/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It clearly indicates a safe read-only computation (constructing a URL) with no side effects. Lacks details about error handling or validation, but behavior is straightforward and predictable.

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?

Single sentence, front-loaded with purpose. Very concise, but could benefit from explaining the origin parameter's role. Still, it is efficient and clear.

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?

For a simple URL builder, the description is mostly adequate but lacks explanation of the origin parameter and output format. Given no output schema, the description should ideally clarify what the tool returns. It is incomplete for a tool that requires two parameters.

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

Parameters2/5

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

Schema coverage is 50% (only incident_id has description). The tool description does not explain the origin parameter or how it is used in URL construction. It adds no semantic value beyond the schema, missing crucial information about a required parameter.

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?

Description clearly states it computes the canonical well-known URL for an AI Incident Card, with the exact path template. This distinguishes it from sibling tools like incident_fetch or other well-known URL builders.

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 guidance on when to use this tool versus alternatives like incident_fetch or other well-known URL tools. The context implies it is for URL generation before fetching, but no exclusions or prerequisites are provided.

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

prompt_provenance_eval_resultC

Extract a single evaluation suite's result from a Prompt Provenance document.

ParametersJSON Schema
NameRequiredDescriptionDefault
suite_nameYesName of the evaluation suite to extract.
document_jsonYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It does not mention whether the operation is read-only, if permissions are needed, or what side effects (none expected) occur. The verb 'extract' implies a read but is not explicitly stated.

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 a single sentence, direct and without unnecessary words. It is appropriately front-loaded and efficient for the tool's simplicity.

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

Completeness2/5

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

Given the lack of output schema and minimal schema coverage, the description does not provide enough context about what the extracted result looks like or how the document_json should be structured. Sibling tool names hint at domain but do not compensate.

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 schema has 50% description coverage: suite_name has a basic description ('Name of the evaluation suite to extract.') which adds some value, but document_json lacks any description. The description does not clarify the expected format (JSON string) or relationship between parameters.

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

Purpose4/5

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

The description clearly states the verb 'extract' and the resource 'evaluation suite's result', and specifies the source 'from a Prompt Provenance document'. However, it does not differentiate from sibling tools like prompt_provenance_validate or prompt_provenance_inspect, which may have overlapping purposes.

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 guidance is provided on when to use this tool versus alternatives. The description lacks context on prerequisites, when it should not be used, or what conditions make it appropriate. Sibling tool names imply a broader suite but no explicit direction.

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

prompt_provenance_inspectC

Structured summary of a Prompt Provenance document: prompt identity, lineage, approval state, evaluation suites.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavior. It mentions the tool returns a summary but does not state whether it is read-only, requires permissions, or handles errors. Minimal behavioral detail.

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 a single sentence that efficiently lists the output components. It is not verbose, but could be slightly more structured.

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

Completeness2/5

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

With one parameter lacking schema description and no output schema, the description should explain the input format and output structure. It does not, leaving the agent underinformed.

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

Parameters1/5

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

Schema description coverage is 0%; the parameter 'document_json' has no description. The tool description does not clarify what the parameter should contain (e.g., a JSON string of the document). No value added 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?

The description clearly states it provides a structured summary of a Prompt Provenance document, listing key fields (identity, lineage, approval state, evaluation suites). This differentiates it from sibling tools like prompt_provenance_validate (validation) and prompt_provenance_eval_result (evaluation result).

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 guidance on when to use this tool versus alternatives, prerequisites, or context. The description only describes the output, not usage scenarios.

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

prompt_provenance_validateA

Validate a Prompt Provenance JSON document against the v0.1 schema. Returns { valid, prompt_id, version } or { valid: false, reason }.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYesA Prompt Provenance JSON document as a string.

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It transparently describes the return values, including both success and failure structures. However, it does not disclose whether the tool has side effects, requires specific permissions, or any rate limits. The behavioral information is adequate but not exhaustive.

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 a single sentence that conveys the action, schema version, and return structure. Every word is necessary and no fluff exists. It is optimally concise.

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 simplicity of the tool (one required parameter, no output schema), the description sufficiently covers the purpose and return values. It explains both success and failure outcomes. The only minor gap is that it does not mention that the tool only validates, not modifies, but the return structure implies no side effects.

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 with a description for the only parameter (document_json). The description does not add additional meaning beyond what the schema already provides, so it meets the baseline but does not exceed it.

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 action (validate), the resource (Prompt Provenance JSON document), and the specific schema version (v0.1). It distinguishes from sibling tools by specifying the schema version and the specific return structure, which is unique among validation 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 implies usage when needing to validate a Prompt Provenance document against the schema, but does not explicitly state when to use this tool vs alternatives like prompt_provenance_inspect or eval_result. No when-not-to-use guidance is provided.

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

suite_doc_detect_specA

Detect which Kinetic Gain Suite spec a JSON document is by sniffing its top-level *_version field. Returns { spec, version_field, version }. Recognises all 12 specs; returns spec='unknown' for anything else.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are present, so the description carries full burden. It discloses the detection mechanism (sniffing top-level *_version field) and return values, but does not state whether the tool has side effects, requires authentication, or handles errors beyond returning 'unknown'. While the behavior is mostly clear, additional traits like idempotency are missing.

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 core action, and no redundant information. Every word provides value.

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 simplicity (1 parameter, no output schema), the description covers detection logic, return format, and fallback. It could list the 12 recognized specs or clarify error handling for malformed input, but completeness is high for its scope.

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 0%, and the description adds significant meaning: the 'body' parameter is a JSON document with a top-level *_version field. It explains how the field is used and what outputs are produced. This compensates well for the bare 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?

The description clearly states the tool detects which Kinetic Gain Suite spec a JSON document belongs to by sniffing the top-level *_version field. It specifies the return structure and lists capabilities (recognizes 12 specs, fallback to 'unknown'). This is specific verb+resource and distinguishes from siblings implicitly by its unique function.

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 usage for identifying document specs but does not explicitly state when to use this tool vs alternatives (e.g., suite_doc_drift). No exclusions or context are provided, so guidance is adequate but not explicit.

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

suite_doc_driftB

Structural diff between two versions of the same Suite document. Returns { drifted, spec_before, spec_after, spec_changed, content_hash_before, content_hash_after, added_fields, removed_fields, changed_fields }, mirrors the DriftReport shape aeo-validator-service emits for watch rechecks.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterYes
beforeYes

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description bears full burden for behavioral disclosure. It lists the return fields but does not mention side effects, idempotency, authentication needs, or whether the operation is destructive. This leaves significant ambiguity.

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 concise—two sentences with no filler. It front-loads the core purpose and adds relevant detail about the return shape. Every sentence adds value.

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?

Given the tool has nested parameters with no schema details and no output schema, the description is moderately complete. It lists the return fields, but the input parameters remain underspecified, requiring the agent to infer the document structure.

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

Parameters2/5

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

The schema has two object parameters ('before', 'after') with 0% description coverage. The description identifies them as document versions but offers no details on required fields or structure. For nested objects, this is insufficient.

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 performs a structural diff between two versions of the same Suite document, specifying the verb 'diff' and the resource 'Suite document versions'. It distinguishes from siblings by focusing on version comparison, which is unique among the listed tools.

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 mentions the tool mirrors the DriftReport shape from aeo-validator-service, providing some context but no explicit guidance on when to use it vs. alternatives or when not to use it. No exclusions or prerequisites are stated.

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

tool_card_inspectC

Structured summary of an MCP Tool Card: tool identity, safety profile (side-effect class, PII/secrets exposure, approval requirement), test count, p99 latency.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
document_jsonNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It fails to mention whether the tool is read-only, requires authentication, or how it interprets its two parameters (url vs. document_json). The behavior of combining or selecting between parameters is ambiguous.

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 sentence that captures the output, but it omits critical information about parameters and behavior. It is front-loaded but incomplete.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is not sufficiently complete. It does not cover parameter usage, return format, or side effects, leaving significant gaps for an agent to use the tool correctly.

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

Parameters1/5

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

Schema description coverage is 0% and the tool description does not explain either parameter. The roles of 'url' and 'document_json' are undefined, leaving the agent without guidance on how to populate them correctly.

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 returns a structured summary of an MCP Tool Card, listing specific fields like identity, safety profile, and performance metrics. It distinguishes from sibling tools like agent_card_inspect or tutor_card_inspect by focusing on tool 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 implies usage for inspecting MCP Tool Cards but provides no explicit guidance on when to use this tool versus alternatives, nor any prerequisites or exclusion criteria. Usage context is implied but not spelled out.

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

tool_card_tested_withB

Return the tested-LLM entries for a tool, optionally filtered by a substring match on the LLM identifier.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
llm_filterNoSubstring of the LLM identifier to filter by (case-insensitive). Optional.
document_jsonNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so description bears full burden. It does not disclose any behavioral traits beyond returning entries, such as authentication needs, rate limits, or what happens if no results are found. For a simple retrieval tool, minimal disclosure but lacks depth.

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?

Single sentence, front-loaded with verb and resource, no filler. Every word earns 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?

For a simple tool with 3 optional parameters and no output schema, the description is mostly adequate but lacks detail on what the 'tool' parameter represents and the return format of the entries.

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 description adds meaning to the llm_filter parameter by mentioning substring filtering. However, url and document_json parameters are not explained in the description and have no schema descriptions, leaving their purpose ambiguous despite being used arbitrarily.

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 verb 'Return' and the resource 'tested-LLM entries for a tool', and mentions optional filtering. It distinguishes this tool from siblings like tool_card_inspect and tool_card_validate by specifying the 'tested-with' aspect.

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 guidance on when to use this tool versus alternatives. Sibling tools exist for inspecting or validating tool cards, but description does not explain when to use this specific tool for tested-LLM entries.

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

tool_card_validateC

Validate an MCP Tool Card JSON document against the v0.1 schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. The description only says 'Validate', but doesn't disclose whether it returns pass/fail, error details, or any side effects. Users are left guessing the behavior beyond the name.

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 a single concise sentence that front-loads the purpose. However, it could be slightly longer to include critical details without losing conciseness.

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

Completeness2/5

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

For a simple validation tool with one parameter and no output schema, the description is incomplete. It fails to mention what the tool returns (e.g., valid/invalid boolean, validation errors), which is essential for an agent to interpret results.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description adds no meaning to the single parameter 'document_json'. It doesn't explain expected format, content, or constraints. The parameter remains opaque.

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 action ('validate') and the specific resource ('an MCP Tool Card JSON document against the v0.1 schema'). It distinguishes from sibling tools that validate other card types (e.g., agent_card_validate, tutor_card_validate).

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 suggestion of when to use this tool versus alternatives. With many sibling validation tools, guidance on selecting this one for Tool Cards would help. The description only states what it does, not when to invoke it.

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

tool_card_well_known_urlA

Compute the canonical MCP Tool Card well-known URL (convention: /.well-known/mcp-tools/<tool_name>.json).

ParametersJSON Schema
NameRequiredDescriptionDefault
tool_nameYes
mcp_server_originYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It mentions computing a URL but lacks details on side effects, authorization needs, rate limits, or error behavior. It is a simple compute function, so the transparency is adequate but not detailed.

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?

Single sentence, zero wasted words. Concise and front-loaded with the core action.

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 compute tool without output schema, the description hints at returning a URL. It could be slightly improved by specifying the return format (e.g., a string) but is mostly complete given the tool's simplicity.

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 0%, so description must compensate. It explains that tool_name is used as the filename in the URL and mcp_server_origin is the base origin, adding meaningful context beyond the schema's empty 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?

The description clearly states the tool computes the canonical MCP Tool Card well-known URL with the specific convention /.well-known/mcp-tools/<tool_name>.json. This distinguishes it from sibling tools like agent_card_well_known_url or tutor_card_well_known_url by specifying the 'mcp-tools' path.

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 usage through the convention but does not explicitly state when to use this tool vs alternatives or mention any exclusions. No guidance on 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.

tutor_card_coppa_checkB

Enforce the spec's COPPA conditional rule: if audience.age_range_min < 13, data_privacy.coppa_compliant MUST be true. Returns { ok: true } or { error: coppa_violation, reason }.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
document_jsonNo

TDQS

B3.4/5.0
Behavior3/5

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

The description discloses the return format (success or error with reason) but does not clarify side effects or read-only nature. Since no annotations exist, the description carries full burden; missing explicit statements about non-destructiveness or required permissions.

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 extremely concise: two sentences, no filler, with the core logic and return value clearly stated upfront.

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?

For a simple validation tool with no output schema or annotations, the description covers the core rule and return shape. However, it omits parameter guidance and usage boundaries, leaving gaps in practical completeness.

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

Parameters1/5

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

The input schema has two parameters (url, document_json) with 0% description coverage, and the description provides no explanation of their purpose or expected format. The agent cannot infer what these parameters represent for correct invocation.

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 precisely states the tool enforces a specific COPPA conditional rule, naming the condition (audience.age_range_min < 13) and required outcome (data_privacy.coppa_compliant must be true). This clearly distinguishes it from sibling tools that cover other compliance checks.

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 usage when checking COPPA compliance but does not explicitly state when to use or not use this tool, nor does it mention prerequisites or limitations (e.g., it likely requires certain fields in the card). No alternatives are suggested.

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

tutor_card_fetchB

Fetch a Tutor Card from a URL. Returns the parsed, schema-validated JSON.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations exist. Description only mentions fetching and returning JSON. It does not disclose network behavior, authentication needs, rate limits, or error handling. Minimal but not contradictory.

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 concise sentences with no wasted words. Front-loaded with purpose and immediate understanding.

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?

With no annotations and no output schema, the description covers the core function but lacks depth on return format details, error conditions, or prerequisites. Adequate for a simple fetch tool but could be more comprehensive.

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

Parameters2/5

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

Schema description coverage is 0%. The description mentions 'URL' but adds no meaning beyond the schema's 'url' property. No details on supported schemes, format constraints, or default behavior.

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 verb 'Fetch', the resource 'Tutor Card', and the result 'parsed, schema-validated JSON'. It distinguishes from sibling tools by specifying the resource and output format.

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 guidance on when to use this tool versus alternatives (e.g., other fetch/inspect tools). No context or prerequisites provided.

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

tutor_card_inspectC

Structured summary of a Tutor Card: tutor identity, audience, pedagogy, subject scope counts, safety strength, FERPA/COPPA/GDPR posture, evaluation count, COPPA-rule check.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
document_jsonNo

TDQS

C2.7/5.0
Behavior3/5

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

The description lists the content of the summary, giving insight into what the tool returns. However, it does not explain behavioral aspects such as whether it fetches from a URL or processes inline JSON, whether it requires authentication, or if it has side effects. Since no annotations exist, the description carries the full burden and is partially transparent.

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 a single sentence that efficiently lists the summary contents. It is concise and front-loaded, but the dense list may be hard to parse quickly. No unnecessary words, but structure could be improved with bullet points or clearer separation.

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

Completeness2/5

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

Given the tool has two optional parameters with no explanations, no output schema, and many sibling tools, the description is incomplete. It lacks context on input modes, the definition of 'structured summary', and how this inspect tool differs from other inspect tools (e.g., agent_card_inspect). Significant gaps remain.

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

Parameters1/5

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

Both parameters (`url` and `document_json`) have no descriptions in the schema, and the tool description does not explain their purpose or when to use each. This is a critical gap, as the dual-mode operation (fetch vs. local) is not clarified. Schema coverage is 0%, so the description must compensate but fails.

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

Purpose4/5

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

The description clearly states the tool provides a structured summary of a Tutor Card, listing specific elements like identity, audience, pedagogy, etc. It distinguishes itself from siblings like tutor_card_fetch (which retrieves the raw card) and tutor_card_validate (which checks validity). However, it could more explicitly contrast with similar inspect tools.

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 guidance on when to use this tool versus alternatives. With many sibling tools (e.g., tutor_card_subject_check, tutor_card_coppa_check), the description should indicate that this is a general overview tool, while others are for specific checks. No exclusions or context provided.

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

tutor_card_subject_checkC

Classify a topic against the tutor's subject scope. Returns one of: primary, included, excluded, unknown, with the matched term when applicable.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
queryYesTopic to classify, e.g. 'algebra' or 'differential equations'.
document_jsonNo

TDQS

C2.9/5.0
Behavior3/5

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

The description mentions the return values (primary, included, excluded, unknown) and that a matched term is provided when applicable. However, it does not disclose whether the tool is read-only, has side effects, or requires authentication. Without annotations, the description carries the full burden but only partially covers behavioral aspects.

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 concise (one sentence) and front-loaded with the action and return values. However, it could be slightly more structured to separate the action, input, and output.

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

Completeness2/5

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

Given the three parameters and no output schema, the description is incomplete. It explains the return values but does not elaborate on the input parameters, especially 'url' and 'document_json', which are undocumented. This leaves ambiguity about how to use the tool effectively.

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

Parameters2/5

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

Only the 'query' parameter has a description in the schema; the 'url' and 'document_json' parameters lack descriptions both in the schema and in the tool description. With only 33% schema coverage, the description should compensate but does not, leaving the semantics of these parameters unclear.

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

Purpose4/5

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

The description clearly states the tool classifies a topic against a tutor's subject scope and lists the possible return values. It distinguishes from sibling tools, which are mostly validation and inspection tools, by being a classification tool. However, it could be more specific about the 'tutor' context.

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 lacks any guidance on when to use this tool versus alternatives, or any prerequisites. It simply states what it does without context for appropriate use.

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

tutor_card_validateA

Validate an AI Tutor Card JSON document against the v0.1 schema, including the COPPA conditional rule (age_range_min < 13 ⇒ coppa_compliant must be true).

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description bears full responsibility. It discloses the COPPA conditional rule as an extra validation step, which is helpful. However, it does not convey basic behavior such as whether the tool is read-only, what happens on validation failure, or the format of the output (e.g., boolean, error list, or full report).

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 a single, concise sentence (21 words) that is front-loaded with the verb 'Validate' and immediately conveys the core action. Every word is informative, with no redundancy or filler.

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?

Given the single parameter and lack of output schema, the description adequately explains the validation logic and the COPPA rule. However, it omits crucial details about the return value (e.g., is it a boolean, a list of errors, or a success indicator?), which impacts an agent's ability to process results. The tool is part of a validation suite, but the description could be more self-contained.

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 input schema has only one parameter (document_json) with 0% description coverage. The description compensates by explaining that the parameter should be an 'AI Tutor Card JSON document' and that validation is against the v0.1 schema with a specific rule. This adds meaningful context beyond the parameter name and type.

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 uses the specific verb 'Validate' and clearly identifies the resource as 'AI Tutor Card JSON document against the v0.1 schema'. It also highlights the inclusion of a specific conditional rule (COPPA), which differentiates it from related tools like tutor_card_inspect or tutor_card_coppa_check.

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 implies use when validating a Tutor Card document, but does not provide explicit 'when to use' vs 'when not to use' guidance. Alternative tools such as tutor_card_inspect (for inspection) are not mentioned, and no prerequisites or success criteria are stated.

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

tutor_card_well_known_urlB

Compute the canonical AI Tutor Card well-known URL (convention: /.well-known/tutors/<tutor_id>.json).

ParametersJSON Schema
NameRequiredDescriptionDefault
originYes
tutor_idYes

TDQS

B3.4/5.0
Behavior3/5

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

Without annotations, the description carries the burden. It states the tool computes a URL, implying no side effects, but does not disclose read-only nature, error behavior, or input validation details.

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?

Single sentence with no filler, front-loading the action and providing the URL convention concisely.

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?

For a simple 2-parameter tool with no output schema, the description is reasonably complete but could clarify the return value (string URL) and error cases.

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

Parameters2/5

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

With 0% schema description coverage, the description adds minimal value beyond the schema. It mentions origin and tutor_id in the URL pattern but does not explain their semantics, format constraints, or examples.

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 computes a well-known URL and provides the specific URL convention, distinguishing it from sibling tools like agent_card_well_known_url.

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 guidance on when to use this tool versus alternatives like tutor_card_fetch or other well-known URL tools. The description does not specify prerequisites or context.

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. 4 tool updates
    • Changedai_evidence_inspect1 field changed
      • removedInput schema / properties / document_json / description
        Removed value: -"Complete AI Evidence object serialized as JSON text, not a URL or parsed object; required with no default."
    • Changedai_evidence_validate1 field changed
      • removedInput schema / properties / document_json / description
        Removed value: -"Complete AI Evidence object serialized as JSON text, not a URL or parsed object; required with no default."
    • Changedclinical_ai_inspect2 fields changed
      • removedInput schema / properties / document_json / description
        Removed value: -"Complete Clinical AI Card serialized as JSON text, not a parsed object. Takes precedence over url when non-empty; provide this or url."
      • removedInput schema / properties / url / description
        Removed value: -"Public HTTP(S) URL of an existing Clinical AI Card JSON file. The server fetches it; ignored when document_json is non-empty."
    • Changedprompt_provenance_inspect1 field changed
      • removedInput schema / properties / document_json / description
        Removed value: -"Complete Prompt Provenance document serialized as JSON text, not a URL or parsed object; required with no default."
  2. 4 tool updates
    • Changedai_evidence_inspect1 field changed
      • addedInput schema / properties / document_json / description
        Added value: +"Complete AI Evidence object serialized as JSON text, not a URL or parsed object; required with no default."
    • Changedai_evidence_validate1 field changed
      • addedInput schema / properties / document_json / description
        Added value: +"Complete AI Evidence object serialized as JSON text, not a URL or parsed object; required with no default."
    • Changedclinical_ai_inspect2 fields changed
      • addedInput schema / properties / document_json / description
        Added value: +"Complete Clinical AI Card serialized as JSON text, not a parsed object. Takes precedence over url when non-empty; provide this or url."
      • addedInput schema / properties / url / description
        Added value: +"Public HTTP(S) URL of an existing Clinical AI Card JSON file. The server fetches it; ignored when document_json is non-empty."
    • Changedprompt_provenance_inspect1 field changed
      • addedInput schema / properties / document_json / description
        Added value: +"Complete Prompt Provenance document serialized as JSON text, not a URL or parsed object; required with no default."
  3. 4 tool updates
    • Changedaudit_event_emit8 fields changed
      • changedInput schema / properties / kind / description
        Previous value: -"Event kind. Conventionally snake_case; matches the event kinds emitted by Kinetic Gain producers (decision_card_drafted, request_denied, breaker_opened, slo_burn_started, attestation_failed, watch_drifted, ...). Use 'other' for ad-hoc kinds not yet in the producer catalogue."New value: +"The audit-stream-py service accepts only its declared event kinds (for example decision_card_drafted, request_denied, or watch_drifted). Use 'other' for ad-hoc kinds; unknown values are rejected by the sink."
      • addedInput schema / properties / kind / maxLength
        Added value: +128
      • addedInput schema / properties / kind / pattern
        Added value: +"^[a-z][a-z0-9_]*$"
      • changedInput schema / properties / payload / description
        Previous value: -"Free-form structured payload to record alongside kind+source."New value: +"Optional plain-object payload to record alongside kind+source. Invalid supplied payloads are rejected, not dropped."
      • changedInput schema / properties / source / description
        Previous value: -"Who's emitting. Use a stable producer identifier (e.g. 'mcp-kinetic-gain', 'manual', or one of the suite producer names)."New value: +"Caller-asserted ASCII producer label, not an authenticated identity. Use a stable identifier such as 'mcp-kinetic-gain' or 'manual'; do not claim another producer's identity without evidence."
      • addedInput schema / properties / source / maxLength
        Added value: +128
      • addedInput schema / properties / source / minLength
        Added value: +1
      • addedInput schema / properties / source / pattern
        Added value: +"^[A-Za-z0-9][A-Za-z0-9_.:-]*$"
    • Changedaudit_events_query9 fields changed
      • addedInput schema / properties / kind / maxLength
        Added value: +128
      • addedInput schema / properties / kind / minLength
        Added value: +1
      • addedInput schema / properties / kind / pattern
        Added value: +"^[a-z][a-z0-9_]*$"
      • changedInput schema / properties / limit / description
        Previous value: -"Cap the number of events returned. Defaults to the server's own cap."New value: +"Cap the number of events requested to at most 1000. Responses are separately capped at 1 MB."
      • addedInput schema / properties / limit / maximum
        Added value: +1000
      • removedInput schema / properties / since_id
        Removed value: -{
        -  "description": "Return only events with event_id > since_id. Use for incremental tailing without re-fetching the whole chain.",
        -  "minimum": 0,
        -  "type": "integer"
        -}
      • addedInput schema / properties / source / maxLength
        Added value: +128
      • addedInput schema / properties / source / minLength
        Added value: +1
      • addedInput schema / properties / source / pattern
        Added value: +"^[A-Za-z0-9][A-Za-z0-9_.:-]*$"
    • Changeddecision_card_infer_status1 field changed
      • addedInput schema / properties / rubric / items / properties / id / minLength
        Added value: +1
    • Changeddefensetech_check_dfars_72h_clock3 fields changed
      • addedInput schema / properties / discovered_at
        Added value: +{
        +  "description": "When the cyber incident was discovered; the reporting clock starts here.",
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedInput schema / properties / occurred_at
        Removed value: -{
        -  "format": "date-time",
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "occurred_at",
        -  "filed_at"
        -]New value: +[
        +  "discovered_at",
        +  "filed_at"
        +]
  4. 75 tool updatesv0.9.0
    • First observedaeo_fetch
    • First observedaeo_get_claim
    • First observedaeo_inspect
    • First observedaeo_well_known_url
    • First observedagent_card_inspect
    • First observedagent_card_tool_disclosure
    • First observedagent_card_validate
    • First observedagent_card_well_known_url
    • First observedai_evidence_inspect
    • First observedai_evidence_validate
    • First observedai_evidence_verify_hash
    • First observedattestation_canonical_hash
    • First observedattestation_inspect
    • First observedattestation_verify
    • First observedaudit_chain_verify
    • First observedaudit_chain_verify_live
    • First observedaudit_event_compose
    • First observedaudit_event_emit
    • First observedaudit_event_inspect
    • First observedaudit_events_query
    • First observedaup_check_compliance
    • First observedaup_fetch
    • First observedaup_inspect
    • First observedaup_validate
    • First observedaup_well_known_url
    • First observedclaims_card_chain
    • First observedclaims_card_inspect
    • First observedclaims_card_sign
    • First observedclaims_card_validate
    • First observedclinical_ai_fetch
    • First observedclinical_ai_inspect
    • First observedclinical_ai_validate
    • First observedclinical_ai_well_known_url
    • First observeddecision_card_fetch
    • First observeddecision_card_infer_status
    • First observeddecision_card_inspect
    • First observeddecision_card_signature_check
    • First observeddecision_card_to_policy_bundle
    • First observeddecision_card_validate
    • First observeddecision_card_well_known_url
    • First observeddefensetech_audit_event_check_invariants
    • First observeddefensetech_check_cui_distribution_statement
    • First observeddefensetech_check_dfars_72h_clock
    • First observeddefensetech_check_itar_us_person
    • First observeddefensetech_incident_classify_event_type
    • First observeddefensetech_summarize_cmmc_evidence_bundle
    • First observeddefensetech_vault_contract_cross_binding_check
    • First observeddefensetech_vault_resolve_3axis
    • First observeddisclosure_aup_check
    • First observeddisclosure_inspect
    • First observeddisclosure_validate
    • First observeddisclosure_verify_artifact_hash
    • First observeddisclosure_verify_prompt_hash
    • First observedincident_affected_walk
    • First observedincident_fetch
    • First observedincident_index_fetch
    • First observedincident_inspect
    • First observedincident_remediation_plan
    • First observedincident_validate
    • First observedincident_well_known_url
    • First observedprompt_provenance_eval_result
    • First observedprompt_provenance_inspect
    • First observedprompt_provenance_validate
    • First observedsuite_doc_detect_spec
    • First observedsuite_doc_drift
    • First observedtool_card_inspect
    • First observedtool_card_tested_with
    • First observedtool_card_validate
    • First observedtool_card_well_known_url
    • First observedtutor_card_coppa_check
    • First observedtutor_card_fetch
    • First observedtutor_card_inspect
    • First observedtutor_card_subject_check
    • First observedtutor_card_validate
    • First observedtutor_card_well_known_url

TDQS

B3/5.0

Scored across 75 tools

Disambiguation3/5

The tool set has a clear spec-prefix convention (e.g., clinical_ai_validate, tutor_card_inspect), so many tools are distinguishable. However, 75 tools repeat the same validate/inspect/fetch/check actions across a dozen similar document schemas, so an agent can easily select the wrong spec's validator or inspector without careful reading.

Naming Consistency4/5

Names are overwhelmingly snake_case with a consistent subject-prefix + action pattern (ai_evidence_validate, tutor_card_coppa_check, audit_chain_verify). Minor deviations exist, such as aeo_get_claim using 'get' instead of fetch/inspect, audit_events_query using a plural subject, and defensetech_* tools adding an extra domain prefix, but the overall convention is readable and stable.

Tool Count1/5

At 75 tools, this server is far beyond the 3-15 range appropriate for a single MCP server, and exceeds the 50+ threshold for extreme mismatch. The functionality spans many independent specs and services that would be better split into separate servers.

Completeness3/5

The surface covers validation, inspection, fetching, hashing, and compliance checks for many Suite specs, but coverage is uneven: AEO lacks a validate tool, several specs lack fetch tools, and signing/hashing support is inconsistent (e.g., claims_card_sign exists but no equivalent sign tool for most other cards). There are also no update/delete operations, though immutability may justify that for attestation documents.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to operate through a local, signed boundary that blocks prompt injection and secret leakage, verifies outputs, preserves cross-session memory, and provides offline-verifiable receipts. It also exposes 900+ MCP tools for discoverable agent actions.
    7
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to create and verify tamper-evident cryptographic evidence, manage key-bound Agent Passports, and support verifiable handoffs, approvals, and audit trails through MCP, REST, and A2A.
    MIT
  • F
    license
    B
    quality
    B
    maintenance
    Enables AI agents to query an air-gapped enterprise knowledge vault via seven MCP tools for deterministic and hybrid retrieval, entity graph traversal, context compression, archive inspection, onboarding scans, and node status.
    7
    -