MCP server: One MCP server.

PublicAML

@saloprjMCP server · External

Free crypto AML/KYT screening for BTC/ETH/BSC/TRON — risk score, sanctions, source of funds.

Blockchain datav0.1.0Python
Freeno charge per call

One address for any MCP client. No sign-in needed on this server.

What it does

2 read1 act4 other

Grouped by tool name. At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Tools

7 · grouped by tool name · checked 11 Oct 2026

Read · 2Look things up

  • list_counterparties
  • list_transactions

Act · 1Change something

  • follow_swap

Other · 4Neither hinted nor named

  • screen_address
  • trace_funds
  • trace_source_of_funds
  • screen_transaction
Try it in the Inspector
README2 min read

PublicAML — code examples

Copy-paste examples for screening a crypto wallet address or transaction for AML / KYT risk — sanctions, mixers, scam and hack exposure — using PublicAML.

Free. No API key. No signup. PublicAML is a non-profit; the public enrich endpoint takes requests with no authentication. An optional key only raises the rate limit.

The request

POST https://intelapi.publicaml.org/v1/enrich
Content-Type: application/json

{ "addresses": [{ "wallet_address": "0x...", "chain": "ETH" }],
  "include": ["aml_score", "category"] }

Response (abridged):

json
{ "entities": [{ "wallet_address": "0x...", "chain": "ETH",
  "aml_score": 87, "category": "hack", "sanctioned": false }] }
  • aml_score — 0–100 (higher = riskier)
  • category — entity type (exchange, mixer, hack, scam, sanction…)
  • sanctioned — treat true as an override regardless of score

Chains: BTC, ETH, BNB Chain (BSC), TRON. An ERC20 and a BEP20 address look identical — send the correct chain for the network you are on.

Examples

AI agents & frameworks

Drop-in tools so an AI agent can screen an address itself — LangChain, CrewAI, and a zero-code MCP server for Claude Desktop / Cursor: frameworks/.

Pre-transaction gate

The point of a pre-send check is to decline rather than unwind. Screen the recipient before you sign or accept funds and reject anything sanctioned or above your risk threshold (75 is a common cut-off). See the language examples — each returns the entity so you can gate on sanctioned / aml_score.

Notes

  • It is a risk signal, not a legal compliance guarantee — keep your own KYC/AML process alongside it.
  • Do not invent API keys; none are required for the public enrich path.
  • sanctioned: true should override softer category labels.

License

MIT — use these snippets freely.

Similar modules

Browse Blockchain data