Back to Browse

Fiatdock MCP Server

Developer ToolsLow Risk9.0MCP RegistryLocalRemote
Free

Server data from the Official MCP Registry

Cash out an AI agent's USDC to a real bank account (non-custodial). Plus Base data + a marketplace

About

Cash out an AI agent's USDC to a real bank account (non-custodial). Plus Base data + a marketplace

Remote endpoints: streamable-http: https://fiatdock.com/mcp

Security Report

9.0
Low Risk9.0Low Risk

Valid MCP server (2 strong, 3 medium validity signals). 1 known CVE in dependencies (0 critical, 1 high severity) Package registry verified. Imported from the Official MCP Registry.

18 tools verified · Open access · 2 issues 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.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

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

What You'll Need

Set these up before or after installing:

FiatDock API base URLOptional

Environment variable: FIATDOCK_URL

Install only the tool groups you need, so unused tools don't take up your agent's context: 'ramp' (4 tools: quotes, USDC<->bank sessions, order status), 'data' (11 tools: token price/safety/report, gas, balances, tx status, address intelligence), 'marketplace' (3 tools: search, inspect and pay for other agents' MCP services). Comma-separate to combine, e.g. 'ramp,marketplace'. Default: all 18. An unrecognised value serves all tools rather than none.Optional

Environment variable: FIATDOCK_TOOLS

Agent wallet key that auto-pays the x402 fee for paid tools ($0.001-$0.05 depending on the tool, plus whatever a marketplace seller charges). Optional: the five free tools (get_quote, get_order_status, token_price, search_services, get_service) work without it. Use a dedicated low-balance wallet.Required

Environment variable: AGENT_PRIVATE_KEY

Price-bait guard for call_service: refuse to pay if a paid gateway call's total x402 charge exceeds this many USD. Optional (default: no ceiling); overridable per call via the maxPriceUsd argument.Optional

Environment variable: FIATDOCK_MAX_PRICE_USD

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.

fiatdock-mcp

A marketplace where AI agents discover and pay each other per call in USDC over x402 — settlement goes straight to the seller's wallet, so there are no accounts, no API keys and no subscriptions. Plus first-party on-chain Base data, token-safety screening, and a non-custodial USDC ↔ bank ramp (conversion, KYC and custody are handled by a licensed, regulated payment partner; FiatDock never touches funds).

Setup — two steps

# 1. Give the agent a payment wallet (the step everyone skips — without it every paid
#    tool stops at an HTTP 402 "payment required" challenge and NOTHING works past free):
#    create a FRESH wallet, fund it with a few USDC on Base, and export its key:
export AGENT_PRIVATE_KEY=0x...   # dedicated low-balance wallet — never your main key

# 2. Run the server — 18 MCP tools over stdio, paid calls settle automatically:
npx -y fiatdock-mcp

No wallet yet? Everything marked free below still works — start with get_quote and token_price, add the wallet when you want the paid tools.

4 ramp tools (USDC ↔ your own bank) + 11 data tools (crypto + on-chain intelligence) + 3 marketplace tools (discover & call other agents' MCP services) — all non-custodial. Take only the group you need with FIATDOCK_TOOLS:

ToolCostWhat it does
get_quotefreeLive rate + the exact amount received, net of every provider fee (incl. the 1% service commission)
create_offramp_session$1.00 USDC via x402Agent's USDC → owner's own bank account; returns a one-time checkoutUrl
create_onramp_session$1.00 USDC via x402Owner's own fiat → USDC to the agent's wallet (address locked)
get_order_statusfreeTrack an order by partnerOrderId
token_pricefreeReal-time price/liquidity/volume/change for any EVM token by contract address (DexScreener), or a major symbol spot price
token_safety$0.01 USDC via x402On-chain safety verdict (honeypot / tax / owner-privilege / holder-concentration) safe|caution|danger (GoPlus + DexScreener); not charged if data unavailable
stablecoin_intel$0.002 USDC via x402Stablecoin supply, $1.00 peg deviation & per-chain breakdown incl. Base (DefiLlama); not charged if data unavailable
gas_price$0.001 USDC via x402Base gas price (wei + gwei)
block_number$0.001 USDC via x402Base latest block height + timestamp
eth_balance$0.001 USDC via x402ETH balance of any address on Base
usdc_balance$0.001 USDC via x402USDC balance of any address on Base
token_metadata$0.002 USDC via x402ERC-20 name / symbol / decimals / total supply on Base
tx_status$0.001 USDC via x402Base tx: success or failed, block, confirmations, gas, from/to
address_intel$0.005 USDC via x402Enrich any Base address — EOA/contract/ERC-20, nonce, ETH+USDC balance, keyless security verdict (phishing / sanctioned / mixer)
token_report$0.05 USDC via x402Full ERC-20 report in ONE call: price + liquidity + volume and the complete safety verdict
search_servicesfreeSearch the FiatDock marketplace of MCP services — matches each listed server's own tool names, not just its description
get_servicefreeOne listing's full detail + how to call it
call_serviceper-listing (x402)Invoke a listed service. Paid calls settle 99% → seller + 1% → FiatDock (100% → seller during that seller's first month), non-custodially. Pays automatically from AGENT_PRIVATE_KEY, or pass your own signed payment — see below
  • Remote endpoint (no install): https://fiatdock.com/mcp — Streamable HTTP, stateless, CORS-enabled. It holds no key, so paid tools answer with the x402 402 challenge — and you can complete the purchase from there by signing it yourself (below).

Buying with your own wallet

AGENT_PRIVATE_KEY is the easy path, but it is one wallet chosen at install time. If your agent has its own signer — Coinbase AgentKit, a wallet MCP server, anything — buy in two calls on either transport:

1. call_service({id, args})            -> 402: { paymentRequired, howToPay }
2. sign every entry in paymentRequired.accepts, base64 the x402 payload
3. call_service({id, args, payment})   -> the seller's response

Send the same id and args on the second call — the request quoted in the 402 is the request that gets paid for. A caller-supplied payment takes precedence over AGENT_PRIVATE_KEY (and skips FIATDOCK_MAX_PRICE_USD, which exists to bound automatic spending, not yours). A 402 charges nothing — it is the price, not a bill, so retrying is always safe.

  • Official MCP Registry: com.fiatdock/fiatdock-mcp
  • No MCP? GET https://fiatdock.com/tools.json — the same tools as OpenAI/Gemini function-calling schemas mapped to the plain REST API.
  • Per-client setup (Claude Desktop/Code, Cursor, VS Code, Windsurf, Gemini CLI, OpenAI Agents SDK, LangChain, CrewAI): docs/INTEGRATIONS.md · runnable examples: docs/examples/

Compliance (binding): users must be 18+, in Portugal or supported EU/EEA countries (not available in the UK or restricted countries). Own-account rule: the wallet sending crypto and the bank account receiving fiat must belong to the same person — the agent's owner. No third-party funds, no aggregation, no person-to-person transfers. Crypto is volatile; quotes are indicative; nothing here is investment advice. Terms · Privacy · Risk warning

Environment

VariableRequiredPurpose
FIATDOCK_URLno (default https://fiatdock.com)FiatDock API base URL
FIATDOCK_TOOLSno (default all)Install only the tool groups you need, so the rest don't take up your agent's context. See below.
AGENT_PRIVATE_KEYonly for paid toolsAgent wallet key used to auto-pay the $1.00 x402 fee. Without it, free tools still work and paid tools return the 402 challenge. Use a dedicated low-balance wallet; never your main key.
FIATDOCK_MAX_PRICE_USDno (default: no ceiling)Price-bait guard for call_service: refuse to pay if a paid gateway call's total x402 charge exceeds this many USD. Overridable per call via the maxPriceUsd argument.

Pick your tools — FIATDOCK_TOOLS

All 18 tools install by default. A tool list is the first thing a model reads, so if you only came for one thing, take only that:

GroupToolsFor
ramp4Quotes, USDC↔bank sessions, order status
data11Token price/safety/report, gas, balances, tx status, address intelligence
marketplace3Find, inspect and pay for other agents' MCP services
FIATDOCK_TOOLS=ramp                # just the cash-out surface (4 tools)
FIATDOCK_TOOLS=ramp,marketplace    # cash out + buy from other agents (7 tools)
# unset, or "all"                  # everything (18 tools)

An unrecognised value serves all tools rather than none — a typo should never leave you with an empty server. Switching off marketplace also withdraws the fiatdock://catalog resource, so nothing marketplace-related enters your context.

Resources

fiatdock://fees · fiatdock://coverage · fiatdock://catalog — the live marketplace catalog (name, price per call, category, tool count and a sample of tool names), so your agent knows what is for sale without spending a tool call to ask.

Claude Desktop / Cursor / Windsurf / Gemini CLI

All four read the same mcpServers shape (file: claude_desktop_config.json, ~/.cursor/mcp.json, ~/.codeium/windsurf/mcp_config.json, ~/.gemini/settings.json):

{
  "mcpServers": {
    "fiatdock": {
      "command": "npx",
      "args": ["-y", "fiatdock-mcp"],
      "env": { "AGENT_PRIVATE_KEY": "0x..." }
    }
  }
}

Claude Code

claude mcp add fiatdock -e AGENT_PRIVATE_KEY=0x... -- npx -y fiatdock-mcp
# or remote, no install (free tools + x402 challenges):
claude mcp add --transport http fiatdock https://fiatdock.com/mcp

VS Code (Copilot agent mode)

.vscode/mcp.json:

{
  "servers": {
    "fiatdock": { "type": "stdio", "command": "npx", "args": ["-y", "fiatdock-mcp"], "env": { "AGENT_PRIVATE_KEY": "0x..." } }
  }
}

OpenAI Agents SDK / LangChain / CrewAI

All three consume MCP servers natively — point them at npx -y fiatdock-mcp (stdio) or https://fiatdock.com/mcp (Streamable HTTP):

# OpenAI Agents SDK
from agents.mcp import MCPServerStdio
async with MCPServerStdio(params={"command": "npx", "args": ["-y", "fiatdock-mcp"],
                                  "env": {"AGENT_PRIVATE_KEY": "0x..."}}) as fiatdock: ...

# LangChain (langchain-mcp-adapters)
from langchain_mcp_adapters.client import MultiServerMCPClient
client = MultiServerMCPClient({"fiatdock": {"transport": "streamable_http", "url": "https://fiatdock.com/mcp"}})

# CrewAI (crewai-tools)
from crewai_tools import MCPServerAdapter
tools = MCPServerAdapter({"url": "https://fiatdock.com/mcp", "transport": "streamable-http"})

How a typical off-ramp flows

  1. get_quote (free) — agent checks the rate and the full fee breakdown.
  2. create_offramp_session — pays $1.00 in USDC automatically via x402, receives checkoutUrl + partnerOrderId.
  3. The agent forwards checkoutUrl to its human owner (valid ~2 hours). The owner gives the provider a phone number and email; identity documents are needed only above ~CHF 999 per rolling 30 days — no account, no password.
  4. get_order_status (or a signed callback) confirms COMPLETED.

Security

Found a vulnerability? Please report it privately to osama@fiatdock.com — see SECURITY.md. Never open a public issue for security reports.

License

MIT

Reviews

No reviews yet

Be the first to review this server!