Skip to main content
Glama

Expect a bill

purch_declare_bill_series

Say a vendor's bill comes every period (the electric bill, the phone, insurance), so a missing one, or one well above the usual amount, is named. When the person says a bill comes regularly, declare it once: the vendor as they say it, how often, the category, and the usual amount if they know it. Its bills are then the vendor's bills on record; the usual amount comes from them once there are a few. Never guess a usual amount. Effects: bill expected every period from this vendor.

Input Schema

NameRequiredDescriptionDefault
reasonNoWhat the person said.
vendorYesThe vendor, as the person says it.
cadenceYesHow often it comes.
due_dayNoThe day of the month it is usually due, if the person says.
categoryNoWhat it is for, in the person's words.
currencyNoISO 4217 code; the default currency when left out.
typical_amountNoWhat it usually is, if the person says. In cents (integer minor units) — 1250 means $12.50.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations cover the write/read/destructive profile, and the description adds behavior the annotations cannot: declaring sets up an ongoing expectation whose usual amount is learned from recorded bills later, plus a hard rule not to fabricate a typical amount. "Declare it once" is consistent with, not contradictory to, idempotentHint=false — it warns about duplicates rather than promising deduplication.

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 the core trigger and scoped tightly to one action; the parenthetical examples and "Never guess a usual amount" both do real work. Some phrasing is folksy and redundant ("a missing one, or one well above the usual amount, is named"), costing a bit of crispness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter, 2-required mutation with annotations but no output schema, the description covers the trigger, the effect, the amount-learning behavior, and the anti-guessing rule. The only omission — how to undo or terminate a series — is handled by the clearly named sibling purch_end_bill_series.

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 coverage is 100%, so every parameter is already documented, including the cents convention for typical_amount and the cadence enum. The description restates the same fields in prose (vendor as spoken, cadence, category, typical amount) and adds only the "never guess" constraint, so it earns the baseline rather than more.

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 action — declaring that a vendor's bill arrives on a recurring cadence — with concrete examples (electric, phone, insurance) and the downstream meaning (missing or unusually large bills get flagged). It is clearly distinct from recording an actual bill, though it never names its closest sibling purch_add_bill or purch_declare_subscription to sharpen the boundary.

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 an explicit trigger ("When the person says a bill comes regularly") and a discipline constraint ("declare it once", "Never guess a usual amount"). It lacks an explicit negative case or pointer to alternatives such as purch_add_bill for one-off bills or purch_declare_subscription for subscriptions, which is where the real ambiguity with siblings lives.

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.