A community-driven registry for the Claude Code ecosystem. Not affiliated with Anthropic.
MCP server for ERC-8004 agent discovery + x402 payment. No smart account, no relay — just EOA signing. Works with Claude
An MCP server that lets your AI coding agent (Claude Code, OpenClaw, Codex, Cursor, etc.) discover and call on-chain agents — and pay them automatically using Coinbase's x402 protocol.
Agents register themselves on ERC-8004, Ethereum's agent identity standard. This server bridges that registry with x402 payment so your existing tool runtime can find and pay arbitrary on-chain agents in a single tool call — no smart account, no bundler, no relay. Just your EOA, an HTTPS request, and an automatic 402 → sign → retry flow.
Who this is for: developers building or using AI coding agents who want to reach into the on-chain agent ecosystem without wiring up a custom discovery or payment stack.
Three tools, exposed via Model Context Protocol:
| Tool | What it does | Source of truth |
|---|---|---|
find_agents_by_skill | Search the ERC-8004 registry for agents matching a skill keyword. Returns id, chain, name, description, endpoint, and x402-support flag. | 8004scan.io public API + semantic search |
get_agent_card | Fetch one agent's full ERC-8004 registration card (name, services, x402 support, trust models, owner address). | 8004scan, falls back to direct RPC |
call_agent_with_payment | HTTP call an agent endpoint. If the agent returns HTTP 402, sign an x402 payment using your EOA and retry — automatically. | x402-fetch (Coinbase official) |
The whole server is ~250 lines of TypeScript. No smart contract account, no bundler, no third-party relay — payment is direct EOA signing per the x402 spec.
The pieces of an agent-to-agent economy are now real:
But there was no clean "glue" that lets a Claude Code / OpenClaw / Cursor user just discover and pay an arbitrary on-chain agent from inside their existing tool. Existing options like @azeth/mcp-server bundle ERC-4337 smart accounts and a custom trust layer on top — which forces a bundler/relay dependency that can fail in practice on testnets.
This server skips all of that. It uses:
x402-fetch for payment — wraps native fetch to handle 402s automaticallyThe result: install, set one env var, and your agent runtime can call any x402 agent in the ERC-8004 registry.
This is a working v0.1.0 with real infrastructure underneath it, but the ecosystem is still early.
x402-fetch library and EOA signing.x402Support: true in their metadata but don't enforce a paywall on their endpoint — they accept calls for free or return 404. The flag is self-declared; nobody verifies it yet. Most production x402 traffic today flows through managed platforms (Coinbase Agent.market, AWS Bedrock AgentCore, etc.). The permissionless registry flow is real but early.See Roadmap for what's planned next.
Requires Node ≥ 20
git clone https://github.com/claynsn/agent-discovery-mcp
cd agent-discovery-mcp
npm install
npm run build
Set your wallet's private key (this is the EOA that will sign x402 payments):
export TEST_WALLET_KEY=0x...your-64-hex-private-key
TEST_WALLET_KEYis only required forcall_agent_with_payment. The discovery tools (find_agents_by_skill,get_agent_card) work without it.
macOS LaunchAgent users (e.g. OpenClaw): use launchctl setenv instead, since LaunchAgent processes don't inherit your shell env:
launchctl setenv TEST_WALLET_KEY 0x...
Add to .mcp.json in your project root or ~/.claude/mcp_settings.json:
{
"mcpServers": {
"agent-discovery": {
"command": "node",
"args": ["/absolute/path/to/agent-discovery-mcp/dist/index.js"],
"env": {
"TEST_WALLET_KEY": "${TEST_WALLET_KEY}"
}
}
}
}
Add to ~/.openclaw/openclaw.json under mcp.servers:
{
"mcp": {
"servers": {
"agent-discovery": {
"command": "node",
"args": ["/absolute/path/to/agent-discovery-mcp/dist/index.js"],
"env": {
"TEST_WALLET_KEY": "${TEST_WALLET_KEY}"
}
}
}
}
}
Then openclaw gateway restart.
Standard MCP stdio server. Point your client at node /path/to/dist/index.js.
In your AI coding agent, just ask:
Find me 5 agents on Base mainnet that can do text summarization, only ones supporting x402.
The agent calls find_agents_by_skill({ skill_keyword: "summarization", chain_id: 8453, x402_only: true, limit: 5 }) and returns real on-chain agents.
Then:
Call agent #25886 at its primary endpoint with the text "...long article...", pay max $0.05 USDC.
The agent calls call_agent_with_payment({ endpoint: "...", payload: { text: "..." }, max_pay_usdc: 0.05, chain_id: 8453 }). If the server responds 402, the EOA signs an EIP-3009 USDC authorization, retries, and returns the result.
find_agents_by_skill{
skill_keyword: string; // e.g. "summarization", "code review", "price feed"
limit?: number; // 1-50, default 10
chain_id?: number; // e.g. 8453 (Base), 1 (Ethereum), 56 (BSC)
x402_only?: boolean; // filter to agents advertising x402 support
}
get_agent_card{
agent_id: number; // ERC-8004 token ID
chain_id: number; // e.g. 8453
}
call_agent_with_payment{
endpoint: string; // full HTTPS URL
payload?: unknown; // JSON body (omit for GET)
max_pay_usdc: number; // max USDC willing to pay, e.g. 0.10
chain_id?: number; // settlement chain, default 8453
}
| Chain ID | Network | x402 settlement | Discovery |
|---|---|---|---|
| 1 | Ethereum Mainnet | ✅ | ✅ |
| 8453 | Base Mainnet | ✅ | ✅ |
| 56 | BSC | — | ✅ |
| 84532 | Base Sepolia | ✅ | ✅ |
| 11155111 | Ethereum Sepolia | ✅ | ✅ |
┌───────────────────────┐ ┌──────────────────────┐
│ Claude Code / │ MCP │ agent-discovery-mcp │
│ OpenClaw / Cursor │ ──────▶ │ (this server) │
└───────────────────────┘ stdio └──────────┬───────────┘
│
┌───────────────────┼───────────────────┐
│ │ │
▼ ▼ ▼
┌────────────┐ ┌────────────┐ ┌─────────────┐
│ 8004scan │ │ Base RPC │ │ x402-fetch │
│ public API │ │ (fallback) │ │ (Coinbase) │
│ discovery │ │ tokenURI │ │ EOA signs │
└────────────┘ └────────────┘ │ EIP-3009 │
└─────────────┘
No smart-contract account. No bundler. No relay. Your EOA signs, x402-fetch retries, agent's facilitator settles.
This package is listed on CodeGuilds, a directory of MCP servers and AI agent tools.
find_agents_by_skill (filter out 404 demo deployments)x402Support claim by probing endpoint for 402 responsemax_pay_usdc parameter)MIT
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
English-first Korean equity intelligence MCP — DART filings, foreign-holder 5%-rule flows, activist filings, KRX news. F
Unity MCP acts as a bridge between AI assistants and your Unity Editor. Give your LLM tools to manage assets, control sc