{
  "markdown": "# wallettriage-mcp\n\n<!-- mcp-name: io.github.wallettriage/wallettriage-mcp -->\n\nMCP server for [WalletTriage](https://wallettriage.com) — real-time exploit-exposure\ncheck for EVM wallets, built for AI agents. Each query is **paid via x402**\n(USDC on Base) signed locally by a session key: no signup, no API key, no prompts.\nStateless — nothing about you or your queries is persisted.\n\n## Tools\n\n- **`check_address_risk`** (paid) — real-time risk for an EVM address: dangerous\n  ERC20 approvals cross-referenced with a live threat feed of contracts under\n  attack. Returns `risk_score` (0–100), `risk_level` and actionable `findings`.\n- **`get_pricing`** (free) — service status and current price per query.\n\n## Setup (Claude Desktop, Claude Code, Cursor)\n\nRequires Node 20+. Add to your MCP config (e.g. `claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"wallettriage\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"wallettriage-mcp\"],\n      \"env\": {\n        \"GATEWAY_URL\": \"https://api.wallettriage.com\",\n        \"EVM_PRIVATE_KEY\": \"0xREPLACE_WITH_SESSION_WALLET_PRIVATE_KEY\",\n        \"MAX_PAYMENT_ATOMIC\": \"100000\"\n      }\n    }\n  }\n}\n```\n\nFund the session wallet with a few USDC on Base. **Use a dedicated, low-balance\nwallet — never your main key.** It only signs gasless EIP-3009 USDC payments;\nWalletTriage never holds or moves funds.\n\n`EVM_PRIVATE_KEY` is the wallet's **private key** (0x + 64 hex), not its address.\nNo ETH needed — payments are gasless (EIP-3009). Test connectivity first with the\nfree `get_pricing` tool before funding.\n\nThen ask your agent: *\"Check the risk of 0xd8dA… before I interact with it.\"*\n\n## Troubleshooting\n\n- **`unable to verify the first certificate`** (common on Windows / corporate\n  networks): your antivirus or proxy intercepts TLS and Node doesn't use the\n  system certificate store by default. Add `\"NODE_OPTIONS\": \"--use-system-ca\"`\n  to the `env` block. Never disable TLS verification — payments travel in\n  headers and must not be tamperable.\n- **`EVM_PRIVATE_KEY is malformed`**: the value must be `0x` + 64 hex characters\n  (the private key of the session wallet). Check for placeholder text, missing\n  `0x` or stray whitespace.\n- **`Gateway unreachable`**: `GATEWAY_URL` defaults to\n  `https://api.wallettriage.com`. If you overrode it (e.g. to a local gateway),\n  make sure that host is reachable and running.\n\n## Environment variables\n\n| Variable | Required | Default | Purpose |\n| --- | --- | --- | --- |\n| `EVM_PRIVATE_KEY` | yes | — | Session key that signs x402 payments (USDC on Base) |\n| `GATEWAY_URL` | no | `https://api.wallettriage.com` | WalletTriage API base URL. Defaults to production; set `http://localhost:4021` for local dev (https enforced for non-local hosts) |\n| `MAX_PAYMENT_ATOMIC` | no | `100000` (US$0.10) | Refuses any 402 requirement above this cap (atomic USDC units, 6 decimals) |\n| `DEFAULT_SCAN_CHAIN` | no | `eth` | Default chain: eth, base, polygon, arbitrum, optimism, bsc |\n\n## Local development\n\n```bash\nnpm install\ncp .env.example .env   # set EVM_PRIVATE_KEY\nnpm start              # runs src/server.ts via tsx (stdio)\n```\n\nPoint at a local gateway with `GATEWAY_URL=http://localhost:4021`, or test with\nthe MCP Inspector:\n\n```bash\nnpx @modelcontextprotocol/inspector npx tsx src/server.ts\n```\n\n`npm run build` emits `dist/server.js` (the published `bin`).\n",
  "bytes": 3363,
  "sha": "4ab42720242b0980fef472fdf71eff57c0862ce55923bdf3753a476dcb5e87b3",
  "repo_slug": "wallettriage/wallettriage-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_wallettriage_wallettriage_mcp_93d906cc/readme"
}