WalletTriage MCP
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WalletTriage MCPCheck the risk of 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
wallettriage-mcp
MCP server for WalletTriage — real-time exploit-exposure check for EVM wallets, built for AI agents. Each query is paid via x402 (USDC on Base) signed locally by a session key: no signup, no API key, no prompts. Stateless — nothing about you or your queries is persisted.
Tools
check_address_risk(paid) — real-time risk for an EVM address: dangerous ERC20 approvals cross-referenced with a live threat feed of contracts under attack. Returnsrisk_score(0–100),risk_leveland actionablefindings.get_pricing(free) — service status and current price per query.
Related MCP server: Cabal-Hunter
Setup (Claude Desktop, Claude Code, Cursor)
Requires Node 20+. Add to your MCP config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"wallettriage": {
"command": "npx",
"args": ["-y", "wallettriage-mcp"],
"env": {
"GATEWAY_URL": "https://api.wallettriage.com",
"EVM_PRIVATE_KEY": "0xREPLACE_WITH_SESSION_WALLET_PRIVATE_KEY",
"MAX_PAYMENT_ATOMIC": "100000"
}
}
}
}Fund the session wallet with a few USDC on Base. Use a dedicated, low-balance wallet — never your main key. It only signs gasless EIP-3009 USDC payments; WalletTriage never holds or moves funds.
EVM_PRIVATE_KEY is the wallet's private key (0x + 64 hex), not its address.
No ETH needed — payments are gasless (EIP-3009). Test connectivity first with the
free get_pricing tool before funding.
Then ask your agent: "Check the risk of 0xd8dA… before I interact with it."
Troubleshooting
unable to verify the first certificate(common on Windows / corporate networks): your antivirus or proxy intercepts TLS and Node doesn't use the system certificate store by default. Add"NODE_OPTIONS": "--use-system-ca"to theenvblock. Never disable TLS verification — payments travel in headers and must not be tamperable.EVM_PRIVATE_KEY is malformed: the value must be0x+ 64 hex characters (the private key of the session wallet). Check for placeholder text, missing0xor stray whitespace.Gateway unreachable:GATEWAY_URLdefaults tohttps://api.wallettriage.com. If you overrode it (e.g. to a local gateway), make sure that host is reachable and running.
Environment variables
Variable | Required | Default | Purpose |
| yes | — | Session key that signs x402 payments (USDC on Base) |
| no |
| WalletTriage API base URL. Defaults to production; set |
| no |
| Refuses any 402 requirement above this cap (atomic USDC units, 6 decimals) |
| no |
| Default chain: eth, base, polygon, arbitrum, optimism, bsc |
Local development
npm install
cp .env.example .env # set EVM_PRIVATE_KEY
npm start # runs src/server.ts via tsx (stdio)Point at a local gateway with GATEWAY_URL=http://localhost:4021, or test with
the MCP Inspector:
npx @modelcontextprotocol/inspector npx tsx src/server.tsnpm run build emits dist/server.js (the published bin).
Available Tools
2 toolscheck_address_riskA
Real-time risk check for an EVM wallet address BEFORE acting on it. Cross-references active ERC20 approvals with a live exploit threat feed (contracts under attack right now). Returns risk_score (0-100), risk_level (low/medium/high/critical) and actionable findings. PAID per query via x402 (USDC on Base) using the configured session key — no signup, no API key.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain to scan: eth, base, polygon, arbitrum, optimism, bsc. Default: eth | |
| address | Yes | EVM address to check (0x...) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses real-time nature, cross-referencing with exploit feed, return fields (risk_score, risk_level, findings), and payment method (x402 USDC). Missing details on error handling or side effects, but overall strong behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is two sentences, front-loaded with purpose and key details. It is efficient but slightly verbose with payment info. Overall well-structured for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description adequately covers return types (risk_score, risk_level, findings) and payment context. Missing error behavior or address validation, but sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage for both parameters. The description adds minimal value beyond schema: it specifies default chain ('eth') and lists supported chains. Baseline 3 is appropriate as schema already covers meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: performing a real-time risk check on an EVM address before acting. It specifies the resource (EVM wallet address) and context (cross-referencing approvals with exploit feed). It distinguishes from sibling tool 'get_pricing' which is unrelated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use ('BEFORE acting on it') and mentions payment model. However, it does not explicitly state when not to use or provide alternatives to sibling tools. The guidance is clear but lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pricingA
Free: returns WalletTriage service status and the current price per risk query (paid via x402, USDC on Base).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions that the tool is free and specifies the payment method (x402, USDC on Base), but does not disclose any potential side effects, rate limits, or authentication requirements. The behavioral context is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words. It is front-loaded with 'Free:' and immediately states the purpose. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has zero parameters, no output schema, and no annotations, the description provides sufficient context: it returns service status and pricing, and the payment method. The sibling tool is mentioned in context, aiding selection. Minor gaps include lack of detail on what 'status' encompasses, but overall complete for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so schema_description_coverage is 100%. The baseline is 3, but the description adds value by explaining what the tool returns (status and price) beyond the empty schema, effectively compensating for the lack of parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'returns' and clearly identifies the resources: WalletTriage service status and current price per risk query. It implicitly distinguishes from the sibling tool 'check_address_risk' by focusing on pricing and status rather than risk assessment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining pricing information but does not explicitly state when to use this tool versus the sibling 'check_address_risk'. No alternative names or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v0.1.4- First observed
check_address_risk - First observed
get_pricing
TDQS
The two tools have entirely distinct purposes: one performs a risk check on an address, the other retrieves pricing/status. There is no overlap or ambiguity.
Both tools follow a clear verb_noun pattern (check_address_risk, get_pricing), using consistent snake_case naming.
With only 2 tools, the server is very light. For a 'triage' server, one might expect more operations, but the focused paid-query model makes the count borderline acceptable.
The server only offers a single core risk-check tool plus a pricing tool. Missing features like batch checks, historical data, or transaction simulation leave notable gaps for a 'triage' service.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Free token-safety scans + paid x402 verdicts, signals, radar & EVM swap quotes for AI agents.
Free token-safety scans + paid x402 verdicts, signals, radar & EVM swap quotes for AI agents.
Pay-per-call Solana token risk intelligence: 8 tools via x402. From $0.005 USDC, no API key.
Crypto rug/scam-risk scans + wallet snapshots (EVM + Solana), paid per call via x402.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenancePay-per-use AI security and research tools for autonomous agents on Base, enabling honeypot detection, risk assessment, wallet analysis, and yield optimization via the x402 protocol.-
- AlicenseAqualityBmaintenanceOn-chain Solana token safety for trading agents — traces coordinated wallet funding, same-block Jito bundles, serial-rug deployers and live coordinated dumps into one Exit-Liquidity Risk verdict before a swap. Free tier, then $0.02 USDC/query via x402.1431MIT
- AlicenseAqualityBmaintenancePaid access to Solana DeFi risk intelligence — rug/honeypot scans, liquidity-pool analysis, and wash-trade-filtered pool rankings. Automatically settles micropayments in USDC via x402.1064MIT
- FlicenseNot gradedqualityBmaintenanceMulti-endpoint Web3 intelligence service for token risk scanning, pre-trade checks, and signal snapshots, using DexScreener data with x402 payment support.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wallettriage/wallettriage-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server