Skip to main content
Glama

Purchase invoices: Get invoice

purchase_invoice_get
Read-only

One supplier-invoice draft in full: every extracted field with its confidence (high = written on the document, medium = the model's reading only, manual = typed by a person), the arithmetic checks, warnings, the supplier match and VIES verdict, duplicates, what is still missing before it can be confirmed, the review page link and, once confirmed, the ERP invoice. Quote amounts as given. Read-only.

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": {
      "draft_id": "<draft_id>"
    },
    "name": "purchase_invoice_get"
  }
}

Input Schema

NameRequiredDescriptionDefault
draft_idYesThe draft id a list or create answer gave.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/non-destructive/closed-world, and the description still adds real substance: confidence levels (high/medium/manual) are defined, and it names the arithmetic checks, warnings, supplier match, VIES verdict, duplicates, missing-before-confirmation list, review link, and post-confirmation ERP invoice. It does not cover what happens for an unconfirmed draft beyond the absence of the ERP invoice, or failure behavior for a bad draft_id.

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?

A single dense sentence, but it is front-loaded with the core 'what you get' and every listed item (confidence legend, checks, VIES, duplicates, missing fields) earns its place. The trailing 'Quote amounts as given. Read-only.' is terse and functional rather than filler.

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?

With no output schema, the description must describe the return payload, and it does so field-group by field-group, including conditional results (ERP invoice only once confirmed). For a single-record read tool that is enough for an agent to call it and interpret the answer correctly.

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?

There is one parameter with 100% schema description coverage ('The draft id a list or create answer gave'), so the schema already carries the semantics and the description adds nothing further about id format or origin. Baseline 3 applies when the schema does the heavy lifting.

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 text opens with a specific verb+resource framing ('One supplier-invoice draft in full') and enumerates the payload, so it is clear this fetches a single draft by id rather than a list. It implicitly separates itself from list/create siblings via 'One ... draft' and 'once confirmed', but never names an alternative outright.

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?

Usage is only implied: the reader infers 'use after create or after a list gives you an id'. There is no explicit when-to-use, when-not, or named alternative for finding a draft_id or for bulk retrieval, leaving the agent to work that out from sibling names.

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