Skip to main content
Glama
e-arveldaja MCP Server

e-arveldaja MCP Server

by iseppo

List Sale Invoices

list_sale_invoices
Read-onlyIdempotent

Retrieve sales invoices with pagination and server-side filters for date range, status, payment status, and customer; choose brief or full views for triage or detail.

Instructions

List sales invoices. Paginated, with server-side filters (date range, status, payment status, customer) applied by the API. Brief view by default; use view='full' or get_sale_invoice for detail.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number (default 1)
viewNoResponse detail: brief (default) returns triage fields; full returns every API field.
statusNoFilter by status (server-side): PROJECT (draft) or CONFIRMED.
date_toNoOnly invoices with revenue date on or before this date (YYYY-MM-DD). Server-side filter.
date_fromNoOnly invoices with revenue date on or after this date (YYYY-MM-DD). Server-side filter.
clients_idNoFilter by customer (clients_id, server-side).
modified_sinceNoReturn only objects modified since this timestamp (ISO 8601)
payment_statusNoFilter by payment status (server-side): PAID, PARTIALLY_PAID, or NOT_PAID. Unpaid invoices read back with payment_status "" or null, not NOT_PAID.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.29.2
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / payment_status / description
      Previous value: -"Filter by payment status (server-side): PAID, PARTIALLY_PAID, or NOT_PAID."New value: +"Filter by payment status (server-side): PAID, PARTIALLY_PAID, or NOT_PAID. Unpaid invoices read back with payment_status \"\" or null, not NOT_PAID."
  2. First observedv0.18.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description's job is supplementary; it delivers by disclosing pagination and that filtering happens API-side rather than client-side, plus the default response shape. It stops short of any page-size or result-count behavior, which is the only real gap.

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 compact clauses, zero filler, and the essential facts (what it lists, that it is paginated and server-filtered, and the brief-vs-detail routing) are all front-loaded. Nothing is repeated or padding.

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 list tool with no output schema and a fully documented 8-parameter schema, the description plus annotations give an agent enough to invoke correctly. The brief-vs-full distinction is named but not expanded, which is a minor incompleteness given no output schema exists to explain returned fields.

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%, so every parameter including the view enum and each server-side filter is already documented. The description's parameter content (view values, filter categories) restates the schema at a summary level without adding syntax or edge-case meaning, so the baseline 3 applies.

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+resource ('List sales invoices') and immediately distinguishes itself from the sibling get_sale_invoice by contrasting brief vs. detail retrieval. An agent can tell this is the collection-level read apart from the single-record read without opening either 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?

Gives clear routing guidance: use this for listing, use view='full' or get_sale_invoice when detail is needed, and notes the filters are applied server-side. It doesn't state exclusions (e.g., when a dedicated search/filter tool would be preferred), but for this toolset there is no competing list sibling to disambiguate against.

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

Deploy Server

Other Tools