mcpField
H
Hive Aml Screen

Hive Aml Screen

Remote
hiveagentiq.comLegal & Government0Updated 26w ago

About Hive Aml Screen

Hive Aml Screen is an MCP screening service for A2A transactions that returns observational risk scores, OFAC SDN matches, and chain heuristics for addresses. Results are cached for 24 hours; it does not block or settle transactions.

Key features

  1. 01Risk scores and bands
  2. 02OFAC SDN address matching
  3. 03EVM chain heuristics
  4. 04Single and bulk screening
  5. 0524-hour result cache

Use cases

  1. 01Screening an address before an agent transaction
  2. 02Reviewing batches of addresses
  3. 03Checking OFAC matches and on-chain signals

MCP support

Exposes `aml_screen`, `aml_bulk_screen`, and `aml_today` tools to MCP clients. Paid screening uses x402 settlement in USDC on Base.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://hive-mcp-aml-screen.onrender.com/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

hive-mcp-aml-screen

srotzin/hive-mcp-aml-screen MCP server

AML screening broker for the A2A network. Send an address and a chain. Receive a 0–100 observational risk score, an OFAC SDN match flag, and chain-heuristic categories. Cached for 24 hours.

Hive does not block, freeze, or settle. This is observational AML data only. Customer is responsible for compliance decisions.

  • Sources — daily-refreshed OFAC SDN list (treasury.gov), live Base mainnet RPC reads, conservative mixer-contract seed list
  • Scoring — 0–100 with bands (minimal, low, medium, high, critical)
  • Pricing — $0.03 per single address, $0.025 per address for bulk (10-address minimum), settled via x402 in USDC on Base
  • Cache — 24 hours per (chain, address)
  • Mode — inbound only, ENABLE=true by default

The shim is a broker. It returns observational data. It never blocks, freezes, or settles on behalf of a customer, and it never replaces a regulated KYC/AML provider.

Endpoints

MethodPathCostPurpose
POST/v1/aml/screen$0.03Screen one address
POST/v1/aml/bulk$0.025/addr (min 10)Screen many addresses in one call
GET/v1/aml/todayfreeUTC-day counters and OFAC list status
GET/healthfreeLiveness, OFAC list status, pricing
POST/mcp—JSON-RPC 2.0 entry for MCP clients
GET/.well-known/mcp.jsonfreeMCP descriptor
POST/v1/x402/submit—Settle a 402 quote, mint an access token

MCP tools

ToolCostDescription
aml_screen$0.03Single-address screening
aml_bulk_screen$0.025/addrBulk screening, 10-address minimum
aml_todayfreeCounters and OFAC list status

Every response — JSON-RPC and REST alike — carries the disclaimer field:

"disclaimer": "Hive does not block, freeze, or settle. This is observational AML data only. Customer is responsible for compliance decisions."

Quickstart

curl -sX POST https://hive-mcp-aml-screen.onrender.com/v1/aml/screen \
  -H 'content-type: application/json' \
  -d '{"address":"0x8589427373d6d84e98730d7795d8f6f8731fda16","chain":"base"}'

The first call returns a 402 envelope with a quote. Settle on Base in USDC, then resubmit the proof to /v1/x402/submit to mint an access token, and replay the request with X-Hive-Access: <token>.

curl -sX POST https://hive-mcp-aml-screen.onrender.com/v1/x402/submit \
  -H 'content-type: application/json' \
  -d '{"nonce":"...","payer":"0x...","chain":"base","tx_hash":"0x..."}'

Response shape

{
  "ok": true,
  "address": "0x8589427373d6d84e98730d7795d8f6f8731fda16",
  "chain": "base",
  "risk_score": 100,
  "risk_band": "critical",
  "flags": [
    {"category": "ofac_sdn_match", "severity": "critical", "detail": "OFAC SDN list match: program=CYBER2 sdn_uid=12345"},
    {"category": "mixer_contract", "severity": "high", "detail": "address is a known mixer/sanctioned-protocol contract"}
  ],
  "sdn_match": true,
  "sdn_record": {"sdn_uid": "12345", "sdn_name": "TORNADO CASH", "program": "CYBER2"},
  "chain_detail": {"nonce": 0, "is_contract": true, "balance_wei": "0", "head_block": 12345678},
  "sources": {
    "ofac_sdn": {"list_size": 8421, "last_refresh_ms": 1745798400000},
    "heuristics": {"chain": "base", "version": "v1"}
  },
  "cache_hit": false,
  "cache_ttl_seconds": 86400,
  "screened_at": 1745875200000,
  "screening_id": "8a3f...",
  "disclaimer": "Hive does not block, freeze, or settle. This is observational AML data only. Customer is responsible for compliance decisions."
}

Heuristics

For EVM chains the shim performs four real Base RPC reads — getTransactionCount, getCode, getBalance, getBlockNumber — plus a binary search over historical blocks to estimate the wallet's earliest activity. Categories returned in flags:

CategorySeverityTrigger
ofac_sdn_matchcriticalAddress appears in the daily OFAC SDN list
mixer_contracthighAddress is a known mixer/sanctioned-protocol contract
very_new_walletmediumFirst on-chain activity within 24 hours
high_velocitymedium≥ 20 outbound tx per hour over wallet lifetime
mixer_adjacent_balancelowBalance is exactly 0.1 / 1 / 10 / 100 ETH (Tornado pool denominations)
no_outbound_historylowAddress has never sent a transaction on this chain
rpc_unavailablelowRPC read failed; SDN-only signal returned
heuristic_errorlowInternal heuristic error; SDN-only signal returned

Non-EVM chains return the SDN match signal only with a note in chain_detail.

Configuration

EnvDefaultPurpose
PORT3000HTTP port
ENABLEtrueMaster switch. Set false to short-circuit all paid endpoints with 503
WALLET_ADDRESS0x15184bf50b3d3f52b60434f8942b7d52f2eb436ex402 settlement recipient (W1 MONROE)
BASE_RPC_URLhttps://mainnet.base.orgBase mainnet RPC for chain heuristics
OFAC_SDN_URLhttps://www.treasury.gov/ofac/downloads/sdn.csvSource URL for the SDN list
DB_PATH/tmp/aml.dbSQLite database file
MIXER_ADDRESSES(empty)Comma-separated list of extra mixer contract addresses to flag
X402_BYPASS(unset)Set to any value to bypass payment in development

Persistence

SQLite at /tmp/aml.db with WAL journaling.

  • ofac_sdn — (address PK, sdn_uid, sdn_name, program, list_type, inserted_at) — wiped and re-inserted on each refresh
  • ofac_meta — refresh timestamp, count, byte size, last error
  • screenings — every screen call, billed or cached
  • cache — (chain:address) → JSON payload, 24-hour TTL

Operational notes

  • The OFAC list is refreshed at boot and every 24 hours thereafter
  • Cache entries are pruned hourly
  • Body limit is 256 KB on JSON requests
  • Inbound only — the shim never initiates outbound calls beyond the OFAC fetch and Base RPC reads

License

MIT — see LICENSE.

Hive Civilization Directory

Part of the Hive Civilization — agent-native financial infrastructure.

Brand: #C08D23

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.