Skip to main content
Glama

Odile answering lines

Checkout link for Formats credits, meeting minutes, phone minutes, resolved conversations, Plate API photos or legacy calls

buy_pack

Returns a one-time Stripe checkout link for a prepaid pack, to top up something that already exists; to start a new answering line use set_up_answering_line. The customer opens the link and pays on Stripe's own page, and this connection never sees the card. Only call it when the customer asked to buy, and tell them the price first. product picks what is bought: 'line_minutes' (phone minutes for an After Hours line; line_id required; min40: 40 minutes for $10; min200: 200 minutes for $50), 'line_outcomes' (resolved conversations for an outcome line; line_id required; out50: 50 resolved conversations for $24.50; out200: 200 resolved conversations for $98), 'direct' (Direct credits: direct100c, direct1000, direct10000), 'formats' (Odile Formats credits: small, medium, large), 'photos' (Plate API photo credits: starter: 1000 photos for $10; growth: 5000 photos for $45; scale: 20000 photos for $160), 'minutes' (meeting minutes, only where Meeting Notes is on) or 'calls' (legacy per-call lines only; line_id required). For line products the pack must match the line's billing_mode. What was paid is added within a minute of payment, whatever device paid it. Nothing renews. Needs a signed-in connection with the billing:checkout permission; rate limited per account. Returns { checkout_url, product, pack, price_cents, units, unit, then }.

Input Schema

NameRequiredDescriptionDefault
packYesThe pack id: formats small | medium | large; minutes m200 | m600 | m2000; calls calls10 | calls50; phone minutes min40 | min200; outcomes out50 | out200; photos starter | growth | scale; direct direct100c | direct1000 | direct10000.
line_idNoFor product 'calls', 'line_minutes' or 'line_outcomes': the line_id from get_answering_line.
productYes'formats' credits, meeting 'minutes', phone 'line_minutes', resolved 'line_outcomes', Plate API 'photos', legacy answered 'calls' or 'direct' Direct credits.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Goes well beyond the annotations: the link is one-time, payment happens on Stripe's own page, the connection never sees the card, credits land within a minute regardless of device, nothing renews, and the call requires a signed-in connection with billing:checkout permission and is rate limited per account. This is exactly the context the readOnly/openWorld/idempotent hints cannot convey.

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?

The critical constraint and the sibling exclusion are front-loaded, and the return shape is stated last. It is a dense single block, though, and the product enumeration partially repeats the schema enum, which costs some readability against a tool an agent only calls occasionally.

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 mutation tool with no output schema, the description supplies both the preconditions (permission, user consent, price disclosure) and an explicit return shape ({ checkout_url, product, pack, price_cents, units, unit, then }). Nothing material an agent needs before calling is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, but the description adds real meaning: it ties each product value to concrete pack ids, prices and units (min40 = 40 minutes for $10, out200 = 200 resolved conversations for $98), and states when line_id is required. That pricing and unit mapping is information the schema does not carry.

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 artifact: 'Returns a one-time Stripe checkout link for a prepaid pack,' and immediately scopes it as topping up something that already exists. It distinguishes itself from set_up_answering_line by name, so an agent can route between the two without opening a schema.

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

Usage Guidelines5/5

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

Explicit preconditions: 'Only call it when the customer asked to buy, and tell them the price first,' plus the alternative 'to start a new answering line use set_up_answering_line.' It also states the constraint that for line products the pack must match the line's billing_mode.

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.