Skip to main content
Glama
HalloSouf

moneybird-mcp

by HalloSouf

List receipts

list_receipts
Read-onlyIdempotent

Fetch on-the-spot expense receipts using filters for period, state, contact, or attachment to quickly find matching records.

Instructions

List receipts (expenses paid on the spot, without a supplier invoice). Narrow with filter; keys: period (named period such as this_year/prev_quarter, or a range like 20260101..20260131), state (all|new|saved|open|paid|late|pending_payment — paid, late and pending_payment only apply to purchase invoices and receipts), recurring (all|enabled|disabled), attachment (all|with|without), reference, contact_id, ledger_account_id, updated_after (ISO 8601 UTC).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number.
filterNoComma-separated `key:value` filter. Keys: period (named period such as this_year/prev_quarter, or a range like 20260101..20260131), state (all|new|saved|open|paid|late|pending_payment — paid, late and pending_payment only apply to purchase invoices and receipts), recurring (all|enabled|disabled), attachment (all|with|without), reference, contact_id, ledger_account_id, updated_after (ISO 8601 UTC). Moneybird defaults to `period:this_year`, so pass an explicit `period` to look outside the current financial year. Values for `state`, `recurring` and `attachment` may be combined with a pipe, e.g. `state:open|paid`.
per_pageNoRecords per page (max 100, Moneybird defaults to 50).
administration_idNoAdministration to act on. Defaults to the administration this server was configured with; call list_administrations to discover the available ids.
Behavior4/5

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

Annotations already carry the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description adds genuine behavioral context beyond those flags: Moneybird defaults to `period:this_year`, meaning a bare call does not return all receipts but only those in the current financial year, and the note that paid/late/pending_payment states only apply to purchase invoices and receipts. No contradiction with annotations.

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?

The purpose sentence is front-loaded, precise, and self-contained, and the filter key enumeration is directly useful to an agent reading only the description. Small deduction because the filter enumeration duplicates the schema's `filter` description nearly verbatim rather than contributing distinct structure, adding minor redundancy.

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 definition is complete for a list operation with rich annotations and 100% schema coverage: purpose, resource definition, filter semantics, pagination, and the critical period default are all available to an agent. The only gap is the absence of return-shape guidance, since there is no output schema, but the resource is well-defined and a get_receipt sibling exists for single-object detail.

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 schema's `filter` description is strictly more detailed than the description text, adding the pipe-combination rule and the Moneybird period default. The description merely enumerates the same filter keys without adding any new parameter meaning, so the baseline of 3 applies per the rubric.

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 ('List receipts') and immediately defines the resource in meaningful terms ('expenses paid on the spot, without a supplier invoice'). The parenthetical disambiguates receipts from purchase invoices, which matters given the sibling list_purchase_invoices. An agent can tell this tool apart without inspecting 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 definition of a receipt as an expense 'without a supplier invoice' provides a clear selection condition: if the expense has a supplier invoice, an agent should look to purchase invoices instead. However, it never names an alternative tool explicitly (e.g., list_purchase_invoices) and contains no when-not statement, so it falls just short of explicit 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