Skip to main content
Glama

Change a bill's file, notes or due date

purchasing_update_bill

What can change on a recorded bill: its PDF while it has none (file_id), its notes, and its due date while it is owed. The PDF it has stays, as a received invoice is kept as it came, and its amounts never change: for either, void it and record it again. Costs $0.01 per call; nothing if it fails.

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": {
      "bill_id": "<bill_id>"
    },
    "name": "purchasing_update_bill"
  }
}

Input Schema

NameRequiredDescriptionDefault
notesNo
bill_idYesThe bill_id purchasing_create_bill returned.
file_idNo
due_dateNoYYYY-MM-DD

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare the mutation profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), and the description adds genuinely new context: a $0.01 per-call cost, no charge on failure, and the immutability rule that a recorded bill's PDF and amounts are never overwritten. Missing only details like what the response returns or whether the update is a true no-op for unchanged fields.

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?

Front-loaded with the mutable-field list, then constraints, then cost — no filler. The phrasing is telegraphic ('its PDF while it has none') and takes a second read, which shaves one point for clarity without waste.

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?

For a 4-parameter mutation with no output schema, the definition covers scope, preconditions, the escape hatch (void + re-record) and cost. An agent can call it correctly; only return shape and error behavior are left unspecified.

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 50% (bill_id and due_date documented), and the description compensates by adding semantics: file_id applies only when no PDF exists, notes are editable, due_date only while the bill is owed. It distinguishes the parameters' preconditions in a way the schema cannot express.

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

Purpose4/5

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

States a specific verb (change) and enumerates exactly which bill fields are mutable: PDF via file_id, notes, due date. It also declares what cannot change (amounts, existing PDF), which sharpens scope. Sibling differentiation is implicit rather than by name, so not a 5.

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?

Gives explicit conditions with 'while it has none' and 'while it is owed', and names the alternative path for anything else: 'void it and record it again' — that is void_bill plus create_bill. Both when-to-use and when-not-to-use are covered.

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