Back to Browse

Snapex Pay MCP Server

Developer ToolsLow Risk10.0MCP RegistryLocalRemote
Free

Server data from the Official MCP Registry

Crypto payments for AI agents: self-serve account, invoices, receiving, payouts, exchange.

About

Crypto payments for AI agents: self-serve account, invoices, receiving, payouts, exchange.

Remote endpoints: streamable-http: https://pay.snapex.pro/mcp

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (3 strong, 4 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.

32 tools verified · Open access · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

env_vars

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

What You'll Need

Set these up before or after installing:

Merchant API key (smk_…). Optional: create_account makes one and saves it to ~/.config/snapex-pay/credentials.json.Required

Environment variable: SNAPEX_API_KEY

API base URL.Optional

Environment variable: SNAPEX_BASE_URL

How to Install & Connect

Available as Local & Remote

This plugin can run on your machine or connect to a hosted endpoint. during install.

Documentation

View on GitHub

From the project's GitHub README.

SnapEX Pay MCP server

Glama score MCP Badge Listed on mcpservers.org

MCP server for crypto payments: an AI agent opens its own merchant account and accepts, sends and exchanges crypto.

SnapEX Pay MCP server lets an AI agent work with crypto payments without a person in the loop. The agent connects to https://pay.snapex.pro/mcp, opens a SnapEX Pay merchant account by itself (no captcha, no email) and gets an API key. Then it can create invoices with hosted payment pages, receive crypto on permanent deposit addresses, keep a USDT balance, send payouts in many coins and networks, and manage webhooks. Test mode runs the whole flow without real money. Payouts always start with a free preview and use an idempotency key, so a retry never pays twice. Remote server (Streamable HTTP) or local package: npx -y snapex-pay-mcp.

How an agent uses it

  1. Connect without a key. The catalogue tools (list_assets, get_fiat_rates, get_fees, list_static_address_networks) work at once.
  2. Call create_account. It returns api_key (shown once), a cabinet login/password for a person, and mcp_personal_url. The new key is used right away: on the remote server for the rest of the MCP session, in the stdio package for the process (and it is saved to ~/.config/snapex-pay/credentials.json for the next runs).
  3. Receive: create_invoice → give pay_url to the payer → get_invoice until paid. environment: "test" runs the whole flow without real money (a test invoice turns paid ~10 s after a coin is selected; the balance does not change).
  4. Send: preview_payout (free quote) → create_payout with the preview_id and your own idempotency_key (irreversible; a retry with the same key never pays twice).
  5. The balance is kept in USDT: to get another coin, pay out in that coin. preview_conversion → create_conversion converts other assets an older account still holds.

Every error answer says what to do next (what_to_do), e.g. unauthorized → call create_account; rate_limited → wait retry_after_seconds.

Connect

Claude Code

claude mcp add --transport http snapex-pay https://pay.snapex.pro/mcp
# with an existing key:
claude mcp add --transport http snapex-pay https://pay.snapex.pro/mcp --header "Authorization: Bearer smk_…"

Cursor — ~/.cursor/mcp.json

{
  "mcpServers": {
    "snapex-pay": { "url": "https://pay.snapex.pro/mcp" }
  }
}

Add "headers": { "Authorization": "Bearer smk_…" } to keep one account across sessions.

VS Code — .vscode/mcp.json

{
  "servers": {
    "snapex-pay": { "type": "http", "url": "https://pay.snapex.pro/mcp" }
  }
}

Windsurf — ~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "snapex-pay": { "serverUrl": "https://pay.snapex.pro/mcp" }
  }
}

Cline — cline_mcp_settings.json

{
  "mcpServers": {
    "snapex-pay": { "type": "streamableHttp", "url": "https://pay.snapex.pro/mcp" }
  }
}

Step-by-step for AI installers: llms-install.md.

Gemini CLI

As an extension (this repository has gemini-extension.json):

gemini extensions install https://github.com/snapexpay/snapex-pay-mcp

or in ~/.gemini/settings.json:

{
  "mcpServers": {
    "snapex-pay": { "httpUrl": "https://pay.snapex.pro/mcp" }
  }
}

Claude Desktop — claude_desktop_config.json

Remote server through mcp-remote:

{
  "mcpServers": {
    "snapex-pay": { "command": "npx", "args": ["-y", "mcp-remote", "https://pay.snapex.pro/mcp"] }
  }
}

or the local package:

{
  "mcpServers": {
    "snapex-pay": {
      "command": "npx",
      "args": ["-y", "snapex-pay-mcp"],
      "env": { "SNAPEX_API_KEY": "smk_…" }
    }
  }
}

