Skip to main content
Glama

Papierkram MCP by usefulapi

papierkram_list_vouchers

Read-only

List expense vouchers (Belege / incoming invoices and receipts) with creditor, state, dates and amounts. Filter by creditor (supplier company), project or document date range. Paged.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1). Use next_page from the previous reply.
order_byNoField to sort by, e.g. document_date. Must be used together with order_direction.
page_sizeNoResults per page, 1-100 (default 100).
project_idNoOnly vouchers of this project.
creditor_idNoOnly vouchers of this creditor (company id of the supplier).
order_directionNoSort direction. Must be used together with order_by.
document_date_range_endNoOnly documents dated on or before this day (yyyy-mm-dd).
document_date_range_startNoOnly documents dated on or after this day (yyyy-mm-dd).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read, so the description is not carrying the safety burden. It adds the useful 'Paged.' signal and confirms what each row contains (creditor, state, dates, amounts). It says nothing about default sort order, total counts, or whether an empty result set is possible when filters match nothing.

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?

Three short sentences, zero filler: what it lists, what the rows contain, how to filter, and that results are paged. The filter information is front-loaded before the pagination note.

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 read-only, fully documented 8-parameter list tool with no output schema, the description covers identity, row shape, filterable dimensions and pagination. Only secondary details — default sort, page-size cap, and behavior on no matches — are left to the schema or unstated.

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%, covering page, page_size, order_by/order_direction coupling and yyyy-mm-dd date formats, so the schema is the primary source. The description only restates that creditor, project and document dates are filterable, adding no syntax or edge-case meaning beyond the schema. Baseline 3 is appropriate.

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 ('List expense vouchers') and disambiguates the term with parenthetical synonyms ('Belege / incoming invoices and receipts'), which the sibling papierkram_list_invoices does not share. It also enumerates the returned attributes (creditor, state, dates, amounts). It stops short of naming papierkram_list_invoices or papierkram_get_voucher as the contrast cases.

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?

The description implies when the tool applies by listing the available filters ('Filter by creditor (supplier company), project or document date range') and noting 'Paged.'. It gives no explicit when-not guidance and never points to papierkram_get_voucher for a single record or papierkram_list_invoices for outgoing invoices, so the agent must infer the boundary.

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.