traql MCP server
OfficialScore crypto addresses and transactions for AML/compliance risk through MCP tools.
Check a single address on Ethereum, BSC, TRON, TON, or Bitcoin and get a 0–100 risk score, band, flags, and contributing categories.
Screen a not-yet-broadcast transaction pre-flight using
fromandto, optionally withamountandasset, on all supported chains.Look up an already-broadcast transaction by
tx_hashon Ethereum, BSC, TRON, or TON.With an API key, receive itemized signals including code, source, entity, severity, confidence, contribution, and sender/receiver side; keyless responses provide a coarse reason summary.
Treat
partial: trueresults as lower-bound scores and use bands clean, low, elevated, high, or critical for triage.Each successful call consumes one check; malformed inputs are rejected locally where possible.
Provides AML and compliance risk scoring for Bitcoin addresses and pre-flight transactions, returning risk scores, bands, flags, and supporting signals.
Provides AML and compliance risk scoring for Ethereum addresses and transactions, returning risk scores, bands, flags, and supporting signals.
Provides AML and compliance risk scoring for TON addresses and transactions, returning risk scores, bands, flags, and supporting signals.
Click on "Deploy 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., "@traql MCP server Is this Ethereum address safe to send crypto to?"
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.
traql MCP server
AML and compliance risk scoring for crypto addresses and transactions, exposed to AI agents over the Model Context Protocol.
Ask your agent "is it safe to send to this address?" and it gets back a 0–100 risk score, a band, the risk categories behind it, and — with an API key — every individual signal with its source and confidence.
ethereum address 0x8589427373d6d84e98730d7795d8f6f8731fda16
RISK 100/100 — CRITICAL
Flags: sanctions, mixer, scam
Signals (21):
+80 [sanctions/eth_labels] direct.sanctions — sanctions label "Tornado.Cash: Donate" [entity Tornado.Cash: Donate, confidence 0.80]
+68 [mixer/eth_labels] direct.mixer — mixer label "Tornado.Cash: Donate" [entity Tornado.Cash: Donate, confidence 0.80]
+10 [mixer] behavior.mixer_contact — direct contact with mixer 0xdd4c48c0b24039969fc16d1cdf626eab821d3384
+9 [sanctions/ofac_sdn] indirect.sanctions — sent to Semenov Roman (sanctions, 18% of USDC volume) [entity Semenov Roman, confidence 1.00]
... and 17 more
Computed at 2026-08-23T11:42:49Z.Backed by traql: OFAC SDN, UK OFSI, EU and UN sanctions lists, Tether/Circle freeze events, curated hack and mixer attributions, and counterparty exposure analysis across Ethereum, BSC, TRON, TON and Bitcoin.
Quick start
Requires Node.js 18+.
npx -y @traql/mcpThe server speaks MCP over stdio, so you normally point a client at it rather than running it by hand.
Claude Code
claude mcp add traql --env TRAQL_API_KEY=your_key -- npx -y @traql/mcpClaude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"traql": {
"command": "npx",
"args": ["-y", "@traql/mcp"],
"env": { "TRAQL_API_KEY": "your_key" }
}
}
}Cursor
Add to ~/.cursor/mcp.json (or .cursor/mcp.json in a project) using the same
mcpServers block as above.
VS Code
Add to .vscode/mcp.json:
{
"servers": {
"traql": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@traql/mcp"],
"env": { "TRAQL_API_KEY": "your_key" }
}
}
}Related MCP server: BlackSwan MCP Server
Getting an API key
Sign up at app.traql.io, confirm your email — free checks are included — and issue a key under API keys. The secret is shown once; it can be rotated or revoked at any time.
Without a key the server still runs, on the keyless tier: the hosted API serves 3 free checks per IP per day so you can try it immediately, then asks for per-call payment over x402. Keyless responses are also coarser — a single reason phrase instead of itemized signals — and rate limits are tighter. For anything beyond a first look, set a key.
Configuration
Variable | Required | Default | Description |
| recommended | — | API key from the traql dashboard. Sent as |
| no |
| Base URL of the API. Point it at your own deployment if you self-host traql. |
| no |
| Per-request timeout in milliseconds. |
Tools
check_address
Scores a single address.
Argument | Type | Required | Description |
|
| yes | Network the address belongs to. |
| string | yes | Address in the chain's native format. |
screen_transaction
Scores both sides of a transfer, in one of two modes:
Pre-flight — pass
fromandto(optionallyamountandasset) to screen a transfer before broadcasting it. Works on every supported chain.By hash — pass
tx_hashalone to look up a transaction that is already on-chain. Supported on Ethereum, BSC, TRON and TON.
Argument | Type | Required | Description |
| chain enum | yes | Network the transaction belongs to. |
| string | pre-flight | Sender address. |
| string | pre-flight | Recipient address. |
| string | no | Integer amount in the asset's base units (e.g. |
| string | no | Asset or token symbol, e.g. |
| string | by-hash | Hash of a broadcast transaction. Mutually exclusive with |
Response
Both tools return human-readable text plus structuredContent:
{
"subject": { "type": "address", "chain": "ethereum", "address": "0x…" },
"result": {
"score": 100,
"band": "critical",
"flags": ["sanctions", "mixer", "scam"],
"partial": false,
"computed_at": "2026-08-23T11:42:49Z",
"reasons": [
{
"code": "direct.sanctions",
"message": "sanctions label \"Tornado.Cash: Donate\" from eth_labels (severity 100 × confidence 0.80 = 80.0)",
"contribution": 80,
"category": "sanctions",
"source": "eth_labels",
"entity": "Tornado.Cash: Donate",
"severity": 100,
"confidence": 0.8,
"eff": 80.0
}
]
}
}Score bands: clean 0–9, low 10–39, elevated 40–69, high 70–89,
critical 90–100.
partial: true means an upstream data source was degraded while computing the
result — read the score as a lower bound, not a final verdict.
Each successful call consumes one check from the configured account. Malformed input is rejected locally where possible, so it costs nothing.
Development
npm install
npm run build
npm testNotes
Scores are advisory signals for triage and automation. They are not a legal determination of wrongdoing, and they do not by themselves discharge any regulatory obligation.
Links
traql.io — product
License
MIT
Available Tools
2 toolscheck_addressCheck address riskARead-only
Score a single crypto address for AML and compliance risk.
Returns a risk score from 0 (clean) to 100 (critical), the band it falls into, and the risk categories that drove it — sanctions, mixer, scam, darknet, stolen_funds, ransomware, high_risk_exchange and others. With an API key configured, the response also itemizes every contributing signal with its data source, severity and confidence, so the verdict can be explained rather than just asserted.
Use it before sending funds to an unfamiliar address, to triage an address a user pasted, to check a counterparty in an investigation, or to vet a deposit address. Covers Ethereum, BSC, TRON, TON and Bitcoin. Each call consumes one check from the configured traql account.
Inputs: chain (required), address (required). Returns: result, subject
screen_transactionScreen transaction riskARead-only
Screen a transaction for AML and compliance risk by scoring both sides of the transfer.
Two modes, chosen by which arguments are given:
Pre-flight — pass
fromandto(optionallyamountandasset) to screen a transfer before it is broadcast. Works on every supported chain.By hash — pass only
tx_hashto look up a transaction that is already on-chain. Supported on ethereum, bsc, tron and ton.
Returns the same score, band, flags and itemized signals as an address check, with each signal marked as applying to the sending or receiving side. Use it as a pre-send safety gate, or to review a payment that already went out. Each call consumes one check from the configured traql account.
Inputs: chain (required), to, from, asset, +2 more. Returns: result, subject
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
The two tools target distinctly different entities: check_address evaluates a single address, while screen_transaction evaluates a transaction by scoring both sides. They are clearly separated by purpose and input requirements, with no overlapping functionality.
Both tool names follow a consistent verb_noun pattern: check_address and screen_transaction. The verbs ('check' vs 'screen') are semantically appropriate and the noun targets (address, transaction) are clear, maintaining a uniform naming style.
With only two tools, the server is compact but well-scoped for its narrow AML screening purpose. Each tool covers a fundamental operation (address check and transaction screening), so the count feels appropriate rather than insufficient, though it is below the typical 3-15 range.
The tool surface covers the primary use cases for AML risk assessment: pre-transaction screening and single-address checks. Minor gaps exist, such as lack of batch processing or historical investigation features, but these are not essential for the stated purpose and do not create dead ends in common workflows.
Maintenance
Related MCP Connectors
Crypto address risk checks for agents: USDT/USDC blacklists, sanctions, scam lists, poisoning
Pre-transaction risk screening for Ethereum addresses: signed score, sanctions, audit trail.
Blockchain address risk scoring, AML reports, sanctions screening and counterparty exposure.
KYC, KYB, AML, wallet screening, transaction monitoring, and fraud workflows for AI agents.
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceReal-time crypto risk scoring for AI agents. Trust Score, crash probability, and distance-to-default for 205 tokens. Free, no API key needed.MIT- FlicenseNot gradedqualityDmaintenanceEnables AI agents to access real-time crypto risk intelligence with two tools: Flare for precursor detection and Core for overall risk environment assessment.4-
- AlicenseNot gradedqualityFmaintenanceArchived and no longer maintained. Tools and prices shown here are out of date. Use the maintained server: glama.ai/mcp/servers/OceanAlt666/oceanalt-aml-mcp (GitHub: OceanAlt666/oceanalt-aml-mcp).164 npmMIT
- AlicenseAqualityBmaintenanceEnables AI assistants to assess the risk of crypto wallets, tokens, and smart contracts by providing read-only on-chain analysis, 0-100 risk scoring with explanations, fund tracing, and contract inspection before interaction.6MIT