reputa-mcp
v1.4.0
Published
MCP server exposing Reputa on-chain wallet risk & security analysis and neutral DeFi cover (insurance) analyses as agent tools (with optional autonomous x402 payment).
Maintainers
Readme
Reputa MCP — use wallet-risk analysis in your AI agent
Reputa analyses Ethereum wallets: how they behaved in real market crises, and how safe they are today. This is a small MCP server that exposes Reputa as tools any AI agent can call — Claude Desktop, Cursor, or any MCP host.
It's a thin wrapper over the public Reputa API. No API key needed for the free tool.
Tools
| Tool | Cost | What it does |
|------|------|--------------|
| reputa_analyze_wallet | free | Crisis behaviour (Terra, Celsius, Voyager, FTX, Multichain, Humanity), risk verdict (risk_avoider / risk_manager / risk_seeker), activity type, and a security snapshot: unlimited approvals, flagged-address contact (mixer / scam / OFAC), protocol usage, portfolio concentration. |
| reputa_wallet_scores | paid (x402) | Full Security + Risk + Reputation scores with reason codes, profile traits (HODLer, DeFi-native, governance, staker, Safe/smart-account, or entity type CEX/DEX/bridge/DAO), and a staking & governance breakdown. |
| reputa_deep_approval_scan | paid (x402) | Full ERC-20 approval history (deeper than the free scan's recent window). |
| reputa_safe_check | paid (x402) | Gnosis Safe security check: on-chain version, transaction guard, and enabled modules (named or flagged unknown). |
| reputa_safe_owner | teaser free / details paid | Which Safes an address co-controls. Free Ethereum-only count; details:true returns the full multichain breakdown incl. Safe addresses (paid). |
| reputa_chain_history | paid (all windows) | Historical ETH/WETH distribution across chains, months = 3, 6, 12, or 24. The current distribution comes free with reputa_analyze_wallet. |
| reputa_full_report | paid (bundle) | Everything above in one paid call: scores + traits, Safe config, Safe co-control (all chains), deep approvals, and the 2-year history. Bundled price (default = single-scan price × 5). |
All paid tools use x402 (USDC on Polygon): with a payer wallet configured (REPUTA_PAYER_PRIVATE_KEY) the server pays autonomously (EIP-3009); otherwise it returns the payment requirements so the caller can pay and retry.
Ethereum mainnet only.
Requirements
- Node.js 18+ (
node --version).
1. Get the server
git clone <this-repo> # or download it
cd <repo>/mcp
npm installNote the absolute path to server.js, e.g. /Users/you/reputer.xyz/mcp/server.js.
2. Add it to Claude Desktop
Open the config file (create it if it doesn't exist):
| OS | Path |
|----|------|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
Add the reputa entry under mcpServers (merge with anything already in the file):
{
"mcpServers": {
"reputa": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/mcp/server.js"]
}
}
}If Claude reports "spawn node ENOENT", it can't find
nodeon its PATH. Replace"node"with the absolute path fromwhich node(macOS/Linux) orwhere node(Windows), e.g."/usr/local/bin/node".
3. Restart Claude Desktop
Fully quit (⌘Q on macOS) and reopen — a window close is not enough; the config is only read on launch.
4. Try it
In a new chat:
Analyze the wallet
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045with Reputa.
(That's vitalik.eth — pass the 0x address; the tool doesn't resolve ENS itself.)
Configuration
| Env var | Default | Purpose |
|---------|---------|---------|
| REPUTA_BASE_URL | https://reputa.xyz | API base. Point at http://localhost:5173 for local development. |
| REPUTA_PAYER_PRIVATE_KEY | — | Optional. Private key of a wallet funded with USDC on Polygon. If set, the paid tools sign and pay the x402 charge autonomously (EIP-3009). |
Set it in the config, e.g.:
"reputa": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/mcp/server.js"],
"env": {
"REPUTA_BASE_URL": "https://reputa.xyz",
"REPUTA_PAYER_PRIVATE_KEY": "0x…"
}
}Security: the payer key is a hot key that can spend USDC. Use a dedicated wallet, keep only a small balance on it, and never reuse a key that holds other funds. Each x402 charge is bounded (EIP-3009: exact amount, single-use nonce, ~short validity), so the most a single call can spend is the advertised price.
Troubleshooting
- Tools don't appear → invalid JSON in the config (check commas/braces), or Claude wasn't fully restarted.
- "spawn node ENOENT" → use the absolute path to
node(see above). - HTTP 403 / origin errors → you're pointing at an old deploy; the public API at
https://reputa.xyzis open to agents.
Machine-readable API
The full API contract is published at https://reputa.xyz/openapi.json (OpenAPI 3.1) —
agents can consume it directly, with or without this MCP wrapper.
