← BA · Free Tools

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.

blockchainanalysis · MCP
live
▸agent → screen_address { address: "0x5231…90F1", chain: "ETH" }
◂server 402 Payment Required · $1.50 USDC · Base
▸agent ✎ wallet signs payment → retries
◂server ✓ 200 3 labels · SANCTIONED (OFAC SDN) · CRITICAL
no API keyno accountpay-per-call
Endpoint
https://blockchainanalysis.io/api/mcp
Add to Claude.ai · web, desktop and mobile
  1. Open Customize → Connectors
  2. Click + → Add custom connector
  3. Paste the endpoint above and click Add
  4. 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.

One-click install
Add to Cursor →Install in VS Code →Add to LM Studio →
Or add to Claude Code
claude mcp add --transport http blockchainanalysis https://blockchainanalysis.io/api/mcp
Agent Skills · Claude Code, Codex, Cursor & 30+ tools
npx skills add blockchainanalysis/skills
Teach your agent when and how to call these tools. github.com/blockchainanalysis/skills →
Or add to claude_desktop_config.json
{
  "mcpServers": {
    "blockchainanalysis": {
      "url": "https://blockchainanalysis.io/api/mcp"
    }
  }
}
Free tools
Free
check_stablecoin_freeze

Is a wallet blacklisted by Tether (USDT) or Circle (USDC)? Reads the issuer blacklist directly on-chain.

ETH, BSC, Polygon, Arbitrum, Optimism, Base, Avalanche, Tron, Solana
Free
get_freeze_events

The freeze HISTORY: query the ledger of issuer freeze / unfreeze / destroy events by address, chain, kind or recency.

ETH, Polygon, Optimism, Tron, BSC, Arbitrum, Base, Avalanche
Free
check_token_security

Buy/sell simulation → honeypot, extreme tax, name/symbol impersonation, active mint authority. No transaction sent.

Base, BNB Chain, Ethereum, Optimism, Polygon, Arbitrum
Free
check_token_approvals

A wallet's active ERC-20 approvals and who can move its funds, risk-scored against 1B+ entity labels.

Ethereum
Free
list_supported_chains

Discover the server's tools, supported chains, and pricing before calling.

Discovery · all tools
Paid tools · pay-per-call via x402 (USDC on Base)
$1.50
per call · x402
screen_address

Screen a wallet against 1B+ entity labels (sanctions OFAC/EU/UN/UK/Swiss, scam, mixer, exchange) with threat levels.

ETH, BSC, Polygon, Arbitrum, Optimism, Base, Avalanche, Tron, Solana, BTC
$2.00
per call · x402
kyt_risk

KYT risk verdict: sanctions + entity + VASP/jurisdiction score + cluster context → one risk level with flags.

54 chains — 31 backed by entity labels, the rest sanctions screening only
$1.50
per call · x402
kyt_tx

Transaction KYT: screens BOTH counterparties (from → to) → combined risk level, block/review/allow recommendation, and directional flags.

54 chains — 31 backed by entity labels, the rest sanctions screening only
$0.10
per call · x402
rwa

What real asset is this token? Issuer, asset class, ISIN, jurisdiction, permissioned or not, every chain it lives on, each with its provenance.

ETH, BSC, Arbitrum, Solana, Polygon, Base, Avalanche, Gnosis, Fantom, Mantle, Sei, Etherlink
$1.00
per call · x402
oracle_verdict

Consumer-protection verdict (safe / warning / danger) + 0-100 score + reasons — 'is it safe to interact?'

BTC, ETH, BSC, Polygon, Arbitrum, Optimism, Base, and more
$0.10
per call · x402
label

Every 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.

ETH, BSC, Polygon, Arbitrum, Optimism, Base, Avalanche, Tron, Solana, BTC
How paid tools work

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.

Troubleshooting

Common connection issues

Claude.ai says “Couldn’t connect”
Check that the URL is exactly https://blockchainanalysis.io/api/mcp and 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_risk and oracle_verdict settle 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 Accept header that includes both application/json and text/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_chains first 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_freeze for the current on-chain blacklist state and get_freeze_events for freeze history.

Still stuck? Email [email protected].

Connect via MCP — crypto-compliance tools for AI agents | BlockchainAnalysis