Skip to main content
Glama

Get receipt

get_receipt
Read-only

Read a single receipt by id — the full header PLUS its line items. Read-only. Returns null when no such receipt is visible to the caller (a wrong-owner id is indistinguishable from a missing one).

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
receipt_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

The annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered; the description goes further and adds behavior the annotations cannot express. It discloses the return shape (header plus line items) and the null-on-invisible semantics, including the important detail that a wrong-owner id is indistinguishable from a missing one — that materially changes how an agent should interpret an empty result.

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?

Two sentences, front-loaded with the operation and payload scope, followed by the read-only and null semantics. Every clause carries distinct information; there is no restatement of the title or name.

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?

The tool is simple (one required param, no output schema), so the description must explain the return value — and it does, including the null case and its ambiguity. It leaves unstated whether line items are paginated or capped, and whether any error states exist apart from null, which keeps it just short of fully complete.

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 0% for the single parameter receipt_id, so the description must carry meaning, and it only says 'by id'. It does not clarify that the id may be given as either an integer or a string, nor whether it is tenant-scoped. The null-on-wrong-owner note indirectly implies access scoping, which is useful but not a substitute for parameter-level detail.

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 ('Read a single receipt by id') and immediately scopes the payload ('full header PLUS its line items'), which distinguishes it from the sibling list/aggregate tools. An agent can tell it fetches one entity rather than a collection without opening the schema.

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?

The 'single receipt by id' framing plus 'Read-only' makes the usage context clear: use this to fetch one known receipt rather than to search or list. It does not name an alternative for bulk or filtered retrieval, and does not state prerequisites such as required scopes, so it falls short of explicit when/when-not routing.

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