Skip to main content
Glama

Verify a Curbi proof bundle offline

verify_bundle
Read-onlyIdempotent

Run the open Curbi Proof verifier (curbi.proof/0.1) on a bundle with the public keys you choose: signatures, key windows, RFC 9162 inclusion under the signed log head, attestation binding and history consistency. Keys are required and are the trust anchor; keys inside the bundle are never trusted here. Test keys verify only with allowTest. Pure computation: no network, nothing stored. A verified bundle shows what a trusted key signed and logged; it does not show that the provider action happened, and grants no authority.

Input Schema

NameRequiredDescriptionDefault
keysYesJWKS you trust, e.g. a saved copy of https://curbi.io/.well-known/curbi-receipt-keys.json
modeNo"fresh" also checks keys are currently valid; "archival" checks them at signing time.
knownNoLog heads you saw before, to check the log is append-only.
bundleYesA curbi.proof/0.1 bundle to verify.
allowTestNoAccept test keys. Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, closed-world), and the description adds real behavioral context beyond them: 'Pure computation: no network, nothing stored' and the crucial caveat that a verified bundle proves what a trusted key signed and logged but not that the provider action occurred and 'grants no authority'. That materially shapes how an agent reports 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?

The verification scope is stated first, followed by trust constraints and then the semantic caveat, so the most decision-relevant content is front-loaded. Sentences are dense but each carries distinct information, with no filler or repetition of schema 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?

For a five-parameter verifier with no output schema, the description covers purpose, trust model, purity, and interpretation limits well. The remaining gap is the shape of the result (pass/fail structure, which check failures are surfaced), which an agent must discover by calling it.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3, but the description adds meaning the schema cannot: keys are the trust anchor and must come from the caller, keys embedded in the bundle are never trusted, and test keys require allowTest. It does not elaborate on the mode or known-log-head parameters beyond what the schema already says.

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

Purpose5/5

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

The description names a specific verb and resource ('Run the open Curbi Proof verifier (curbi.proof/0.1) on a bundle') and enumerates exactly what is checked: signatures, key windows, RFC 9162 inclusion, attestation binding, history consistency. That specificity implicitly separates it from siblings like validate_policy or policy_check, which operate on policy rather than cryptographic bundles.

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 states conditions rather than alternatives: 'Keys are required and are the trust anchor', 'Test keys verify only with allowTest', and 'keys inside the bundle are never trusted here'. It does not explicitly say when to prefer this over a sibling tool, but the prerequisites and constraints are clear enough to guide invocation.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources