traql — Claude Code MCP server: AML risk for crypto addresses
Scores crypto addresses and transfers for AML risk on a 0–100 scale and hands the verdict to your agent. Useful when you need a look at a counterparty before sending funds.
claude mcp add --env TRAQL_API_KEY=<TRAQL_API_KEY> --env TRAQL_API_URL=<TRAQL_API_URL> --env TRAQL_TIMEOUT_MS=<TRAQL_TIMEOUT_MS> --transport stdio traql -- npx -y @traql/mcpWhat traql does
Two tools come with it. check_address takes a chain plus an address and returns a numeric score, a band running from clean to critical, flags such as sanctions or mixer contact, and the reasons behind them. screen_transaction rates both ends of a transfer — either ahead of broadcast via from and to, or after the fact by tx_hash.
Behind the scores sit sanctions lists, freeze records and attributions for hacks and mixers. Ethereum, BSC, TRON, TON and Bitcoin are covered. Each reply carries readable text and a structuredContent object, so an agent can parse it. When an upstream feed was degraded at compute time the reply sets partial: true; treat the number as a floor in that case.
Node.js 18+ is the only prerequisite. TRAQL_API_KEY is recommended rather than mandatory: a keyless mode runs with tighter limits, per-call payment and a coarser answer that gives one reason instead of itemized signals. Every successful inquiry draws one check from the account. Badly formed input is caught locally and costs nothing. Scores are advisory — they do not settle legal questions on their own.
What it helps with
- vet a recipient address before you send funds
- see which categories pushed an address into a high band
- look up an on-chain transfer by its hash
- cross-check a counterparty against sanctions lists
- wire address screening into an automated pipeline
Example prompts for the agent
- Check
0x8589427373d6d84e98730d7795d8f6f8731fda16on ethereum — is it safe to send there? - Screen both sides of a 1 USDT transfer on tron before I broadcast it
- Look up transaction
tx_hashon bsc and tell me whether it touches sanctioned entities
How to install traql
Platform CLI
claude mcp add --env TRAQL_API_KEY=<TRAQL_API_KEY> --env TRAQL_API_URL=<TRAQL_API_URL> --env TRAQL_TIMEOUT_MS=<TRAQL_TIMEOUT_MS> --transport stdio traql -- npx -y @traql/mcpReplace <…> with your own values
Platform CLI
codex mcp add traql --env TRAQL_API_KEY=<TRAQL_API_KEY> --env TRAQL_API_URL=<TRAQL_API_URL> --env TRAQL_TIMEOUT_MS=<TRAQL_TIMEOUT_MS> -- npx -y @traql/mcpReplace <…> with your own values
Config file
{
"mcpServers": {
"traql": {
"command": "npx",
"args": [
"-y",
"@traql/mcp"
],
"env": {
"TRAQL_API_KEY": "<TRAQL_API_KEY>",
"TRAQL_API_URL": "<TRAQL_API_URL>",
"TRAQL_TIMEOUT_MS": "<TRAQL_TIMEOUT_MS>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"traql": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@traql/mcp"
],
"env": {
"TRAQL_API_KEY": "<TRAQL_API_KEY>",
"TRAQL_API_URL": "<TRAQL_API_URL>",
"TRAQL_TIMEOUT_MS": "<TRAQL_TIMEOUT_MS>"
}
}
}
}Replace <…> with your own values
Platform CLI
gemini mcp add -e TRAQL_API_KEY=<TRAQL_API_KEY> -e TRAQL_API_URL=<TRAQL_API_URL> -e TRAQL_TIMEOUT_MS=<TRAQL_TIMEOUT_MS> traql npx -y @traql/mcpReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about traql
How do I install traql in Claude Code?
Run claude mcp add traql --env TRAQL_API_KEY=your_key -- npx -y @traql/mcp. To point at your own API base or change the timeout, pass --env TRAQL_API_URL=... --env TRAQL_TIMEOUT_MS=... along with --transport stdio.
What does traql do?
It produces an AML risk score for a crypto address or transaction: a number from 0 to 100, a band, flags and the underlying reasons. With an API key those reasons arrive as separate signals, each tagged with its source and confidence.
Does it work without an API key?
Partly. A keyless tier allows a small number of free lookups per IP each day, then requires paying per call, with stricter limits and a single reason phrase in place of signals. Set a key for anything past a first trial.