Skip to main content
Glama

SuperFaktura MCP by usefulapi

List or search invoices

superfaktura_list_invoices
Read-only

List issued documents with client, items, totals and payment status. type selects the document kind (default regular = ordinary invoices; also proforma, estimate = quote, order, cancel = credit note, delivery, draft, reverse_order; several allowed). Without a date filter SuperFaktura returns only the CURRENT YEAR; use created_period='all' or a date range for older ones. status: issued, partially_paid, paid, overdue. search matches client name, number, VS ... Paged: pass next_page as page. GET /invoices/index.json.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, 1-based (default 1). Use next_page from the previous reply.
typeNoDocument types (default: regular).
searchNoText to search for (matched by SuperFaktura in names, numbers, e-mails ... of the records).
statusNoPayment status.
order_noNoOrder number the document was created from.
per_pageNoResults per page, 1-100 (the account's profile default when omitted).
variableNoVariable symbol.
amount_toNoMaximum amount.
client_idNoOnly documents of this client (superfaktura_list_clients).
directionNoSort direction (default DESC).
created_toNoIssued on or before (yyyy-mm-dd).
invoice_noNoFormatted document number, e.g. 2026001.
amount_fromNoMinimum amount.
created_sinceNoIssued on or after (yyyy-mm-dd).
created_periodNoIssue date as a period (default this_year when no date filter is given).
modified_periodNoLast changed in this period.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only supply readOnlyHint=true, so the description carries the behavioral load and does it well: it warns that without a date filter only the CURRENT year is returned, points to created_period='all' as the escape hatch, and explains pagination via next_page. It could go further on result caps or ordering defaults, but the key trap an agent would otherwise fall into is disclosed.

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?

Front-loaded with purpose, then the two highest-risk behaviors (default year scope, pagination), then enum decoding, then the endpoint. It is dense and occasionally list-like ('VS ...'), but nearly every clause carries actionable information and nothing is padded.

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?

With 16 optional parameters, no required fields and no output schema, the description supplies the scoping caveat, the pagination contract and the enum interpretations an agent needs to call it successfully. It does not describe return payload shape or default result ordering, but the response contents are at least summarized in the opening sentence.

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?

Schema description coverage is 100%, so a 3 is the baseline; the description goes beyond it by decoding enum semantics the schema only lists as strings (estimate = quote, cancel = credit note, reverse_order) and by explaining that 'several allowed' for type. It also clarifies search fields and the next_page-to-page pagination handoff, adding meaning not present in the raw property text.

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 issued documents) plus what each record carries (client, items, totals, payment status), which distinguishes it cleanly from superfaktura_get_invoice and the other list_* siblings. An agent knows immediately this is the paginated collection endpoint for invoices, not a single-document fetch.

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 real selection guidance: how the type parameter routes between ordinary invoices, proformas, quotes, credit notes, etc., how status narrows by payment state, and what search matches. It also names a sibling (superfaktura_list_clients) for obtaining client_id. It stops short of an explicit when-not-to-use statement (e.g., prefer get_invoice for a known number), so it lands at 4 rather than 5.

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.