Skip to main content
Glama

generate_proof

Scan code against policy packs and generate a cryptographically signed proof bundle. Returns the bundle ID, decision (PASS/BLOCK), violation count, and verification URL.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeYesThe code to scan.
packIdNoPolicy pack ID(s). Defaults to 'web'.
fileNameNoFile name for context
languageNoProgramming language (typescript, python, etc.)

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 return values and the fact that the bundle is cryptographically signed, adding helpful context. However, it does not disclose potential side effects like persistence, storage, or whether the scan is executed remotely, which would be valuable for a proof generation tool.

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 primary action and then listing the output fields. It is succinct, with no redundant information or fluff, making it easy for an agent to parse quickly.

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 there is no output schema and no annotations, the description does a good job of conveying the tool's purpose and return values. It clearly states what the agent will receive (bundle ID, decision, violation count, verification URL). However, it lacks explicit error handling or differentiation from sibling tools like check_code, so it is not fully complete but is reasonably sufficient for a tool of moderate 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 description coverage is 100%, so all parameters already have descriptions. The tool description adds minimal extra meaning beyond reaffirming policy packs and the output bundle. It does not elaborate on how parameters like fileName or language affect the scan, but the baseline of 3 is appropriate since the schema handles the heavy lifting.

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

Purpose5/5

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

The description clearly states a specific action and resource: scanning code against policy packs and generating a cryptographically signed proof bundle. It distinguishes itself from siblings by emphasizing the generation of a proof bundle with specific return values, which differs from check_code or get_proof.

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 the tool (when a signed proof bundle is needed from scanning code) but does not explicitly mention alternatives or when not to use it relative to siblings like check_code or get_proof. The usage context is clear enough, but explicit exclusions are missing.

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.

TDQS

A4/5.0
Disambiguation4/5

Most tools have clear, distinct purposes: check_code returns violations, generate_proof creates a signed bundle, get_directives retrieves rules, get_proof fetches a bundle, and list_packs enumerates packs. The only potential ambiguity is between check_code and generate_proof, both scan code against policies, but they produce different outputs (raw violations vs. proof bundle), making them distinguishable.

Naming Consistency5/5

All five tool names follow a consistent verb_noun pattern (check_code, generate_proof, get_directives, get_proof, list_packs). The verbs are action-oriented and the nouns clearly indicate the resource or output, with no mixed conventions or vague naming.

Tool Count5/5

Five tools is well-scoped for a code governance server. Each tool addresses a distinct aspect: checking, proof generation, policy retrieval, proof retrieval, and pack listing. This covers the core workflows without unnecessary redundancy or bloat.

Completeness4/5

The tool surface covers the primary governance operations: checking code, generating and retrieving proofs, and accessing policy directives and pack listings. Minor gaps exist, such as no direct method to view a single policy pack's full details or manage packs, but the core enforcement and proof lifecycle is complete.