Skip to main content
Glama

billing_invoices_create

Destructive

Creates a billing invoice for account top-up with a specified payment method and amount in minor currency units.

Instructions

Billing invoices create POST /billing/invoices

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "body": "<body>"
    },
    "name": "billing_invoices_create"
  }
}

Input Schema

NameRequiredDescriptionDefault
bodyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

D1.9/5.0
Behavior2/5

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

The annotations already state destructiveHint=true, idempotentHint=false, and openWorldHint=true; the "POST" fragment is consistent with that but adds nothing new. The description does not disclose what irreversible effects occur, whether retries risk duplicate charges (a real concern given non-idempotency), or what authorization is required for a money-moving call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is very short with no filler sentences, but the first line is a redundant restatement of the name, so the only informational payload is the HTTP verb and path. Size is fine; content density is low.

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

Completeness2/5

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

For a destructive, non-idempotent, money-moving mutation with a nested required body and no output schema, the description is far too thin. Missing are what gets created, required permissions, retry/idempotency behavior, and any hint about the response or failure modes.

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

Parameters2/5

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

Schema description coverage is reported as 0%, so the description should carry the burden for the required body plus its method/amount fields, and it says nothing. The nested schema does happen to describe amount (minor units) and method (provider:method slug), which limits the damage, but the description adds no meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Billing invoices create" simply restates the tool name, and the only added content is the raw route "POST /billing/invoices". From that an agent can infer this creates an invoice, but the description never says what an invoice is here (a top-up/charge against a payment method) or how it differs from siblings like recurrent_payments_create_recurrent_payment_config.

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

Usage Guidelines1/5

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

No when-to-use, when-not-to-use, or prerequisite guidance of any kind is given. There is no mention of needing a valid payment method slug, of prerequisites such as an existing payment method, or of when to prefer recurrent payment config versus a one-off invoice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools