Skip to main content
Glama

Joist by Cotlet

Get invoice

get_invoice
Read-onlyIdempotent

Full invoice: client, line items, tax, discount, deposit, due date, balance and every payment. Returns one invoice with its client, every line item with its taxes, subtotal, discount, tax, total, requested deposit, payment terms and due date, amount paid, balance due, overdue, the estimate it came from, and the payments and refunds recorded on it. Check the payments before recording another.

Input Schema

NameRequiredDescriptionDefault
invoice_idYesFrom list_invoices.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered structurally. The description adds genuinely new behavioral context by spelling out exactly what the returned object contains (line-item taxes, deposit, balance due, overdue, originating estimate, payments and refunds). It does not say what happens when an invoice_id does not exist, which is the main remaining gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The payload is listed twice — once in the opening summary ("client, line items, tax, discount, deposit, due date, balance and every payment") and again in the longer "Returns one invoice with..." sentence. Front-loading is good, but roughly half the text is redundant enumeration that could be collapsed into a single list.

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?

There is no output schema, so the description carries the burden of explaining return values, and it does that thoroughly for a read tool. With one fully documented parameter and complete annotations, only the missing not-found/error behavior keeps it from being 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 100% and the single invoice_id parameter is documented with a pattern and the source "From list_invoices." The description adds no further meaning about the identifier, so the baseline 3 for high-coverage schemas applies.

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?

The description uses a specific verb and resource ("Returns one invoice with its client, every line item...") and enumerates the payload, which distinguishes it from list_invoices by emphasizing a single full record. It stops short of naming siblings explicitly, so the differentiation is implied rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Check the payments before recording another" gives a concrete workflow cue that positions this tool ahead of record_payment. However, there is no explicit guidance on when to prefer get_invoice over list_invoices, get_estimate, or get_client, and no exclusions or preconditions are stated.

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.