Skip to main content
Glama

Look at a receipt

get_receipt
Read-only

Fetch a sealed receipt (its DSSE envelope) by id. Read-only.

The receipt is the permanent, independently verifiable evidence of a completed spend. Only receipts belonging to your tenant — and, for a mandate-restricted key, to your mandate — can be read. Present your API key (X-API-Key header). Tenant context is derived from the authenticated key, never from call arguments: passing tenant_id, tenant, or tenantId refuses the call.

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": {
      "receipt_id": "<receipt_id>"
    },
    "name": "get_receipt"
  }
}

Input Schema

NameRequiredDescriptionDefault
tenantNo
tenantIdNo
tenant_idNo
receipt_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and non-destructive, and the description adds material context beyond them: the X-API-Key header requirement and the fact that tenant identity comes from the authenticated key rather than arguments. It stops short of documenting error responses or rate limits, but the auth and scoping behavior is well disclosed.

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?

Purpose and read-only nature are front-loaded, then the security constraint, then the parameter warning – a sensible order. The tenant warning is somewhat verbose in its triple enumeration but each clause carries real behavioral information.

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 single-parameter lookup with no output schema, the description supplies everything needed: what is returned (a sealed DSSE envelope), what authorization is required, and why the seemingly valid tenant parameters will fail. Nothing an agent needs to call it correctly is missing.

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 coverage is 0%, so the description must carry the load, and it does: it explains that tenant/tenantId/tenant_id are rejected and that tenant context is derived from the key, which is exactly the trap these decoy parameters create. It does not state receipt_id's format or provenance, leaving one small gap.

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?

States a specific verb and resource plus the return shape: 'Fetch a sealed receipt (its DSSE envelope) by id.' An agent immediately knows this is a single-object lookup returning a signed envelope, not a list or a search.

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?

Makes the usage context explicit: read-only access to completed-spend evidence, scoped to the caller's tenant and mandate. It does not name an alternative tool, but the only sibling (check_permission) is unrelated, so there is little ambiguity to resolve.

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