(SNAPEX_API_KEY is optional: without it the agent calls create_account and the key is saved for the next runs.)

claude.ai and ChatGPT connectors

Add a custom connector with the URL https://pay.snapex.pro/mcp and no authentication. These clients cannot send headers, so after create_account take mcp_personal_url from its answer (also returned by get_account) and use it as the connector URL — every new chat then works with the same account. That URL contains a credential: treat it as a password.

OpenAI Responses API

{
  "type": "mcp",
  "server_label": "snapex_pay",
  "server_url": "https://pay.snapex.pro/mcp",
  "headers": { "Authorization": "Bearer smk_…" },
  "require_approval": { "always": { "tool_names": ["create_payout", "create_conversion"] } }
}

Other clients and catalogs

The repository carries the manifests the catalogs read: server.json (official MCP Registry), glama.json (Glama), gemini-extension.json + GEMINI.md (Gemini CLI), lhm.plugin.json (LobeHub), .cursor-plugin/plugin.json + mcp.json (Cursor Marketplace), plugin.json (Agent Plugins / Kiro), llms-install.md (Cline).

Docker

docker build -t snapex-pay-mcp .
docker run -i --rm -e SNAPEX_API_KEY=smk_… snapex-pay-mcp

Tools

Account

ToolWhat it does
create_accountOpen a SnapEX Pay account (no captcha)
get_accountShow the current account and key

Catalogue (no key needed)

ToolWhat it does
list_assetsList coins and networks
get_fiat_ratesFiat exchange rates
get_feesCurrent route fee quotes
list_static_address_networksNetworks for permanent addresses

Balance

ToolWhat it does
get_balancesAccount balance
list_transactionsBalance history

Receive

ToolWhat it does
create_invoiceCreate an invoice (receive crypto)
get_invoiceInvoice status
list_invoicesList invoices
get_invoice_payment_methodsCoins an invoice can be paid with
select_invoice_payment_methodPick a coin for an invoice
preview_paymentQuote a direct payment
create_paymentCreate a direct payment
get_paymentPayment status
list_paymentsList payments
create_static_addressPermanent deposit address
list_static_addressesList permanent addresses
list_static_address_depositsDeposits to a permanent address

Send (payouts)

ToolWhat it does
preview_payoutQuote a payout (send crypto)
create_payoutSend a payout (irreversible) ⚠️ irreversible
get_payoutPayout status
list_payoutsList payouts

Exchange

ToolWhat it does
preview_conversionQuote a conversion (exchange)
create_conversionExecute a conversion ⚠️ irreversible
get_conversionConversion status
list_conversionsList conversions

Webhooks

ToolWhat it does
list_webhooksList webhook endpoints
create_webhookAdd a webhook endpoint
update_webhookChange a webhook endpoint
rotate_webhook_secretNew webhook secret ⚠️ irreversible

Resources: snapex://docs/quickstart, snapex://docs/webhooks. Prompts: accept_crypto_payment, send_crypto_payout.

Environment (stdio package)

VariableDefaultMeaning
SNAPEX_API_KEY—Merchant API key smk_…. Optional: create_account makes one.
SNAPEX_BASE_URLhttps://pay.snapex.proAPI base URL.
SNAPEX_CREDENTIALS_FILE~/.config/snapex-pay/credentials.jsonWhere a key from create_account is saved (mode 600).
SNAPEX_NO_SAVE—1 — do not save credentials to disk.

Safety

  • An agent moves only its own account's money; a new account starts at zero.
  • The key and the generated password are shown once. A person can open the cabinet with the login and password and revoke or rotate keys there.
  • Payouts are two-step (quote, then send) and need an idempotency_key; create_payout, create_conversion and rotate_webhook_secret are marked destructiveHint, so clients can ask before running them.
  • Limits: a few new accounts per IP per hour; about 120 API calls a minute per key; payouts 5 a minute and 30 an hour.
  • Rules for what can be sold: https://pay.snapex.pro/rules.

Development

The tool list is generated from the SnapEX Pay server (app/Mcp/McpToolCatalog.php):

php artisan mcp:export-tools      # writes src/tools.json, syncs the version of the manifests and LobeHub's tools
npm ci && npm test                # build + offline smoke test with the official MCP SDK client
SNAPEX_E2E_BASE_URL=http://127.0.0.1:8765 node test/smoke.mjs   # full flow against a local (never production) server

Support

Chat: https://pay.snapex.pro/#chat · Privacy: https://pay.snapex.pro/privacy · Terms: https://pay.snapex.pro/terms

License

MIT

Reviews

No reviews yet

Be the first to review this server!