Skip to main content
Glama
cryptunnel

cryptunnel-mcp

Official
by cryptunnel

Create a payment

create_payment

Generate a crypto payment and return a checkout URL so buyers can pay in their chosen coin straight to your wallet. Returns payment ID, URL, and status.

Instructions

Create a Cryptunnel payment and get a checkout url to send the buyer to. On that page the buyer picks a cryptocurrency and pays straight to the merchant's own wallet. Use it whenever someone has to be charged. Returns the payment id (keep it - get_payment needs it), the checkout url and the status "created". By default the payment is a sandbox payment: the buyer is offered testnet coins only and nothing real moves. Repeating an external_id returns the payment already created for it instead of a second one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
amountYesThe amount to charge, in the fiat currency below, e.g. 10 or 49.99
is_testNotrue creates a sandbox payment (testnet coins, no fees, excluded from stats). false creates a real invoice and is only allowed when the server runs with CRYPTUNNEL_ALLOW_LIVE=1
currencyYesThe fiat currency the amount is in: USD or EUR
fail_urlNoWhere the buyer is sent after a failure
descriptionNoWhat the buyer is paying for, shown on the checkout page
external_idYesYour own order or invoice id. One payment per external_id
success_urlNoWhere the buyer is sent after paying
callback_urlNoWebhook url called when the payment reaches a terminal status

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and mostly succeeds: it discloses the sandbox default (testnet coins, nothing real moves), the idempotent external_id behavior, and the returned fields/status. It omits auth/credential requirements and any rate-limit or error behavior, which leaves a real gap for a write tool.

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 the return value, and every sentence carries information (sandbox default, idempotency). It is slightly dense but there is no filler; the only mild redundancy is restating the sandbox notion across two clauses.

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 an 8-param write tool with no annotations and no output schema, the description covers the essential contract: what is created, what comes back, the sandbox/live distinction, and idempotency. Missing auth requirements and the exact live-mode gating (deferred to the schema) keep it from being fully self-contained.

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, but the description adds semantics beyond the schema: the default sandbox mode and the idempotency contract for external_id ('repeating an external_id returns the payment already created for it'). Those are behavioral facts the schema's field text does not convey.

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?

Specific verb+resource ('Create a Cryptunnel payment') plus the concrete outcome (checkout url) and the flow that follows (buyer picks a coin, pays to merchant's wallet). It also names the sibling it hands off to ('get_payment needs it'), so an agent can place it in the workflow 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.

Usage Guidelines4/5

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

'Use it whenever someone has to be charged' gives a clear trigger condition, and the note about repeating external_id tells the agent how to handle retries. It never states when NOT to use it or how it relates to list_payments/list_currencies, so it stops short of full when/when-not guidance.

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