Skip to main content
Glama

ModelsLab Agent Control Plane

Agent Billing Management

agent-billing
Manage billing for the authenticated user.
Actions: stripe-config (get Stripe publishable key for headless card tokenization),
create-setup-intent (create SetupIntent for 3DS-safe card saving),
create-payment-link (generate Stripe-hosted payment URL to forward to human — supports
card, Google Pay, Amazon Pay, Link, etc.),
overview, payment-methods, add-payment-method, set-default-payment-method,
remove-payment-method, billing-info, update-billing-info, invoices, invoice-detail, invoice-pdf.
Three payment paths: (1) Headless: stripe-config → tokenize → payment_method_id,
(2) Human-assisted: create-payment-link → forward URL → poll confirm-checkout,
(3) SetupIntent: create-setup-intent → confirm via Stripe → reuse payment method.
All actions require authentication.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoBilling name (for update-billing-info)
emailNoBilling email (for update-billing-info)
actionYesThe billing action: stripe-config, create-setup-intent, create-payment-link, overview, payment-methods, add-payment-method, set-default-payment-method, remove-payment-method, billing-info, update-billing-info, invoices, invoice-detail, invoice-pdf
amountNoAmount in USD, minimum $15 (required for create-payment-link with purpose=fund)
tax_idNoTax ID value (for update-billing-info)
plan_idNoPlan ID (required for create-payment-link with purpose=subscribe)
purposeNoPayment link purpose: "fund" (wallet) or "subscribe" (subscription). Required for create-payment-link.
invoice_idNoInvoice ID (for invoice-detail, invoice-pdf)
tax_id_typeNoTax ID type e.g. eu_vat, us_ein (required with tax_id)
address_cityNoCity (for update-billing-info)
make_defaultNoMake the new payment method the default (for add-payment-method, default: true)
address_line1NoAddress line 1 (for update-billing-info)
address_line2NoAddress line 2 (for update-billing-info)
address_stateNoState/province (for update-billing-info)
address_countryNoCountry code (for update-billing-info)
idempotency_keyNoIdempotency key for mutation actions (optional — auto-generated if omitted for add-payment-method, update-billing-info)
payment_method_idNoStripe payment method ID (for add/set-default/remove-payment-method)
address_postal_codeNoPostal/zip code (for update-billing-info)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only declare openWorldHint=true, so the description carries most of the burden and does disclose meaningful behavior: all actions require authentication, Stripe-hosted URLs are forwarded to a human, and setup intents are 3DS-safe. It omits destruction/reversibility details for mutations like remove-payment-method or set-default-payment-method, and gives no idempotency or rate-limit context.

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-loads the purpose, then lists actions and paths in a scannable structure. Slightly uneven — workflow-heavy actions get explanatory clauses while overview, payment-methods, billing-info, and invoices are bare names — but overall efficient with little waste.

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?

For a 13-action, 18-parameter tool with no output schema and minimal annotations, the description is reasonably complete: it enumerates actions, gives workflow paths, and notes auth. It doesn't clarify return shapes or error behavior for read actions (overview, invoices, invoice-detail), leaving some gaps given no output schema exists.

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% with per-parameter action mapping (e.g., 'for update-billing-info', 'required for create-payment-link with purpose=subscribe'), so the schema already does the heavy lifting. The description adds only the cross-action workflow context, not per-parameter semantics beyond what the schema provides, so 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 clear verb+resource ('Manage billing for the authenticated user') and enumerates the 13 concrete actions it supports, so the agent knows exactly what surface it covers. It's distinguishable from siblings like agent-wallet and agent-subscriptions by scope, though it doesn't explicitly call out those boundaries.

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?

Provides explicit routing guidance via three named payment paths (Headless: stripe-config → tokenize → payment_method_id; Human-assisted: create-payment-link → forward URL → poll confirm-checkout; SetupIntent: create-setup-intent → confirm → reuse), which is strong when-to-use signal. It stops short of naming when NOT to use this tool or how it relates to sibling tools. Minor inconsistency: 'confirm-checkout' is referenced as a step but is absent from the action list.

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.

Resources