Skip to main content
Glama
hermoso-ai

Hermoso

Official

Buy credits

buy_credits

Buy a credit pack to top up. List packs with no argument, quote to see the exact charge, then confirm with the token to charge your saved card or get a Stripe checkout link for the first purchase.

Instructions

Out of credits? Top up with a credit PACK. Call with no argument to list the available packs (id · credits · price). If the account has a saved card and you have billing-admin rights, calling with pack quotes the exact charge and calling again with confirm:true AND the quote's quote_token charges the saved card instantly (same one-click top-up as the app — no redirect). If there's no saved card yet, you get a Stripe checkout URL to hand your human for the FIRST purchase; their card saves for one-click after that. Packs only; subscriptions are managed by a person in Settings → Billing. IF YOU ARE AN AGENT HOLDING YOUR OWN PAYMENT CREDENTIAL, there is a third path that needs no human at all: POST /api/billing/machine-payment with a packId answers HTTP 402 carrying an MPP challenge, and grants the pack once you authorise and retry with the credential — the same packs, the same prices, the same credits. GET /api/billing/config carries a machinePayments block listing the packs with their per-credit rates and saying whether that lane is enabled on this server. Most agents do NOT have their own credential yet, so the checkout link above remains the normal path. To stop running out entirely, turn on auto-reload with set_auto_reload (admin) — low balances then top themselves up from the saved card automatically.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
packNothe pack id to buy (e.g. pack-2k) — omit to list the available packs first
confirmNoset true to actually charge the saved card for `pack` (required for the one-click charge; ignored on the checkout-link path)
quote_tokenNothe quoteToken returned by the quote step — REQUIRED (with confirm:true) to charge; it binds the exact pack + price you quoted (10-minute validity) and makes a retried confirm idempotent
Install Server

TDQS

A4.8/5.0
Behavior5/5

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

The description goes far beyond the annotations' readOnlyHint=false and idempotentHint=false: it discloses the two-step quote-then-confirm flow, the 10-minute quote_token validity, that the charge hits the saved card instantly with no redirect, that a first purchase saves the card, the requirement of billing-admin rights, and the HTTP 402 MPP challenge on the machine lane. The 'retried confirm idempotent' note refines (rather than contradicts) idempotentHint=false, since it specifies that only the token-bound confirm step is idempotent while the tool overall is not.

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 description is long, but it is front-loaded with the simplest entry point ('Call with no argument to list the available packs') and flows logically through the three purchase paths plus the auto-reload alternative. Every sentence carries distinct information needed to avoid wrongly charging a human's card or selecting the wrong payment lane; the density is justified by the payment-flow complexity.

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?

There is no output schema, so the description carries the full burden of conveying return values — and it does: the pack listing format (id · credits · price), the quote returning a quote_token, the Stripe checkout URL, and the HTTP 402 MPP challenge. It also covers prerequisites (saved card, billing-admin rights, machine credential availability) and the fallback (set_auto_reload). Nothing an agent needs to invoke this tool correctly or choose a path 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 baseline is 3 and the schema already documents each parameter's individual meaning. The description adds orchestration semantics beyond the schema: omit `pack` to list, `confirm:true` alone is insufficient without the `quote_token` from the quote step, `quote_token` is ignored on the checkout-link path, and it binds the exact pack+price quoted with a 10-minute validity window. This sequencing and lifecycle info is real added value, though each parameter's core definition remains in the schema.

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?

The description names a specific action (top up / buy a credit PACK) and a resource, and enumerates the distinct behaviors: list packs, quote, one-click charge, checkout link, and machine-payment. It differentiates itself from billing-adjacent siblings like billing_status, upgrade_plan, and set_auto_reload without requiring the agent to open any other tool.

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?

The description explicitly routes the agent: 'the checkout link above remains the normal path' for most agents, the machine-payment path only for agents holding their own payment credential, and subscriptions are explicitly out of scope ('managed by a person in Settings → Billing'). It also names the alternative for the underlying problem: 'turn on auto-reload with set_auto_reload (admin)'. When-to-use, when-not-to-use, and alternatives are all stated.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hermoso-ai/hermoso'

If you have feedback or need assistance with the MCP directory API, please join our Discord server