Skip to main content
Glama
HalloSouf

moneybird-mcp

by HalloSouf

Get purchase invoice

get_purchase_invoice
Read-onlyIdempotent

Retrieve a purchase invoice by ID with its lines, payments, attachments, and notes. Access full invoice details for accurate bookkeeping.

Instructions

Retrieve one purchase invoice by id, with its lines, payments, attachments and notes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
administration_idNoAdministration to act on. Defaults to the administration this server was configured with; call list_administrations to discover the available ids.
purchase_invoice_idYes
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, covering safety. The description adds meaningful behavioral context beyond annotations by disclosing that the response includes lines, payments, attachments, and notes, which helps the agent predict return content.

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?

The description is a single efficient sentence that front-loads the core behavior ('Retrieve one purchase invoice by id') and then lists the included data. No redundant words or unsupported detail.

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 simple read-only get-by-id tool, the description, schema, and annotations together cover the essential operation, parameters, and return scope. It does not explain not-found behavior or error conditions, but these are minor for a safe idempotent read with strong annotation coverage.

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?

The purchase_invoice_id parameter has no schema description, and the tool description's 'by id' clarifies its role. The other parameter, administration_id, is already well documented in the schema with defaults and discovery guidance. Description and schema together cover both parameters effectively.

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?

The description states a specific action ('Retrieve one purchase invoice by id') on a specific resource, with an explicit scope and a list of included sub-data (lines, payments, attachments, notes). This clearly distinguishes it from listing tools like list_purchase_invoices and from getters of other document types (e.g., get_sales_invoice, get_receipt).

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?

'One purchase invoice by id' gives clear context: use this when you have a specific purchase_invoice_id. However, it does not explicitly name the alternative for bulk retrieval (list_purchase_invoices) or state when not to use the tool, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HalloSouf/moneybird-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server