CCXT
Official CCXT MCP server - Market data and trading across 100+ exchanges and prediction markets
Treasury/FRED financial data over x402: pay-per-call US yields, macro and forex in USDC on Base
选择你使用的 AI 应用,然后复制设置。
通过 5/5 项检查 · 你的提问会经过开发者的服务器(mcp.mercury402.com) · ✓ 命令已检查 2026年11月13日
第一步:你用哪个 AI?
选择你用的应用,步骤会显示在下方。
可连接 Claude · 约 2 分钟
不需要密钥,不用安装程序 · 在 claude.ai 或桌面应用设置一次,即可在聊天中使用 · 免费账户可添加 1 个 · Team/Enterprise 方案由所有者(Owner)添加
CustomizeConnectors
把这里的内容复制到 Claude 中同名的输入框,然后点击 Continue
Mercury402: Treasury/FRED financial data over x402https://mcp.mercury402.com/mcp在 Claude 检测到的登录设置页点击 Continue · Authentication 按作者说明选择(Sign in now、Sign in when needed 或 No sign in),然后点击 Add
+ConnectorsMercury402: Treasury/FRED financial data over x402
用 Mercury402: Treasury/FRED financial data over x402 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Claude 说正在使用 Mercury402: Treasury/FRED financial data over x402,或回答中出现 Mercury402: Treasury/FRED financial data over x402 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同
能否连接 ChatGPT 取决于方案
完整 MCP:网页版 ChatGPT Business、Enterprise 或 Edu · Pro:以读取/获取权限连接,修改数据的工具可能用不了 · Plus:官方文档尚未确认,如果在插件页看到添加自定义 MCP 的选项可以试试 · 仅限网页
Plugins+Add custom MCP server
输入名称,在 Connection 下粘贴地址,勾选风险提示,然后点击 Create as a plugin
Mercury402: Treasury/FRED financial data over x402https://mcp.mercury402.com/mcp开启新聊天,输入前先从插件列表中选择 Mercury402: Treasury/FRED financial data over x402
用 Mercury402: Treasury/FRED financial data over x402 告诉我你能帮我做什么,然后做一件给我看✓ 如果 ChatGPT 说正在使用 Mercury402: Treasury/FRED financial data over x402,或回答中出现 Mercury402: Treasury/FRED financial data over x402 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 OpenAI 帮助页面核实 · 你的界面可能因版本略有不同
可连接 Claude Code · 约 2 分钟
不需要密钥,不用安装程序
Mac:按 Command+空格,输入 Terminal · Windows:打开 PowerShell
claude mcp add --transport http --scope user mercury402 https://mcp.mercury402.com/mcp应能看到 Mercury402: Treasury/FRED financial data over x402 在列表中并显示已连接
用 Mercury402: Treasury/FRED financial data over x402 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Claude Code 说正在使用 Mercury402: Treasury/FRED financial data over x402,或回答中出现 Mercury402: Treasury/FRED financial data over x402 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同
可连接 Cursor · 约 2 分钟
不需要密钥,不用安装程序
用 Mercury402: Treasury/FRED financial data over x402 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Cursor 说正在使用 Mercury402: Treasury/FRED financial data over x402,或回答中出现 Mercury402: Treasury/FRED financial data over x402 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Cursor 帮助页面核实 · 你的界面可能因版本略有不同
可连接 VS Code · 约 2 分钟
不需要密钥,不用安装程序
用 Mercury402: Treasury/FRED financial data over x402 告诉我你能帮我做什么,然后做一件给我看✓ 如果 VS Code 说正在使用 Mercury402: Treasury/FRED financial data over x402,或回答中出现 Mercury402: Treasury/FRED financial data over x402 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 VS Code 帮助页面核实 · 你的界面可能因版本略有不同
其他支持 MCP 的应用(如 Windsurf、Zed、Gemini CLI)添加方式各不相同,请在应用列表中查看
通过网页连接的应用使用的地址
https://mcp.mercury402.com/mcpJSON 设置在下方“开发者专用”中
Claude Code
claude mcp add --transport http --scope user mercury402 https://mcp.mercury402.com/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"mercury402": {
"url": "https://mcp.mercury402.com/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"mercury402": {
"type": "http",
"url": "https://mcp.mercury402.com/mcp"
}
}
}Claude Code
claude mcp add --scope user mercury402 --env MERCURY402_PAYER_PRIVATE_KEY=your-value --env MERCURY402_MAX_PRICE_USD=your-value -- npx -y mercury402-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"mercury402": {
"command": "npx",
"args": [
"-y",
"mercury402-mcp"
],
"env": {
"MERCURY402_PAYER_PRIVATE_KEY": "your-value",
"MERCURY402_MAX_PRICE_USD": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"mercury402": {
"command": "npx",
"args": [
"-y",
"mercury402-mcp"
],
"env": {
"MERCURY402_PAYER_PRIVATE_KEY": "your-value",
"MERCURY402_MAX_PRICE_USD": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"mercury402": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mercury402-mcp"
],
"env": {
"MERCURY402_PAYER_PRIVATE_KEY": "your-value",
"MERCURY402_MAX_PRICE_USD": "your-value"
}
}
}
}MERCURY402_PAYER_PRIVATE_KEY 机密 envMERCURY402_MAX_PRICE_USD env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
依据这个服务器的连接方式和各应用自己的文档,检查于 2026年11月10日。
通过互联网连接,适用于
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
在你的电脑上运行,适用于
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
工具名称和描述与服务器在 2026年11月12日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
list_endpointsList Mercury402 financial data endpoints (78 total) with path, method, category, description, price in USD (paid per call in USDC on Base via x402) and accepted parameters. Free; makes no network calls.
get_endpoint_dataCall a Mercury402 endpoint on the live API. This hosted endpoint is discovery-only: endpoints return HTTP 402 and this tool returns the price and x402 payment instructions instead of data. Pay with your own x402 client, or run mercury402-mcp locally (npx -y mercury402-mcp) with y
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月13日
提问、分享技巧或报告无法使用。按“有帮助”数量排序。
还没有评价
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 5 项适用的基础检查中通过了 5 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:MERCURY402_PAYER_PRIVATE_KEY
两种方式都可以:安装在你的电脑上,或者连接云端版本。
GitHub 仓库最后更新于14天前,最新版本(0.1.4)于18天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,因此也能用于接受远程 MCP 的应用,例如网页版 ChatGPT(Business 及以上为完整 MCP;Pro 为只读)。
同一分类中有:CCXT, Finance Toolkit, AKQuant
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Official CCXT MCP server - Market data and trading across 100+ exchanges and prediction markets
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Write and backtest trading strategies with AKQuant: API lookup, strategy checks, backtest runs
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
An MCP server that lets Claude and other MCP clients discover and call Mercury402's pay-per-call financial data API: Treasury yields, FRED series, forex, yield spreads, breakeven inflation, macro bundles, composites and AI briefings.
Mercury402 is paid per call with x402: an unpaid request returns HTTP 402 with a payment descriptor; the client pays USDC on Base and gets JSON back.
MERCURY402_PAYER_PRIVATE_KEY and the server pays the 402 (USDC on Base, capped per call) and returns the data.| Tool | What it does | Network | Spends money |
|---|---|---|---|
list_endpoints | Lists all 78 endpoints: path, method, category, description, price (USD), parameters. Optional category and search filters. | No | No |
get_endpoint_data | Calls an endpoint on the live API. Returns the data, or the 402 quote + how to pay. | Yes | Only in paid mode |
get_endpoint_data arguments| Arg | Type | Notes |
|---|---|---|
path | string | Catalog path. Path params inline (/v1/fred/UNRATE) or as a template (/v1/fred/{series_id}) |
params | object | Path params, plus query params (GET) or JSON body fields (POST) |
pay | boolean | Paid mode only. false = return the quote without paying. Default true |
Only paths in the catalog can be called; anything else is rejected before a request is made.
Requires Node.js 20.10+. The package is mercury402-mcp on npm; MCP clients can launch it with npx, so there is nothing to install by hand.
npx -y mercury402-mcp # starts the server on stdio (what MCP clients do for you)
claude mcp add mercury402 -- npx -y mercury402-mcp
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop:
{
"mcpServers": { "mercury402": { "command": "npx", "args": ["-y", "mercury402-mcp"] } } }
By default the server never spends money: it lists endpoints and returns price quotes. To have it pay per call, give it a payer wallet:
Warning: the private key is stored in plaintext in your MCP client config
(
claude_desktop_config.json, or~/.claude.jsonfor Claude Code). Use a **dedicated wallet holding only
a small USDC balance on Base**, never your main wallet, and keep
MERCURY402_MAX_PRICE_USDlow. With
Claude Code, don't add the key with
--scope project: that writes it to.mcp.json, which is usually
committed to git.
Claude Code:
claude mcp add mercury402 \
-e MERCURY402_PAYER_PRIVATE_KEY= \ -e MERCURY402_MAX_PRICE_USD=0.50 \ -- npx -y mercury402-mcp
Claude Desktop:
{
"mcpServers": { "mercury402": { "command": "npx", "args": ["-y", "mercury402-mcp"], "env": { "MERCURY402_PAYER_PRIVATE_KEY": " ", "MERCURY402_MAX_PRICE_USD": "0.50" } } } }
git clone https://github.com/dudman1/mercury402.git
cd mercury402/mcp-server npm install npm run build
Then point your client at the built file instead of npx:
claude mcp add mercury402 -- node /absolute/path/to/mercury402/mcp-server/dist/index.js
{
"mcpServers": { "mercury402": { "command": "node", "args": ["/absolute/path/to/mercury402/mcp-server/dist/index.js"] } } }
npx -y mercury402-mcp --http # http://127.0.0.1:3402/mcp (stateless, JSON responses)
Stateless streamable HTTP: POST /mcp speaks MCP, GET / describes the server, and GET /healthz is a local health check. The HTTP endpoint has no authentication. It binds to 127.0.0.1 by default, checks the Host header against an allowlist (loopback names plus MCP_HTTP_ALLOWED_HOSTS), rate-limits per client IP and globally, and caps request bodies.
Paid mode over HTTP is loopback-only. The server refuses to start with MERCURY402_PAYER_PRIVATE_KEY set together with a non-loopback MCP_HTTP_HOST, a public MCP_HTTP_ALLOWED_HOSTS entry, MCP_HTTP_TRUST_PROXY, or MCP_PUBLIC_URL. In paid mode it also rejects browser requests (any Origin header). To serve it publicly behind a reverse proxy in free mode, see deploy/HOSTED.md.
| Variable | Default | Description |
|---|---|---|
MERCURY402_PAYER_PRIVATE_KEY | unset (paid mode off) | EVM private key (hex, 0x optional) of the wallet that pays, in USDC on Base. Setting it turns on paid mode. It ends up in plaintext in your client config, so use a dedicated low-balance wallet. The server only uses it in-process to sign payments; it is never logged or returned by any tool or error |
MERCURY402_MAX_PRICE_USD | 0.50 | Per-call spending cap in USD. A 402 quote above this is returned to the agent instead of being paid. Current prices are $0.05–$0.50 per call; range FRED queries cost 2× |
MERCURY402_API_URL | https://api.mercury402.com | API base URL (https://mercury402.uk also works) |
MERCURY402_TIMEOUT_MS | 60000 | Per-request timeout (paid calls wait for on-chain settlement) |
MCP_HTTP_HOST / MCP_HTTP_PORT | 127.0.0.1 / 3402 | HTTP transport bind address (only with --http) |
MCP_HTTP_ALLOWED_HOSTS | unset | Comma-separated extra Host header names to accept (e.g. mcp.example.com behind a proxy). Loopback names are always accepted; anything else gets 403 |
MCP_HTTP_TRUST_PROXY | false | Rate-limit on Cloudflare's CF-Connecting-IP instead of the socket address. Enable only behind cloudflared/Cloudflare: the header is spoofable otherwise. X-Forwarded-For is never used |
MCP_HTTP_RATE_LIMIT_PER_MIN | 60 | POST /mcp requests per client IP per minute (0 disables) |
MCP_HTTP_GLOBAL_RATE_LIMIT_PER_MIN | 600 | POST /mcp requests per minute across all clients (0 disables) |
MCP_HTTP_MAX_BODY_BYTES | 65536 | Largest accepted request body; larger gets 413 |
MCP_PUBLIC_URL | unset | Public /mcp URL that GET / advertises. Setting it marks the server as public, so paid mode refuses to start |
List the Treasury endpoints:
{ "name": "list_endpoints", "arguments": { "category": "treasury" } }
Categories: ai, breakeven-inflation, composite, forex, fred, macro, treasury, yield-spread.
Get a FRED series (free mode returns a quote):
{ "name": "get_endpoint_data", "arguments": { "path": "/v1/fred/UNRATE", "params": { "limit": 12 } } }
PAYMENT REQUIRED (HTTP 402) for https://api.mercury402.com/v1/fred/UNRATE?limit=12: $0.05 (50000 USDC atomic units on base, pay to 0x…). Payment required. Paid mode is disabled (MERCURY402_PAYER_PRIVATE_KEY not set).
{ "status": "payment_required", "quote": { "price_usd": 0.05, "amount_usdc_atomic": "50000", "network": "base", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "pay_to": "0x…", "scheme": "exact", "x402_version": 1 }, "how_to_pay": ["…"], ... }
Historical yield curve (POST, params become the JSON body):
{
"name": "get_endpoint_data", "arguments": { "path": "/v1/treasury/yield-curve/historical", "params": { "start_date": "2026-07-01", "end_date": "2026-09-30" } } }
Ask the data (AI, POST):
{
"name": "get_endpoint_data", "arguments": { "path": "/v1/ai/ask", "params": { "question": "Is inflation cooling?", "series": ["/v1/fred/cpi", "/v1/fred/pce-core"] } } }
Quote only, even in paid mode:
{ "name": "get_endpoint_data", "arguments": { "path": "/v1/composite/economic-dashboard", "pay": false } }
In paid mode a successful call returns status: "ok", the endpoint's JSON under data, and a payment block with the price, payer address and decoded PAYMENT-RESPONSE settlement (transaction hash).
x402Version: 1, network base) is used; the v2 Payment-Required header is a fallback.exact / USDC-on-Base option and checks it: network base (or eip155:8453), asset = Base USDC (0x8335…2913), price ≤ MERCURY402_MAX_PRICE_USD. Otherwise it returns the quote and does not pay.transferWithAuthorization for exactly the quoted amount (locally, with a fresh random nonce) and resends the request with a PAYMENT-SIGNATURE header containing base64 JSON { x402Version: 2, accepted: , payload: { authorization, signature } }, the same shape that Mercury402's server verifies (require402Payment()). Mercury402 settles on-chain and returns the data.Security notes: use a dedicated hot wallet with a small balance, because the key sits in plaintext in your client config. The server only reads it from the environment, uses it in-process for signing, and never logs, echoes, or includes it in tool output or errors.
/v1/fred/{series_id} costs 2× when both observation_start and observation_end are supplied.From a checkout of dudman1/mercury402:
npm test # vitest; HTTP and payments are mocked, no network, no real transactions
npm ci at thenpm run typecheck npm run generate:catalog # regenerate src/catalog.json after changing ../src/pricing.js or routes npm pack --dry-run # inspect the publish tarball
The endpoint catalog (src/catalog.json) is generated from ../src/catalog.js, the same module that builds the API's JSON manifest and /llms.txt (it reads src/pricing.js, src/new-routes.js and src/ai-routes.js). Tests in both packages fail if it drifts from src/pricing.js. tsc bakes the catalog into dist/catalog.json, so the published package never reads the repo at runtime; prepublishOnly regenerates the catalog, rebuilds, and runs the tests.