Rozo Checkout
Server Details
Pay OpenRouter top-ups with USDC/USDT on 6 chains or BTC Lightning. Never holds funds.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- RozoAI/rozo-checkout-mcp
- GitHub Stars
- 0
TDQS
Scored across 4 tools
Each tool targets a distinct purpose: create_deposit_order creates, payment_status reads state, quote_invoice inspects a payment link, and supported_coins returns a static list. No two tools overlap in function, so an agent can select unambiguously.
All names are snake_case and readable, but the verb style varies: create_deposit_order and quote_invoice use verb_noun while payment_status and supported_coins are noun phrases. Mostly consistent with minor deviations.
Four tools is well-scoped for a payment/checkout flow, covering the essential actions (create, query status, quote, list options) without bloat or gaps that feel thin.
The surface covers the core lifecycle: quote an invoice, check supported coins, create a deposit order, and track its status. Minor gaps exist (e.g. no cancel/refund or order history), but agents can work around these for the stated pay-an-invoice purpose.
Available Tools
4 toolscreate_deposit_orderCreate a deposit orderAInspect
Creates a one-time deposit order; you pay from your own wallet. Returns the deposit address (or Lightning invoice), the exact amount to send, any required memo, the expiry and the rozoPaymentId. This server holds no keys and sends nothing. Send exactly the amount, on exactly that chain and token, before expiresAt. An unfunded order simply expires at no cost.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Coinbase link: https://payments.coinbase.com/payment-links/pl_... or https://payments.coinbase.com/payment-sessions/paymentSession_... | |
| chainId | Yes | Source chain id from supported_coins, e.g. "900" (Solana), "8453" (Base), "lightning". | |
| tokenSymbol | Yes | Token you will pay with, e.g. USDC, USDT, BTC. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it discloses the exact response payload (deposit address or Lightning invoice, amount, memo, expiry, rozoPaymentId), states the custody model ('This server holds no keys and sends nothing'), and spells out the failure/expiry behavior of an unfunded order. That is the kind of context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads what the tool does, then the return shape, then the funding constraints — a sensible order with no filler. The enumerated return list is slightly dense but each item is informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly supplies the return fields, and it covers custody, expiry, and amount-matching semantics. The only real omission is how this fits relative to the sibling tools in a payment flow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so chainId, tokenSymbol and url are already documented with examples and enums. The description reinforces the chain/token exactness requirement but adds no new syntax or format detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Creates a one-time deposit order') plus the funding model ('you pay from your own wallet'), which is concrete and non-tautological. It does not, however, explicitly separate this from the sibling quote_invoice, which an agent could plausibly confuse with it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives post-creation operating guidance ('Send exactly the amount, on exactly that chain and token, before expiresAt') and reassures that an unfunded order expires free, which implicitly encourages calling it. But there is no explicit statement of when to use this versus quote_invoice or payment_status, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payment_statusPayment statusARead-onlyIdempotentInspect
Check a Rozo order by rozoPaymentId: whether the deposit arrived, bridging/payout progress, and whether the Coinbase invoice settled. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| rozoPaymentId | Yes | Order UUID returned by create_deposit_order. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the trailing 'Read-only' is largely redundant. However, the description adds genuine behavioral value by disclosing what the check reports (deposit arrival, bridging/payout progress, Coinbase invoice settlement), which matters because there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence carrying the verb, key and return scope, followed by a two-word safety note. Efficient overall, though 'Read-only' repeats what the annotations already say and could be dropped.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description usefully enumerates the status facets an agent will receive. It does not cover failure modes (unknown/invalid ID, pending vs. failed states) or whether repeated polling is expected, which leaves minor gaps for a status-check tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage on the single parameter, the schema already documents rozoPaymentId fully, including its origin from create_deposit_order. The description names the parameter but adds no format, length, or lookup semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Check) plus resource (Rozo order) and the exact lookup key (rozoPaymentId). It also enumerates the three things it reports on, so the agent knows precisely what the tool answers, which is distinguishable from create_deposit_order and quote_invoice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the follow-up check after an order exists, but it never states when to call it versus siblings or whether it should be polled. The link to create_deposit_order appears only in the schema's parameter description, not in the tool description itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quote_invoiceQuote a Coinbase invoiceARead-onlyIdempotentInspect
Look up a Coinbase payment link (e.g. an OpenRouter top-up) and return the merchant, invoice amount, what the payer pays, the link expiry and whether it is still payable. Creates nothing and moves no funds.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Coinbase link: https://payments.coinbase.com/payment-links/pl_... or https://payments.coinbase.com/payment-sessions/paymentSession_... |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered structurally. The description adds value beyond that by enumerating the returned fields and noting the dynamic 'whether it is still payable' state, though 'Creates nothing and moves no funds' largely restates the readOnlyHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences: the first front-loads the action and the full return payload, and the second delivers the safety constraint. No filler, no repetition of the title, and every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 must describe the return values itself — and it does, listing merchant, amount, payer cost, expiry, and payability. Combined with the annotation-covered safety profile and a fully documented single parameter, nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already specifies the exact accepted URL formats (payment-links/pl_... and payment-sessions/paymentSession_...). The description merely echoes 'a Coinbase payment link' without adding format, validation, or error-handling detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Look up') and resource ('Coinbase payment link') and enumerates exactly what it returns: merchant, invoice amount, payer cost, expiry, and payability. The closing clause 'Creates nothing and moves no funds' implicitly separates it from the write-oriented sibling create_deposit_order, so an agent can distinguish it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(e.g. an OpenRouter top-up)' gives a concrete usage context, which implies when the tool is appropriate. However, it never names an alternative (payment_status, create_deposit_order) or states when NOT to use it, so the routing guidance is only implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
supported_coinsSupported coinsARead-onlyIdempotentInspect
List the coins and chains you can pay an OpenRouter (Coinbase) invoice with through Rozo. Static list, no network call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds a genuinely useful operational trait beyond them: the data is a static list with no network call, telling the agent it is cheap and safe to call repeatedly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with zero filler; the resource is named first and the operational caveat follows.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param static reference list with no output schema, the description conveys enough: what is returned (supported coins and chains) and that no external call occurs. Only the exact return shape is unspecified, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; there is nothing for the description to disambiguate and it correctly doesn't invent parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (coins and chains) plus the qualifying context (paying an OpenRouter/Coinbase invoice via Rozo). An agent can tell this apart from the transactional siblings, though it doesn't name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied — call this to discover which assets an invoice can be paid with — but there is no explicit when-to-use guidance or comparison to siblings like quote_invoice or create_deposit_order.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
create_deposit_order - First observed
payment_status - First observed
quote_invoice - First observed
supported_coins
Related MCP Connectors
GPT, Claude, Gemini, DeepSeek, Grok, Qwen and GLM through one API key. Pay per token.
247 LLMs + image/video/voice/music gen + crypto/DeFi/markets/web-search. Pay-per-call USDC, no key.
17-model LLM gateway + 350+ data/KYB/sanctions tools. Pay-per-call USDC via x402, no API key.
Non-custodial value router: ranked fiat/crypto & cross-chain routes, swaps, onramp, gasless wallet.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceAI payment router for routing across 300+ LLM models with per-request USDC settlement on Base and Tempo, session budgets, and x402 payments via the MCP protocol.MIT

GlianaAI MCP Serverofficial
AlicenseAqualityBmaintenanceEnables pay-per-call access to 90+ generative AI models and utility tools via any MCP client, with no signup or API key, using wallet-based USDC payments on Base, Tempo, or Solana.773 npmMIT- AlicenseNot gradedqualityCmaintenanceNon-custodial multi-chain crypto payment gateway via CoinVoyage. 15 tools for creating PayOrders, managing webhooks, and cross-chain swaps. Supports BTC, SOL, ETH, Base, Arbitrum, Polygon, BSC, Sui, USDC/USDT.MIT
- AlicenseAqualityFmaintenanceUnified AI compute API gateway for agents. Access 30+ services and 95+ models across 8 backends (Groq, Together AI, DeepInfra, Fireworks, Replicate, RunPod) with native x402 USDC payments, Stripe, and crypto top-up.547 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.