Connect your AI agent via MCP
On-chain compliance intelligence for any MCP-compatible agent. Free stablecoin-freeze, token-security and approvals checks; paid wallet screening, KYT risk and consumer-protection verdicts — settled per call in USDC on Base via x402. No API key, no account.
- Open Customize → Connectors
- Click + → Add custom connector
- Paste the endpoint above and click Add
- In a chat: + → Connectors → switch BlockchainAnalysis on
Works on every Claude plan; the Free plan allows one custom connector. On Team and Enterprise an Owner adds it first under Organization settings → Connectors, then each member clicks Connect.
claude mcp add --transport http blockchainanalysis https://blockchainanalysis.io/api/mcp
npx skills add blockchainanalysis/skills
{
"mcpServers": {
"blockchainanalysis": {
"url": "https://blockchainanalysis.io/api/mcp"
}
}
}check_stablecoin_freezeIs a wallet blacklisted by Tether (USDT) or Circle (USDC)? Reads the issuer blacklist directly on-chain.
get_freeze_eventsThe freeze HISTORY: query the ledger of issuer freeze / unfreeze / destroy events by address, chain, kind or recency.
check_token_securityBuy/sell simulation → honeypot, extreme tax, name/symbol impersonation, active mint authority. No transaction sent.
check_token_approvalsA wallet's active ERC-20 approvals and who can move its funds, risk-scored against 1B+ entity labels.
list_supported_chainsDiscover the server's tools, supported chains, and pricing before calling.
screen_addressScreen a wallet against 1B+ entity labels (sanctions OFAC/EU/UN/UK/Swiss, scam, mixer, exchange) with threat levels.
kyt_riskKYT risk verdict: sanctions + entity + VASP/jurisdiction score + cluster context → one risk level with flags.
kyt_txTransaction KYT: screens BOTH counterparties (from → to) → combined risk level, block/review/allow recommendation, and directional flags.
rwaWhat real asset is this token? Issuer, asset class, ISIN, jurisdiction, permissioned or not, every chain it lives on, each with its provenance.
oracle_verdictConsumer-protection verdict (safe / warning / danger) + 0-100 score + reasons — 'is it safe to interact?'
labelEvery label on record for an address (sanctions, freeze state, scam, exploit, mixer, exchange), each with its category, threat level, and provenance. An unknown address returns an explicit not-found, never an empty result.
x402 — agents pay per call, no account
When an agent calls a paid tool, the server replies with an x402 payment request: the exact amount in USDC on Base, and where to send it. The agent's wallet signs the payment and retries — the tool then returns its result. No API key, no sign-up, no subscription. Free tools work with no payment at all. Volume users who prefer accounts and invoicing can use the BlockchainAnalysis API instead.
What the data is
The same intelligence behind the BlockchainAnalysis platform — 1B+ entity labels, a multi-list sanctions cascade (OFAC, EU, UN, UK HMT, Swiss SECO), on-chain stablecoin-issuer blacklists, and contract-risk simulation. Results are observational and time-bound, not legal advice — verify independently.
Common connection issues
- Claude.ai says “Couldn’t connect”
- Check that the URL is exactly
https://blockchainanalysis.io/api/mcpand leave the OAuth Client ID and Secret under Advanced settings empty: the server needs no sign-in (paid tools authorize each call with x402). Claude connects from Anthropic’s cloud, not from your computer, so your own VPN or firewall is not the cause. If it keeps failing, remove the connector and add it again, or use Claude Code:claude mcp add --transport http ba https://blockchainanalysis.io/api/mcp. - A paid tool returns “402 Payment Required”
- That’s expected.
screen_address,kyt_riskandoracle_verdictsettle per call in USDC on Base via x402, so your agent needs an x402-capable wallet funded with USDC on Base. The five free tools need no payment at all. - I get “406 Not Acceptable”
- Send an
Acceptheader that includes bothapplication/jsonandtext/event-stream. Most MCP clients do this automatically; the server is also lenient and will accept*/*or a missing header. - A GET to the endpoint returns 405
- Expected — this is a POST-based Streamable-HTTP endpoint and does not expose a standalone SSE stream. Connect with an MCP client (which POSTs
initialize), not a browser GET. - Unknown-chain or address-format errors
- Use uppercase chain IDs (ETH, BTC, TRON, SOL, BSC, POLYGON, ARBITRUM, OPTIMISM, BASE, AVALANCHE, LINEA) and an address whose format matches the chain. Call
list_supported_chainsfirst to see exactly which chains each tool covers. - screen_address shows no freeze for an address I know is frozen
- Freeze status is a live issuer flag, not an entity label — the two are complementary. Use
check_stablecoin_freezefor the current on-chain blacklist state andget_freeze_eventsfor freeze history.
Still stuck? Email [email protected].