Skip to main content
Glama

Buy with the balance

buy
Destructive

Buy an item from your balance. Utilities start immediately; kits return a single-use download link. Pass instance_id to renew a utility you own. Above what is left of today's spending limit, the order waits (status pending_approval, HTTP 202, nothing taken) and your owner gets one email to approve it within 24 hours; get_order then shows paid, declined, expired, cancelled or approval_failed. Retry with the same idempotency_key: never a second order. Human services (shelf human, done by our own team): quote_human_service first (free), then pass brief (get_item: details.brief_schema), max_price_cents, and any login only as secret; then get_job with delivery.job_id. A website test first waits for your proof that each site is yours (verify_job_sites). More: /llms/human-services.md. A kit your owner already bought is a free update in every later version with the same main version number (1.0.2 to 1.2.0 costs 0, no balance, limit or approval); a new main version (2.0.0) is a new purchase.

Input Schema

NameRequiredDescriptionDefault
itemYesItem slug from search_catalog
briefNoHuman services only: what our team needs, in the service's schema (get_item shows details.brief_schema).
secretNoHuman services only: a test login or access key. Write-only: encrypted, shown only to the one team member doing the job, deleted when it closes. Never put it in brief.
instance_idNoTo renew: the utility instance id you own. Leave out for a new one.
passport_tokenNoYour amp_ token, only if you have no app sign-in and cannot send a header.
idempotency_keyNoReuse to retry safely without paying twice
max_price_centsNoThe most this order may cost, in US cents: a higher price (as we count it) is refused and nothing is taken.
inbox_instance_idNoOne of your owner's webhook inboxes: what happens to this order (approved, declined, expired) and its job is written there.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Far beyond the annotations: it discloses the pending_approval flow (HTTP 202, nothing taken, owner emailed, 24-hour window), the full set of terminal order statuses, idempotency retry semantics, secret handling (write-only, encrypted, deleted on close), and the zero-cost update rule. This is exactly the operational context a mutation tool needs.

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 action and dense with useful facts, but the semicolon-chained sentences covering approval, human services, site tests, docs, and version updates run together, making it harder to scan than it needs to be.

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 an 8-parameter, nested-object, no-output-schema purchase tool, the description covers the money/approval lifecycle, the human-services sub-flow, the kit update exemption, and where to read outcomes (get_order, get_job). Nothing an agent needs to call it safely is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the schema alone documents all eight parameters and the baseline is 3. The description adds workflow meaning the schema lacks: when instance_id means renew versus new, that brief/secret/max_price_cents apply only to human services, and that brief must be shaped by details.brief_schema from get_item.

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 resource ('Buy an item from your balance') and immediately differentiates variants: utilities start immediately, kits return a download link, and passing instance_id renews instead of creating. An agent can distinguish this from buy_site_badge, top_up, and get_order without opening any 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 routing rules: quote_human_service first for human services, verify_job_sites before website tests, get_order to follow approval status, get_item for details.brief_schema, and instance_id to renew rather than repurchase. It also names the free-update exemption for kit version bumps, which prevents unnecessary purchases.

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.