Skip to main content
Glama

verify_attestation

Read-only

Checks a RowAttest attestation published by a site or MCP server. Give it the origin (for example https://example.com); it fetches /.well-known/rowattest.json there, follows the first entry to the signed summary, verifies the signature offline against RowAttest's public key list, and returns whether the proof is valid, when it was issued, its totals, whether findings were present, and whether it is bound to the project ref you pass. It reads public data only, needs no project of yours, and starts no run. A valid proof means the listed checks ran at that time and were signed by RowAttest; it does not mean the application is secure.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "origin": "<origin>"
    },
    "name": "verify_attestation"
  }
}

Input Schema

NameRequiredDescriptionDefault
originYesthe origin (for example https://example.com)
fingerprintNooptional, a sha256: value to compare with the summary's schema fingerprint
project_refNooptional, the first label of the Supabase project host

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint; the description adds substantial behavior beyond them: it fetches /.well-known/rowattest.json, follows the first entry to the signed summary, verifies the signature offline against a public key list, and enumerates what the result reports. It also warns that a valid proof does not mean the application is secure, which prevents a common misinterpretation.

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 text is one dense paragraph but front-loaded with the action and mechanics before the caveat, and each sentence carries information (fetch path, verification mode, return fields, interpretation limit). It is longer than typical but nearly all of it earns its place; only the enumerated return values run slightly long.

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?

There is no output schema, and the description compensates by listing exactly what the response reports (validity, issue time, totals, findings presence, project binding). For a read-only, single-required-parameter tool it leaves no material gap about what calling it does or returns.

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%, so the schema already documents all three parameters and the baseline is 3. The description adds real meaning for origin (the base URL whose well-known path is fetched) and for project_ref ('whether it is bound to the project ref you pass'), but never mentions the optional fingerprint comparison, leaving that parameter to 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 opens with a specific verb and resource ('Checks a RowAttest attestation') and immediately scopes the subject ('published by a site or MCP server'), which is plainly distinct from the run/project-oriented siblings. An agent can tell this verifies an externally published proof rather than running or reporting on its own project.

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 explicit invocation guidance ('Give it the origin, for example https://example.com') and rules out misuse by stating it 'needs no project of yours, and starts no run', which implicitly steers agents away from run_review/run_review-style tools. It stops short of naming a sibling alternative for related questions such as inspecting findings via get_findings, so it is clear but not fully exclusionary.

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