Bills
purch_billsBills on record: open ones waiting for approval first, then approved, paid and rejected.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Only this status. |
purch_billsBills on record: open ones waiting for approval first, then approved, paid and rejected.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Only this status. |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and non-openWorld, so the safety profile is covered. The description adds genuine behavioral value beyond them by disclosing the default result ordering (open/pending-approval first, then approved, paid, rejected), which tells the agent what a no-parameter call returns. It omits pagination, result volume and any indication of record fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with zero filler; the resource and its default ordering are front-loaded in one clause. Nothing could be removed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-optional-parameter, read-only list tool with full annotations, the definition covers purpose and default ordering adequately. Since there is no output schema, the description would ideally hint at what a bill record contains, but that gap is minor for a simple enumerating tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single enum parameter is already documented, so the baseline is 3. The description earns an extra point by glossing "open" as "waiting for approval" and by enumerating the status sequence, clarifying enum semantics and the default unfiltered behavior beyond the schema's terse "Only this status."
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Bills on record" identifies the resource and implies a read/list operation, and the ordering clause (open first, then approved, paid, rejected) hints at the default sort. However no explicit verb is used and nothing distinguishes it from siblings such as purch_get_bill, purch_payables or purch_upcoming, so an agent must still infer when this is the right retrieval tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never states when to use this versus alternatives (purch_get_bill for a single bill, purch_payables, purch_upcoming) and gives no prerequisites or exclusions. Usage is only implied by the noun phrase itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.