Skip to main content
Glama
cryptunnel-mcp

cryptunnel-mcp

Official
by cryptunnel

cryptunnel-mcp

Test License: MIT

An MCP server that lets a coding agent - Claude Code, Cursor, anything speaking the Model Context Protocol - create and look up Cryptunnel crypto payments. Build a payment integration by prompting: "create a sandbox payment for 10 USD and give me the checkout link".

It runs on your machine over stdio, wraps the cryptunnel client, and talks to nothing but api.cryptunnel.io. No hosted service, no OAuth.

Setup

You need your merchant id and an API key, both from the merchant page in the cabinet. Node 20+.

Claude Code

claude mcp add cryptunnel \
  --env CRYPTUNNEL_MERCHANT_ID=<merchant id> \
  --env CRYPTUNNEL_API_KEY=<api key> \
  -- npx -y cryptunnel-mcp

Or, to share it with a project, in .mcp.json at the repository root:

{
  "mcpServers": {
    "cryptunnel": {
      "command": "npx",
      "args": ["-y", "cryptunnel-mcp"],
      "env": {
        "CRYPTUNNEL_MERCHANT_ID": "<merchant id>",
        "CRYPTUNNEL_API_KEY": "<api key>"
      }
    }
  }
}

Cursor

In .cursor/mcp.json (per project) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "cryptunnel": {
      "command": "npx",
      "args": ["-y", "cryptunnel-mcp"],
      "env": {
        "CRYPTUNNEL_MERCHANT_ID": "<merchant id>",
        "CRYPTUNNEL_API_KEY": "<api key>"
      }
    }
  }
}

Try it

Create a sandbox payment for 10 USD for order test-1 and give me the checkout link.

The agent calls create_payment, and the link opens the checkout page listing testnet coins. If the list is empty, attach a testnet wallet to the merchant in the cabinet first - see Sandbox and faucets.

Related MCP server: Yolfi MCP server

Environment

Variable

Meaning

CRYPTUNNEL_MERCHANT_ID

Your public merchant id. Required - the server exits naming it when missing

CRYPTUNNEL_API_KEY

Your API key. Required

CRYPTUNNEL_ALLOW_LIVE

Set to 1 to allow real payments. Unset by default - see below

CRYPTUNNEL_BASE_URL

Point the server at another API host, for a local backend

The live-mode gate

An agent holding a live key must not be one prompt away from a real invoice. So by default every payment this server creates is a sandbox payment: the buyer is offered testnet coins only, nothing is charged, and the payment stays out of your stats. Asking for is_test: false is refused with a message that names the variable - the payment is not silently downgraded, the agent is told why.

Set CRYPTUNNEL_ALLOW_LIVE=1 to let the agent create real payments. Even then a payment is a sandbox one unless the agent passes is_test: false explicitly.

Tools

Tool

What the agent gets

create_payment

A checkout url for a given amount and currency, keyed by your external_id

get_payment

One payment by id, with its status - deliver on confirmed or confirmed_manual

list_payments

The merchant's payments, newest first, paged

list_currencies

The currencies the merchant can receive - only those with an active wallet

Every tool returns the API response as JSON text; an API error comes back as a tool error carrying the API code, e.g. ValidationError (WALLET_NOT_FOUND): Wallet not found.

MIT licensed.

Available Tools

4 tools
create_paymentCreate a paymentA

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.

Inputs: amount (required), currency (required), external_id (required), is_test, +4 more.

get_paymentGet a paymentA

Look up one payment by the id create_payment returned. The status says where it stands: "created" - waiting for the buyer to pick a coin; "pending" - coin picked, transfer awaited; "confirmed" or "confirmed_manual" - paid, safe to deliver; "failed"; "expired". Only a payment past "created" carries a crypto amount, currency and wallet address.

Inputs: id (required).

list_currenciesList receivable currenciesA

List the cryptocurrencies this merchant can actually receive - only currencies with an active wallet appear, each with its blockchain. An empty list means no wallet is attached for that family yet; a testnet wallet has to be attached in the cabinet before a sandbox payment can be paid.

Inputs: is_test.

list_paymentsList paymentsA

List the merchant's payments, newest first, with paging. Use it to find a payment when you only know your own order id (external_id), or to review recent activity. Test and live payments are listed together - check is_test on each.

Inputs: limit, offset.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.3/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool targets a distinct operation on a distinct resource: create_payment (create checkout), get_payment (single lookup by id), list_payments (paged enumeration), list_currencies (static currency catalog). No two tools overlap in purpose and the descriptions reinforce the boundaries (e.g. get_payment needs the id from create_payment).

    Naming Consistency5/5

    Consistent snake_case verb_noun pattern throughout (create_payment, get_payment, list_payments, list_currencies). The singular/plural resource suffix follows a predictable creates-one vs lists-many convention.

    Tool Count4/5

    Four tools is slightly thin but well-matched to a narrowly scoped payment-checkout surface. Each tool earns its place with no redundancy, though the set is at the low end of the typical 3-15 range.

    Completeness4/5

    Covers the core accept-a-payment lifecycle: create checkout, poll status (created→pending→confirmed/failed/expired), enumerate by external_id, and enumerate receivable currencies. No explicit cancel/refund tool, but these are plausibly out of scope for a checkout-only surface, so only a minor gap remains.

    Maintenance

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables AI coding agents to integrate stablecoin crypto checkout into applications by registering workspaces, configuring settlement wallets and webhooks, creating payment links and invoices, and verifying payment status and webhook signatures. It exposes these payment operations as tools over stdio so agents can complete end-to-end payment setup without manual dashboard work.
      -