Skip to main content
Glama
RudrenduPaul

ComputeLedger MCP Server

Verify the full ledger chain

verify_ledger

Verify the entire ledger's integrity by checking all entry signatures and hash-chain linkage, detecting forged, deleted, reordered, or spliced records.

Instructions

Verifies every entry's signature AND the unbroken hash-chain linkage across the entire local ledger in one call, catching forged receipts as well as deleted, reordered, or spliced-in entries that a single-receipt check (verify_receipt) cannot detect on its own. Call this for a full integrity audit of the local ledger before trusting exported totals, or periodically as a tamper-detection check. Requires an existing ledger (see list_ledger); an empty ledger verifies as valid with entryCount 0.

Side effects: read-only, reads the local ledger file, no writes, no network calls, fully idempotent. Verification stops at the first invalid entry rather than continuing past it, since the hash chain is meaningless from that point forward.

Parameters: local (optional bool, default false) - same meaning as in list_ledger and record_usage. Equivalent CLI: computeledger ledger verify --json (add --local to match local=true).

Returns {"valid": bool, "entryCount": , "firstInvalidIndex": <int|null>, "firstInvalidReason": "<invalid_signature|hash_mismatch|unsupported_version|malformed_receipt|chain_broken|null>"}. is_error is set to true whenever valid is false, so a broken chain is visible both in the payload and the MCP error flag.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
localNoUse the current directory's .computeledger instead of the home directory
Behavior5/5

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

With no annotations provided, the description fully carries the transparency burden. It states 'Side effects: read-only, reads the local ledger file, no writes, no network calls, fully idempotent' and discloses stop-on-first-invalid behavior. It also explains that is_error is set when valid is false, which is a behavioral trait not visible in any 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?

Although the description is longer than typical, it is front-loaded with purpose and then systematically covers usage, side effects, parameters, and return values. No sentence is wasted; each adds critical information that the schema and annotations do not provide.

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 tool with one optional parameter, no annotations, and no output schema, the description is exceptionally complete. It defines the exact return payload structure, the error flag behavior, and all edge cases (empty ledger, stopped verification). It fully compensates for the missing structured metadata.

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 covers the 'local' parameter with 100% coverage, so the baseline is 3. The description adds value by stating the default as false (while schema shows null), clarifying that it is the same meaning as in list_ledger and record_usage, and providing the equivalent CLI command with --local. This goes beyond what the schema alone offers.

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+resource+scope: 'Verifies every entry's signature AND the unbroken hash-chain linkage across the entire local ledger in one call'. It clearly distinguishes from the sibling tool verify_receipt by explaining what it catches that a single-receipt check cannot.

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?

Explicit guidance is provided: 'Call this for a full integrity audit of the local ledger before trusting exported totals, or periodically as a tamper-detection check.' It also mentions the prerequisite of an existing ledger and refers the reader to list_ledger, while the contrast with verify_receipt serves as an exclusion for when not to use this tool.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/RudrenduPaul/ComputeLedger'

If you have feedback or need assistance with the MCP directory API, please join our Discord server