Skip to main content
Glama
RudrenduPaul

ComputeLedger MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
record_usageA

Records one unit of compute usage (provider, hardware, duration, and optional GPU-hours/FLOPs/workload type) as a signed, hash-chained receipt in the local ComputeLedger ledger, and returns that receipt as portable, independently verifiable proof of the usage claim. Call this after a workload finishes (or with measured/estimated values) when you need durable evidence of compute consumed, e.g. reconciling a provider's bill or building a cross-provider audit trail. Do not call it for read-only lookups (use list_ledger) or to check a receipt you already have (use verify_receipt). Requires a local Ed25519 keypair generated beforehand via computeledger keys generate; the call fails if none exists.

Side effects: mutating and NOT idempotent, each call appends a new entry (fresh UUID and timestamp) to the local ledger file (~/.computeledger by default, or ./.computeledger when local=true) and reads the private key from disk. No network calls are made. On failure (missing keypair, invalid duration, etc.) it returns is_error=true with a JSON {"error": ""} body instead of raising.

Parameters: provider (str, e.g. 'aws', 'lambda-labs', 'on-prem'), hardware (str, e.g. 'nvidia-h100', 'nvidia-a100', 'cpu'), durationSeconds (float >= 0), gpuHours and estimatedFlops (optional float >= 0), workloadType (optional enum: training | inference | unknown), local (optional bool). Equivalent CLI: computeledger record --provider aws --hardware nvidia-h100 --duration-seconds 3600 --gpu-hours 1 --workload-type training --json.

Returns the full signed receipt as JSON: version, id, timestamp (ISO-8601 UTC), provider, hardware, usage {durationSeconds, gpuHours, estimatedFlops, gpuUtilizationSamples, workloadType}, command, prevHash, publicKey, hash, and signature. Pass this object straight into verify_receipt to independently confirm it.

verify_receiptA

Independently checks whether a single signed ComputeLedger receipt is authentic and untampered, without needing to trust whoever issued it. Call this whenever you're handed a receipt (from record_usage, computeledger record, or a third party) and need to confirm it's cryptographically valid before trusting the usage numbers inside it. No prerequisites: it needs nothing on local disk beyond the receipt object itself, and does not require the signer's private key.

Side effects: read-only, no ledger writes, no file access beyond the in-memory argument, no network calls. Fully idempotent, the same receipt always verifies the same way. It never raises on an invalid receipt, instead it returns a normal result with is_error=true, so check the 'valid' field rather than relying on an exception.

Parameters: receipt (dict) - the full signed receipt object as produced by record_usage or computeledger record (must include version, hash, signature, and the other receipt fields). Equivalent CLI: computeledger verify receipt.json --json.

Returns {"valid": true} on success, or {"valid": false, "reason": "<invalid_signature|hash_mismatch|unsupported_version|malformed_receipt>"} on failure, so callers can distinguish exactly why a receipt failed.

list_ledgerA

Lists every signed usage receipt recorded in the local ComputeLedger ledger, in insertion order. Call this to inspect or export local compute-usage history, e.g. before running verify_ledger, or to summarize usage across providers. Nothing must exist beforehand; a missing or empty ledger returns an empty list, not an error.

Side effects: read-only, reads the local ledger file but never writes to it, makes no network calls, and is fully idempotent and safe to call repeatedly.

Parameters: local (optional bool, default false) - true reads ./.computeledger/ledger.jsonl in the current directory instead of ~/.computeledger/ledger.jsonl in the home directory. Equivalent CLI: computeledger ledger list --json (add --local to match local=true).

Returns a JSON array of full signed receipt objects, each with the same shape record_usage returns (version, id, timestamp, provider, hardware, usage, command, prevHash, publicKey, hash, signature). Feed any single entry into verify_receipt, or call verify_ledger to check the whole chain at once.

verify_ledgerA

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.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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