Sponsored by Deepsite.site

Mercury X402 Mcp

Created By
mercuryx40214 days ago
Mercury is a pay-per-call MCP server that lets AI agents discover and call financial data tools using the x402 HTTP payment protocol. 18 tools covering crypto prices, DeFi liquidity, NFT data, on-chain analytics, and more. tools/list is free — tools/call is billed per call using your Mercury API key. Connect by URL: https://network.mercury-hq.com/mcp
Overview

.wrap{position:relative;z-index:1;max-width:980px;margin:0 auto;padding:0 22px}

/* top bar / header.bar{display:flex;align-items:center;justify-content:space-between;padding:22px 0 0} .logo{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.16em;font-size:15px} / MERCURY mark — the red planet (radial sphere + glow + inner shadow). The planet is pure red; a small turquoise "settled/live" tick sits at ~1 o'clock. Matches the favicon / agent-card icon exactly. */ .dot{position:relative;width:18px;height:18px;border-radius:50%; background:radial-gradient(circle at 33% 28%,#ff4d6a,#e23b4e 52%,#5e0f1c 100%); box-shadow:0 0 16px rgba(226,59,78,.55), inset -2px -2px 5px rgba(0,0,0,.55)} .dot::after{content:"";position:absolute;top:1px;right:-1px;width:4px;height:4px; border-radius:50%;background:var(--turq);box-shadow:0 0 6px rgba(0,212,170,.9)} .navlink{color:var(--mute);font-size:13.5px;letter-spacing:.04em} .navlink:hover{color:var(--ink);text-decoration:none}

/* honest status banner */ .status{display:flex;gap:12px;align-items:flex-start;margin:26px 0 8px; border:1px solid var(--amber);background:linear-gradient(180deg,rgba(224,163,43,.10),rgba(224,163,43,.04)); border-radius:12px;padding:13px 16px;font-size:13.5px;color:#f0d79a} .status b{color:var(--amber)} .status .pill{flex:0 0 auto;font-size:11px;font-weight:800;letter-spacing:.12em; text-transform:uppercase;color:var(--black);background:var(--amber);border-radius:6px;padding:3px 8px;margin-top:2px}

/* hero */ .hero{padding:30px 0 8px} .kicker{color:var(--turq);font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px} h1{font-size:clamp(30px,5.4vw,52px);line-height:1.08;margin:0 0 18px;font-weight:800;letter-spacing:-.01em} h1 .glow{color:var(--purple);text-shadow:0 0 28px rgba(155,89,182,.45)} h1 .turq{color:var(--turq)} .sub{font-size:18px;color:#cfcfd6;max-width:680px;margin:0 0 26px} .sub b{color:var(--ink)}

.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:8px 0 6px} .btn{display:inline-block;font-weight:700;font-size:15px;letter-spacing:.02em;border-radius:11px;padding:13px 22px;cursor:pointer;border:1px solid transparent;transition:transform .12s ease,box-shadow .12s ease} .btn:hover{text-decoration:none;transform:translateY(-1px)} .btn-primary{background:linear-gradient(135deg,var(--purple),#7a3f96);color:#fff;box-shadow:0 8px 30px rgba(155,89,182,.35)} .btn-primary:hover{box-shadow:0 10px 38px rgba(155,89,182,.5)} .btn-ghost{background:transparent;color:var(--turq);border-color:rgba(0,212,170,.4)} .btn-ghost:hover{border-color:var(--turq);background:rgba(0,212,170,.06)} .cta-note{color:var(--dim);font-size:13px}

/* sections */ section{padding:40px 0;border-top:1px solid var(--line)} section:first-of-type{border-top:none} .eyebrow{color:var(--purple);font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px} h2{font-size:25px;margin:0 0 8px;font-weight:800;letter-spacing:-.01em} .lead{color:var(--mute);max-width:660px;margin:0 0 26px}

/* what your agent gets — cards */ .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px} .card{border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),var(--panel2));border-radius:13px;padding:18px 18px 16px} .card .ic{font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--turq);margin-bottom:8px;display:flex;align-items:center;gap:8px} .card .ic .b{width:7px;height:7px;border-radius:50%;background:var(--turq);box-shadow:0 0 10px var(--turq)} .card h3{font-size:16px;margin:0 0 6px} .card p{margin:0;color:var(--mute);font-size:14px}

/* pricing table / table{width:100%;border-collapse:collapse;font-size:14.5px;border:1px solid var(--line);border-radius:12px;overflow:hidden} thead th{text-align:left;background:var(--panel2);color:var(--mute);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:11px 14px;border-bottom:1px solid var(--line)} tbody td{padding:11px 14px;border-bottom:1px solid var(--line)} tbody tr:last-child td{border-bottom:none} tbody tr:hover{background:rgba(155,89,182,.05)} td .slug{color:var(--turq);font-family:ui-monospace,Menlo,monospace;font-size:13.5px} td .price{color:var(--ink);font-weight:700;font-family:ui-monospace,Menlo,monospace} td .kind{display:inline-block;font-size:11px;letter-spacing:.04em;color:var(--purple);border:1px solid rgba(155,89,182,.4);border-radius:5px;padding:1px 7px;text-transform:uppercase} .price-note{color:var(--dim);font-size:13px;margin-top:12px} .live-tag{display:inline-block;font-size:11px;letter-spacing:.08em;color:var(--turq);border:1px solid rgba(0,212,170,.4);border-radius:5px;padding:1px 8px;text-transform:uppercase;margin-left:10px;vertical-align:middle} .live-tag.stale{color:var(--mute);border-color:var(--line)} / static-fallback row states */ tbody tr.live-sku{background:rgba(0,212,170,.06)} tbody tr.live-sku:hover{background:rgba(0,212,170,.10)} tbody tr.gated{color:var(--dim)} tbody tr.gated .slug{color:var(--mute)} tbody tr.gated .price{color:var(--mute);font-weight:400} .badge-live{display:inline-block;font-size:10.5px;letter-spacing:.06em;color:var(--turq);border:1px solid rgba(0,212,170,.5);border-radius:5px;padding:1px 7px;text-transform:uppercase;margin-left:8px;vertical-align:middle} .badge-gated{display:inline-block;font-size:10.5px;letter-spacing:.04em;color:var(--mute);border:1px solid var(--line);border-radius:5px;padding:1px 7px;text-transform:uppercase}

/* code block */ .codewrap{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#0c0c0c} .codehead{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--panel2);border-bottom:1px solid var(--line);font-size:12.5px;color:var(--mute);letter-spacing:.04em} .codehead .lights{display:flex;gap:6px} .codehead .lights i{width:10px;height:10px;border-radius:50%;display:inline-block;background:#333} .codehead .lights i:nth-child(1){background:#e0392b} .codehead .lights i:nth-child(2){background:var(--amber)} .codehead .lights i:nth-child(3){background:var(--turq)} pre{margin:0;padding:18px 18px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;line-height:1.7;color:#cfcfd6} .c-com{color:#6a8a78} .c-kw{color:var(--purple)} .c-str{color:var(--turq)} .c-fn{color:#d9b3ea} .c-num{color:var(--amber)} .steps{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;color:var(--mute);font-size:13.5px} .steps span{border:1px solid var(--line);border-radius:8px;padding:6px 11px;background:var(--panel)} .steps b{color:var(--turq)}

/* how it works strip */ .flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:8px} .flow .step{border:1px solid var(--line);border-radius:12px;padding:15px;background:var(--panel)} .flow .n{color:var(--purple);font-weight:800;font-size:12px;letter-spacing:.1em} .flow .t{font-weight:700;font-size:15px;margin:5px 0 4px} .flow .d{color:var(--mute);font-size:13px}

/* discover strip */ .discover{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px} .discover a{border:1px solid rgba(0,212,170,.4);border-radius:9px;padding:9px 13px;background:rgba(0,212,170,.04);font-family:ui-monospace,Menlo,monospace;font-size:13.5px} .discover a:hover{border-color:var(--turq);text-decoration:none;background:rgba(0,212,170,.08)}

/* partner / CTA block */ .partner{border:1px solid rgba(155,89,182,.45);border-radius:16px;padding:30px;margin-top:8px; background:radial-gradient(700px 320px at 80% -40%, rgba(155,89,182,.18), transparent 60%),linear-gradient(180deg,var(--panel),var(--panel2))} .partner h2{font-size:27px} .partner ul{margin:14px 0 24px;padding:0;list-style:none;color:#cfcfd6} .partner li{padding:7px 0 7px 26px;position:relative} .partner li::before{content:"→";position:absolute;left:0;color:var(--turq);font-weight:800}

footer{padding:34px 0 50px;color:var(--dim);font-size:13px;border-top:1px solid var(--line)} footer .row{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center} footer .tags{display:flex;flex-wrap:wrap;gap:8px} footer .tag{border:1px solid var(--line);border-radius:6px;padding:3px 9px;color:var(--mute);font-size:11.5px;letter-spacing:.06em} footer .links{display:flex;flex-wrap:wrap;gap:14px} footer .links a{font-family:ui-monospace,Menlo,monospace;font-size:12.5px}

@media (max-width:560px){ .cta-row{gap:10px} .btn{width:100%;text-align:center} .cta-note{order:3} table{font-size:13px} }

Early
This is live on Base mainnet. Everything below settles on Base mainnet in real USDC — real per-call charges, no token, no coin. Built solo, early days. Each call is a real payment your agent signs for a real result — I'm looking for the first agent builders to integrate and shape where this goes. The x402 payment path is real (Coinbase x402-fetch + viem); the dollars are test dollars.
A shop your agent can pay, by itself

Give your agent a wallet
and a shop it can pay over HTTP 402.

MERCURY is an agent-to-agent storefront. Your agent discovers what's for sale, pays with its own wallet, and gets the goods — no human, no signup, no API key, no checkout page. Just an HTTP 402 Payment Required that your agent settles on-chain and retries. Wire it in about 5 lines.

See the 5-line integration Read the discovery doc Pay-per-call · Base mainnet · no signup
What MERCURY gives your agent

Autonomous spending, with rails.

x402 is the missing piece between "my agent can decide" and "my agent can pay." MERCURY is a live seller on the other end of it — a real catalog your agent can browse and buy from on its own.

PAY-PER-CALL

No keys, no accounts

The price ships in the 402 response. Your agent signs, the facilitator settles, you get the result. No onboarding form, no dashboard, no monthly seat.

DISCOVERABLE

A catalog it can read

A free /catalog and a standard /.well-known/x402 doc let your agent find what's for sale and the price before it ever pays. Discovery and checkout can't drift.

REAL DELIVERY

It gets real data today

Web-fetch delivers right now — pass a ?url= and your agent gets clean page text back in the result. Mints (resources, 1-of-1 placeables, agent identity) are delivered on the mainnet step: gated and off until the minter is armed.

BOUNDED BY DESIGN

Pay-per-call

Every charge is real USDC on Base mainnet, signed per call and capped at the exact price shown — your agent never authorizes more than the listed amount for one result.

Priced in x402

What's on the shelf.loading…

Every line is a single HTTP route your agent can hit. Prices are in USDC on Base mainnet. This table hydrates live from /catalog — the same source of truth the pay-gate uses, so it can never drift from what you'll actually be charged.

<table>
  <thead>
    <tr><th>Service</th><th>Route</th><th>Price</th><th>Type</th></tr>
  </thead>
  <tbody id="catalog-rows">
    <!-- Hydrated from /catalog at load. Static fallback below in case JS is off.
         Truth as served: web-fetch = the one route that charges-and-delivers live;
         signal = free $0 demo; mints + metered APIs = gated until the minter is armed. -->
    <tr class="live-sku"><td><span class="slug">web-fetch</span> <span class="badge-live">live</span></td><td class="mono">GET /buy/fetch?url=…</td><td><span class="price">$0.003</span></td><td><span class="kind">api · web-fetch</span></td></tr>
    <tr><td><span class="slug">signal</span></td><td class="mono">GET /buy/signal</td><td><span class="price">$0 — free demo/sample</span></td><td><span class="kind">data</span></td></tr>
    <tr class="gated"><td><span class="slug">matter</span></td><td class="mono">GET /buy/matter</td><td><span class="badge-gated">gated — delivers on the mainnet step</span></td><td><span class="kind">resource</span></td></tr>
    <tr class="gated"><td><span class="slug">brick</span></td><td class="mono">GET /buy/brick</td><td><span class="badge-gated">gated — delivers on the mainnet step</span></td><td><span class="kind">resource</span></td></tr>
    <tr class="gated"><td><span class="slug">antimatter</span></td><td class="mono">GET /buy/antimatter</td><td><span class="badge-gated">gated — delivers on the mainnet step</span></td><td><span class="kind">resource</span></td></tr>
    <tr class="gated"><td><span class="slug">dark-matter</span></td><td class="mono">GET /buy/dark-matter</td><td><span class="badge-gated">gated — delivers on the mainnet step</span></td><td><span class="kind">resource</span></td></tr>
    <tr class="gated"><td><span class="slug">shelf</span></td><td class="mono">GET /buy/shelf</td><td><span class="badge-gated">gated — delivers on the mainnet step</span></td><td><span class="kind">placeable</span></td></tr>
    <tr class="gated"><td><span class="slug">wand</span></td><td class="mono">GET /buy/wand</td><td><span class="badge-gated">gated — delivers on the mainnet step</span></td><td><span class="kind">placeable</span></td></tr>
    <tr class="gated"><td><span class="slug">agent</span></td><td class="mono">GET /buy/agent</td><td><span class="badge-gated">gated — delivers on the mainnet step</span></td><td><span class="kind">agent</span></td></tr>
    <tr class="gated"><td><span class="slug">api-render</span></td><td class="mono">GET /buy/api/render</td><td><span class="badge-gated">gated — delivers on the mainnet step</span></td><td><span class="kind">api</span></td></tr>
    <tr class="gated"><td><span class="slug">api-oracle</span></td><td class="mono">GET /buy/api/oracle</td><td><span class="badge-gated">gated — delivers on the mainnet step</span></td><td><span class="kind">api</span></td></tr>
  </tbody>
</table>
<p class="price-note"><b>Live now:</b> <code>GET /buy/fetch?url=…</code> charges ~$0.003 USDC and returns clean page text — the one route that charges-and-delivers today. <code>signal</code> is a free $0 demo read. The mint and metered-API routes are <b>gated</b> — they deliver on the mainnet step, off until the minter is armed (for those, pass <code>?to=&lt;your-wallet&gt;</code> when it's live so the good is sent to you).</p>
Integrate in minutes

One import. Five lines. Your agent can buy.

It's the real Coinbase x402-fetch + viem under the hood. Wrap your wallet's fetch, hit a paid route, and the 402 → sign → settle → deliver loop runs itself:

<div class="codewrap">
  <div class="codehead">
    <span>agent.mjs</span>
    <span class="lights"><i></i><i></i><i></i></span>
  </div>
import { wrapFetchWithPayment } from "x402-fetch";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.BUYER_PK); // throwaway Base-Sepolia key w/ USDC
const pay = wrapFetchWithPayment(fetch, account);
const res = await pay("https://mercury-x402-jed.fly.dev/buy/fetch?url=https://example.com");
const good = await res.json(); // returns clean page text + title; settles ~$0.003 USDC. Live-delivering route.
</div>

<div class="steps">
  <span><b>1.</b> <code>npm i x402-fetch viem</code></span>
  <span><b>2.</b> fund your agent wallet with a little USDC on Base</span>
  <span><b>3.</b> hit a paid route — settlement happens automatically on retry</span>
</div>

<div class="flow" style="margin-top:26px">
  <div class="step"><div class="n">01</div><div class="t">Agent requests</div><div class="d">Hits a paid route. Gets <code>402</code> + price + terms.</div></div>
  <div class="step"><div class="n">02</div><div class="t">Wallet signs</div><div class="d">The wrapped fetch signs a USDC payment automatically.</div></div>
  <div class="step"><div class="n">03</div><div class="t">Facilitator settles</div><div class="d">Public x402 facilitator settles it on Base mainnet.</div></div>
  <div class="step"><div class="n">04</div><div class="t">MERCURY delivers</div><div class="d">The handler runs and the goods come back in the JSON.</div></div>
</div>

<div style="margin-top:30px">
  <div class="eyebrow">Discover it machine-first</div>
  <div class="discover">
    <a href="/catalog">GET /catalog</a>
    <a href="/.well-known/x402">GET /.well-known/x402</a>
    <span class="cta-note">Both free · JSON · never pay-gated</span>
  </div>
</div>
First integrators wanted

Want to wire your agent in?

I want a handful of agent builders to wire MERCURY into a real agent and tell me what's missing. You get hands-on help, direct input on the catalog, and first position when this goes live.

  • Integrate in ~5 lines — your agent pays only per call, no signup.
  • Direct line to the person building it; your feedback shapes the roadmap.
  • I'll help you wire it into your agent and get the first paid call settling.
  • No token, no pump, no "send us money." Honest, early, real protocol.
MERCURY x402 · agent-to-agent commerce over HTTP 402.
LIVE BASE MAINNET REAL USDC NO TOKEN PAY-PER-CALL BUILT SOLO
Built on the real Coinbase x402 stack (x402-fetch + viem). Payments settle on the Base mainnet in real USDC — live, per-call, no token. This page describes an early but live service and an invitation to integrate.

Server Config

{
  "mcpServers": {
    "mercury-x402-mcp": {
      "command": "npx",
      "args": [
        "mercury-x402-mcp"
      ]
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Playwright McpPlaywright MCP server
RedisA Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Amap Maps高德地图官方 MCP Server
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Tavily Mcp
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
CursorThe AI Code Editor
DeepChatYour AI Partner on Desktop
Serper MCP ServerA Serper MCP Server
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
WindsurfThe new purpose-built IDE to harness magic
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
ChatWiseThe second fastest AI chatbot™
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.