Skip to main content
Glama

Codat MCP by usefulapi

List bills

codat_list_bills
Read-only

List a company's accounts-payable bills (id, reference, supplierRef, issueDate, dueDate, currency, totalAmount, amountDue, status, lineItems). Codat API: GET /companies/{companyId}/data/bills. Returns the paged envelope.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number (default 1).
queryNoCodat query filter string, e.g. "status=Paid" or "modifiedDate>2026-01-01". See docs.codat.io/using-the-api/querying.
orderByNoField to order results by, e.g. "-modifiedDate" (leading "-" for descending).
pageSizeNoRecords per page (1-2000, default 100).
companyIdYesThe Codat companyId (UUID).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observed

TDQS

A3.5/5.0
Behavior4/5

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

readOnlyHint=true already covers the safety profile, so the description's job is to add context — and it does: it names the REST endpoint, lists the concrete fields returned, and notes that the response is a paged envelope. It stops short of describing the envelope's shape (results/pageNumber/totalResults) or any rate-limit behavior, but this is meaningful added context beyond the annotation.

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?

Three tight clauses: purpose + field list, endpoint, return shape. The parenthetical field enumeration is dense but earns its place given there is no output schema. No filler sentences.

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 no output schema, the description sensibly enumerates the bill fields and flags pagination; with 100% schema coverage the parameters need no further explanation. The main residual gap is the structure of the paged envelope and any guidance on filtering by status/date via query, which the schema only gestures at.

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 the agent already knows page, query, orderBy, pageSize and companyId in detail (including query syntax and orderBy descending convention). The description adds nothing about parameter syntax, so the baseline 3 applies.

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?

States a specific verb and resource ('List a company's accounts-payable bills') and even enumerates the returned fields (id, supplierRef, status, etc.), leaving no ambiguity about what is fetched. It does not explicitly contrast itself with adjacent siblings like codat_list_invoices or codat_list_bill_payments, but the resource noun alone is discriminating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use or when-not-to-use guidance, no prerequisites, and names no alternative tool. It cites the underlying API route, but that is an implementation detail rather than a selection cue for the agent.

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.