Back to Browse

X402 Research MCP Server

Developer ToolsLow Risk10.0MCP RegistryLocal
Free

Server data from the Official MCP Registry

Pay-per-call x402 crypto research and Base address/approval risk checks. Testnet by default.

About

Pay-per-call x402 crypto research and Base address/approval risk checks. Testnet by default.

Security Report

10.0
Low Risk10.0Low Risk

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

7 files analyzed · 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.

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.

file_system

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

Shell Command Execution

Runs commands on your machine. Be cautious — only use if you trust this plugin.

What You'll Need

Set these up before or after installing:

Network: eip155:84532 (Base Sepolia, default) or eip155:8453 (Base mainnet)Optional

Environment variable: X402_NETWORK

Buyer wallet key that pays per call (capped 0.10 USDC/call, 0.50/session on mainnet)Required

Environment variable: X402_BUYER_PRIVATE_KEY

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-kevinm222-x402-research-mcp": {
      "env": {
        "X402_NETWORK": "your-x402-network-here",
        "X402_BUYER_PRIVATE_KEY": "your-x402-buyer-private-key-here"
      },
      "args": [
        "-y",
        "@agentfirm402/x402-research-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

x402-research-mcp

MCP (stdio) server for the x402-research pay-per-call API. Testnet (Base Sepolia) by default. Base mainnet only if you explicitly set X402_NETWORK=eip155:8453. The publisher never holds keys: payments come from your wallet key, supplied by you via env var, and are capped per call and per session.

[!WARNING] Use a dedicated, low-balance wallet: never your main wallet. Create a fresh key just for this server and fund it with only a few USDC (on mainnet, a little more than your session cap). Anyone or anything that can read your MCP client config or this process's environment can spend that wallet's funds. The caps limit what this server signs, not what a leaked key can do.

New: Preflight before you sign: one paid call (/api/x402/preflight, 0.05 USDC) that checks a Base address's risk, approvals and OFAC status (plus an optional x402 invoice) and returns a proceed / review / stop verdict.

Tools (prices per call, USDC on Base, from /llms.txt)

toolrouteprice
signal(asset)GET /api/signal/{asset}0.003
signal_batch(assets[≤10])GET /api/signal-batch?assets=0.02
brief(asset)GET /api/brief/{asset}0.03
risk_snapshot(address)GET /api/firm/risk-snapshot?address=0.03
invoice_decode(header)POST /api/x402/invoice-decode0.02
settlement_status(tx)GET /api/x402/settlement-status?tx=0.02
approval_enumerate(address)GET /api/x402/approval-enumerate?address=0.03
preflight(address, invoice?)GET /api/x402/preflight?address=[&invoice=]0.05
session_status()localfree

Assets: btc eth sol xrp doge ada avax link dot ltc bch uni aave xlm hbar shib sui near atom fil. Every paid tool also accepts preview: true (return the 402 terms, pay nothing) and max_price_usdc.

Safety

  • Preview mode is on whenever X402_BUYER_PRIVATE_KEY is unset or X402_PREVIEW=1: tools return the decoded 402 terms and never sign.
  • Per-call max X402_MAX_PRICE_USDC (default 0.10). A tool's max_price_usdc can only lower it.
  • Session cap X402_SESSION_CAP_USDC (default 0.50). A call that would push spend over the cap is refused before signing. Spend is counted when a signed payment is sent. It resets when the server process restarts.
  • Offers are refused if they're above the advertised price, on another network, not the exact scheme, or in a non-canonical USDC asset.
  • payTo allowlist (hardcoded): signal, signal_batch and brief pay only 0xacfca8bc6567e7db35ad8c814756695dad1cfb30. risk_snapshot, invoice_decode, settlement_status, approval_enumerate and preflight pay only 0xa26f179e42836bc4ae0cea997fdfc9602d5b8147. Any other recipient is refused, even if X402_RESEARCH_URL points elsewhere.
  • The server never logs its environment or the key, and error messages don't echo config.
  • There is no way to pass in a pre-signed payment: every payment is signed by this server under the caps above.
  • Use a dedicated hot wallet holding only a few USDC. The key stays in the local process and is never logged or returned.

Config

vardefault
X402_NETWORKeip155:84532 (Base Sepolia). Set eip155:8453 for Base mainnet
X402_RESEARCH_URLhttps://x402-research-iota.vercel.app (mainnet-only; testnet needs a Sepolia deployment)
X402_BUYER_PRIVATE_KEYunset → preview only
X402_MAX_PRICE_USDC / X402_SESSION_CAP_USDC0.10 / 0.50
X402_PREVIEWunset (1 forces preview)

Install

Claude Desktop (claude_desktop_config.json) or Cursor (~/.cursor/mcp.json):

{
  "mcpServers": {
    "x402-research": {
      "command": "npx",
      "args": ["-y", "@agentfirm402/x402-research-mcp"],
      "env": {
        "X402_NETWORK": "eip155:8453",
        "X402_PREVIEW": "1"
      }
    }
  }
}

Start in preview. To pay, remove X402_PREVIEW and add "X402_BUYER_PRIVATE_KEY": "0x…" (a dedicated low-balance wallet, never your main one), and optionally "X402_SESSION_CAP_USDC": "0.25".

Tests

npm test runs offline against local mocks with throwaway keys and no funds. It covers unit refusals for each check, preview with no key, and a stdio leak test that greps all stdout and stderr for /0x[0-9a-fA-F]{64}/. npm run test:mainnet-preview makes live mainnet 402 calls in preview mode and pays nothing.

Release

Dependencies are pinned exactly, with a committed lockfile. Publishing happens only through .github/workflows/mcp-publish.yml (manual dispatch, npm publish --provenance).

Informational only. Not financial advice. MIT.

Reviews

No reviews yet

Be the first to review this server!