AIDEVELOPER TOOLS

Crypto Compliance Intelligence MCP Server

Crypto compliance intelligence for AI agents — sanctions screening, corporate verification, shell company detection, and regulatory tracking via the Model Context Protocol. This MCP server connects directly into Claude, Cursor, Windsurf, or any MCP-compatible client, giving your AI agent live access to 7 authoritative data sources: OFAC, OpenSanctions, OpenCorporates, GLEIF, CoinGecko, the Federal Register, and congressional bill tracking.

Try on Apify Store
$0.08per event
1
Users (30d)
13
Runs (30d)
90
Actively maintained
Maintenance Pulse
$0.08
Per event

Maintenance Pulse

90/100
Last Build
Today
Last Version
1d ago
Builds (30d)
8
Issue Response
N/A

Cost Estimate

How many results do you need?

screen_crypto_entitys
Estimated cost:$8.00

Pricing

Pay Per Event model. You only pay for what you use.

EventDescriptionPrice
screen_crypto_entityOFAC + OpenSanctions + OpenCorporates + LEI screening.$0.08
check_sanctions_exposureOFAC SDN + OpenSanctions screening.$0.05
verify_corporate_structureOpenCorporates + LEI shell detection.$0.05
track_crypto_regulationFederal Register + Congress regulatory velocity.$0.05
assess_project_legitimacyCoinGecko + OpenCorporates + LEI verification.$0.06
monitor_enforcement_actionsSEC/CFTC/FinCEN enforcement tracking.$0.05
generate_compliance_reportAll 7 sources, sanctions, shell detection, due diligence verdict.$0.15

Example: 100 events = $8.00 · 1,000 events = $80.00

Connect to your AI agent

Add this MCP server to Claude Desktop, Cursor, Windsurf, or any MCP-compatible client.

MCP Endpoint
https://ryanclinton--crypto-compliance-intelligence-mcp.apify.actor/mcp
Claude Desktop Config
{
  "mcpServers": {
    "crypto-compliance-intelligence-mcp": {
      "url": "https://ryanclinton--crypto-compliance-intelligence-mcp.apify.actor/mcp"
    }
  }
}

Documentation

Crypto compliance intelligence for AI agents — sanctions screening, corporate verification, shell company detection, and regulatory tracking via the Model Context Protocol. This MCP server connects directly into Claude, Cursor, Windsurf, or any MCP-compatible client, giving your AI agent live access to 7 authoritative data sources: OFAC, OpenSanctions, OpenCorporates, GLEIF, CoinGecko, the Federal Register, and congressional bill tracking.

The server runs on Apify in Standby mode, processing requests as your agent makes tool calls. Parallel data fetching across all sources means a full due diligence report on a crypto entity returns in seconds, not hours. No infrastructure to manage, no subscription required — pay only for the queries you run.

What data can you access?

Data PointSourceExample
📋 OFAC SDN list hits (including wallet addresses)US Treasury OFACTornado Cash: 1 SDN designation — BLOCKED
🌐 International sanctions matchesOpenSanctions (100+ programs)3 matches: EU, UN, OFSI lists
🪙 Token market data (price, volume, market cap)CoinGeckoBTC: $67,432 / 24h vol $38B
🏢 Corporate entity registrationsOpenCorporates (140+ jurisdictions)Binance Holdings Ltd — KY active
🔖 GLEIF Legal Entity IdentifierGLEIF global registryLEI: 2138008L1QN44RNQUI78 — verified
📜 Federal Register rulemakingsFederal Register (SEC, CFTC, FinCEN)12 final rules: MiCA-aligned stablecoin guidance
🏛️ Congressional crypto billsCongress.gov7 bills: Lummis-Gillibrand advanced to Senate floor
🚨 Entity Compliance Risk ScoreComposite (4 models)Score: 73/100 — HIGH risk
🏚️ Shell company detection levelCorporate + LEI analysisLIKELY_SHELL — 2 offshore jurisdictions
📊 Regulatory Velocity IndexFederal Register + CongressScore: 61/100 — FAST regulatory change
✅ Due diligence verdictComposite scoring engineENHANCED_DUE_DILIGENCE
⚡ Required compliance actionsSignal aggregationFile SAR, request beneficial ownership

Why use Crypto Compliance Intelligence MCP Server?

Manual crypto compliance work is slow, expensive, and fragmented. A compliance analyst checking a single counterparty across OFAC, international sanctions lists, corporate registries, and regulatory filings might spend 2-3 hours per entity — and still miss connections between data sources. Commercial platforms like Chainalysis KYT or Elliptic charge $1,000-10,000/month before you run a single check.

This MCP server collapses multi-source due diligence into a single tool call. Your AI agent dispatches parallel queries across all relevant data sources, applies four scoring models, and returns a structured verdict with actionable signals — in under 30 seconds per entity. At $0.045 per tool call, a team screening 100 counterparties per month spends $4.50.

  • Scheduling — run recurring entity screens on cadence to catch sanctions updates and new enforcement actions
  • API access — trigger compliance checks from Python, JavaScript, or any HTTP client without MCP infrastructure
  • Proxy rotation — underlying actors use Apify's proxy infrastructure to ensure data retrieval at scale
  • Monitoring — get Slack or email alerts when compliance runs fail or produce unexpected results
  • Integrations — connect to Zapier, Make, Google Sheets, HubSpot, or webhooks for downstream workflows

Features

  • Seven-source parallel intelligence — OFAC, OpenSanctions, CoinGecko, OpenCorporates, GLEIF, Federal Register, and Congress Bills queried simultaneously via Promise.allSettled, ensuring partial results are never lost if one source is slow
  • Entity Compliance Risk Score (0-100) — composite metric combining OFAC hits (weighted 40%), international sanctions (25%), shell indicators (20%), and LEI absence penalty (15%)
  • OFAC automatic block — any OFAC SDN match triggers BLOCKED status and FAIL verdict regardless of composite score; blockers are surfaced as a separate array
  • Shell company detection — five-signal algorithm scoring inactive entity ratio, high-risk jurisdiction count (Cayman Islands, BVI, Panama, Belize, Seychelles, Marshall Islands, Western Samoa, Vanuatu, Anguilla), multi-jurisdiction complexity, and GLEIF registration absence
  • Regulatory Velocity Index (0-100) — measures pace of US crypto regulation from Federal Register final rules, proposed rules, and congressional bill advancement; levels STATIC through RAPID
  • Project legitimacy scoring — cross-references CoinGecko market listing (35 pts), corporate registry presence (35 pts), and LEI verification (30 pts) to assess whether a token project has verifiable legal substance
  • Enforcement action monitoring — scans Federal Register titles for "enforcement", "penalty", "settlement", and "cease" keywords; surfaces enforcement count separately from general rulemaking
  • Full compliance report toolgenerate_compliance_report runs all 7 actors and all 3 scoring models, returning composite score, verdict, all signals, required actions, and blockers in a single structured JSON
  • Four due diligence verdicts — PASS, CONDITIONAL (score 15-34), ENHANCED_DUE_DILIGENCE (score 35-59), FAIL (score 60+, shell detected, or OFAC hit)
  • Spending limit enforcement — every tool call checks Actor.charge() before executing; returns a structured error if the per-run budget is exhausted rather than silently failing
  • MCP Standby mode — server stays warm on Apify infrastructure, responding to tool calls with minimal latency without cold-start delays per request
  • Jurisdiction risk taxonomy — 9 high-risk offshore jurisdictions hardcoded: KY, VG, PA, BZ, SC, MH, WS, VU, AI; each entity registration in these jurisdictions adds 10 points to shell score

Use cases for crypto compliance intelligence

Exchange KYC/AML counterparty screening

Compliance teams at crypto exchanges use screen_crypto_entity during onboarding to satisfy MiCA Article 83 and FinCEN CDD Rule requirements. A single tool call returns OFAC status, OpenSanctions hits, corporate structure, and LEI verification — the four pillars of a defensible counterparty file. Automated screening at onboarding eliminates the manual checklist and creates an auditable JSON record per entity.

DeFi protocol partnership due diligence

Protocol teams evaluating institutional integrations need to verify that counterparties are not sanctioned entities operating through shell structures. verify_corporate_structure combined with check_sanctions_exposure surfaces dissolved entities, offshore complexity, and missing LEI registration before agreements are signed. This reduces legal exposure and satisfies investor LP requirements for institutional DeFi.

Crypto venture capital pre-investment screening

VC funds investing in digital asset projects face regulatory scrutiny over whether portfolio companies have verifiable corporate substance. assess_project_legitimacy cross-references CoinGecko market listing against corporate registry records and GLEIF LEI, producing a legitimacy score (0-100) that supports investment committee documentation. Funds screening 20 projects per month spend less than $1.

Regulatory change monitoring for compliance officers

Compliance officers at regulated crypto businesses need early warning of Federal Register rulemakings and congressional bills that affect their programs. track_crypto_regulation with topics like "stablecoin", "DeFi", or "exchange licensing" returns a Regulatory Velocity Index and full document list, enabling teams to prioritize program updates before final rules take effect.

Enforcement action intelligence

Legal and compliance teams tracking SEC, CFTC, and FinCEN enforcement patterns use monitor_enforcement_actions to surface relevant actions in the Federal Register. Filtering by sector (exchange, stablecoin, DeFi) identifies regulatory focus areas and helps teams assess their own exposure relative to enforcement trends.

Ongoing counterparty monitoring via AI agents

AI agents integrated into compliance workflows can run periodic re-screening of existing counterparties by calling screen_crypto_entity on a schedule. Score changes over time — a counterparty moving from CLEAR to MODERATE — trigger alerts via webhooks, enabling proactive risk management rather than point-in-time screening.

How to use crypto compliance intelligence

  1. Connect the MCP server — Add the server URL to your MCP client configuration (see connection examples below). No code deployment required — the server runs on Apify infrastructure.
  2. Configure your API token — Pass your Apify API token as a Bearer token in the Authorization header. Obtain a token at console.apify.com/account/integrations.
  3. Call a tool — Ask your AI agent: "Screen Binance for compliance risk" or "Generate a compliance report on Nexo." The agent selects the appropriate tool and returns structured results.
  4. Act on results — The server returns a verdict (PASS / CONDITIONAL / ENHANCED_DUE_DILIGENCE / FAIL), a numeric score, and a list of required actions. Download the full JSON from the Apify dataset for your compliance records.

MCP tools

ToolPriceParametersDescription
screen_crypto_entity$0.045entity (required), jurisdiction (optional)OFAC + OpenSanctions + OpenCorporates + LEI. Returns Entity Compliance Risk Score (0-100) and compliance signals.
check_sanctions_exposure$0.045entity (required)OFAC SDN list + OpenSanctions global lists. Any OFAC match triggers BLOCKED status automatically.
verify_corporate_structure$0.045entity (required), jurisdiction (optional)OpenCorporates entity search + GLEIF LEI. Shell company detection score and 5-level classification.
track_crypto_regulation$0.045topic (required)Federal Register + Congress Bills. Regulatory Velocity Index (0-100) with proposed/final rule counts.
assess_project_legitimacy$0.045project (required), token (optional)CoinGecko + OpenCorporates + GLEIF. Legitimacy score (0-100) from market, corporate, and LEI signals.
monitor_enforcement_actions$0.045entity (optional), sector (optional)Federal Register enforcement keyword scan + congressional activity. Enforcement action count.
generate_compliance_report$0.045entity (required), jurisdiction (optional)All 7 data sources. Composite score, verdict, all signals, required actions, blockers. Full due diligence record.

Connection examples

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "crypto-compliance": {
      "url": "https://actors-mcp-server.apify.actor/mcp?actors=ryanclinton/crypto-compliance-intelligence-mcp&token=YOUR_APIFY_TOKEN"
    }
  }
}

Direct Standby URL:

{
  "mcpServers": {
    "crypto-compliance": {
      "url": "https://ryanclinton--crypto-compliance-intelligence-mcp.apify.actor/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_APIFY_TOKEN"
      }
    }
  }
}

Cursor / Windsurf / Cline — use the same URL format above in your MCP settings panel.

Tool call examples

Screen a crypto exchange for compliance risk:

{
  "tool": "screen_crypto_entity",
  "arguments": {
    "entity": "Nexo Financial",
    "jurisdiction": "bg"
  }
}

Full due diligence report:

{
  "tool": "generate_compliance_report",
  "arguments": {
    "entity": "Binance Holdings Limited",
    "jurisdiction": "ky"
  }
}

Track stablecoin regulation velocity:

{
  "tool": "track_crypto_regulation",
  "arguments": {
    "topic": "stablecoin reserve requirements"
  }
}

Input tips

  • Provide full legal entity names — "Binance Holdings Limited" returns better corporate registry results than "Binance"; use the registered name where known
  • Supply jurisdiction codes for corporate verification — two-letter ISO codes like "ky" (Cayman Islands), "vg" (BVI), "us", "gb" narrow OpenCorporates results dramatically
  • Use token symbols for legitimacy assessment — pass token: "NEXO" alongside project: "Nexo Financial" so CoinGecko lookup uses the exact ticker rather than a fuzzy name search
  • Scope enforcement monitoring by sector — "DeFi", "stablecoin", or "exchange" in the sector parameter focuses Federal Register results; omitting both entity and sector returns broad crypto enforcement trends
  • Run generate_compliance_report for documented due diligence — the composite report is the most cost-efficient option when you need the full evidence record; individual tools are faster for single-question spot checks

Output example

Response from generate_compliance_report for entity "Acme Digital Holdings":

{
  "entity": "Acme Digital Holdings",
  "compositeScore": 47,
  "verdict": "ENHANCED_DUE_DILIGENCE",
  "entityCompliance": {
    "score": 38,
    "ofacHits": 0,
    "sanctionsHits": 2,
    "shellIndicators": 8,
    "riskLevel": "MODERATE",
    "signals": [
      "2 international sanctions matches — enhanced due diligence required",
      "Shell company indicators: high-risk jurisdictions, dissolved entities, complex structure",
      "No GLEIF LEI found — entity not registered with Legal Entity Identifier system"
    ]
  },
  "regulatoryVelocity": {
    "score": 54,
    "totalRegulations": 11,
    "proposedRules": 4,
    "finalRules": 3,
    "congressBills": 6,
    "velocityLevel": "MODERATE",
    "signals": [
      "3 final rules — regulatory framework hardening",
      "4 proposed rules — more regulation incoming",
      "6 crypto-related bills in Congress — active legislative agenda"
    ]
  },
  "shellDetection": {
    "score": 55,
    "entityCount": 4,
    "inactiveEntities": 2,
    "highRiskJurisdictions": 2,
    "leiVerified": false,
    "detectionLevel": "SUSPICIOUS",
    "signals": [
      "2 dissolved/inactive entities — corporate graveyard pattern",
      "2 entities in high-risk offshore jurisdictions",
      "No LEI registration — entity avoids transparency framework"
    ]
  },
  "allSignals": [
    "2 international sanctions matches — enhanced due diligence required",
    "Shell company indicators: high-risk jurisdictions, dissolved entities, complex structure",
    "No GLEIF LEI found — entity not registered with Legal Entity Identifier system",
    "3 final rules — regulatory framework hardening",
    "4 proposed rules — more regulation incoming",
    "6 crypto-related bills in Congress — active legislative agenda",
    "2 dissolved/inactive entities — corporate graveyard pattern",
    "2 entities in high-risk offshore jurisdictions",
    "No LEI registration — entity avoids transparency framework"
  ],
  "requiredActions": [
    "International sanctions match — file SAR and escalate to compliance officer",
    "Shell company detected — request beneficial ownership disclosure",
    "Request LEI registration before proceeding"
  ],
  "blockers": []
}

Output fields

FieldTypeDescription
entitystringEntity name as submitted
compositeScorenumber0-100 composite risk score (compliance 40% + shell 35% + regulatory velocity 25%)
verdictstringPASS / CONDITIONAL / ENHANCED_DUE_DILIGENCE / FAIL
entityCompliance.scorenumberEntity Compliance Risk Score 0-100
entityCompliance.ofacHitsnumberCount of OFAC SDN list matches
entityCompliance.sanctionsHitsnumberCount of OpenSanctions matches
entityCompliance.shellIndicatorsnumberRaw shell company signal count (pre-normalization)
entityCompliance.riskLevelstringCLEAR / LOW / MODERATE / HIGH / BLOCKED
entityCompliance.signalsstring[]Human-readable compliance signal messages
regulatoryVelocity.scorenumberRegulatory Velocity Index 0-100
regulatoryVelocity.totalRegulationsnumberTotal Federal Register results for topic
regulatoryVelocity.proposedRulesnumberCount of proposed rule documents
regulatoryVelocity.finalRulesnumberCount of final rule documents
regulatoryVelocity.congressBillsnumberCount of relevant congressional bills
regulatoryVelocity.velocityLevelstringSTATIC / SLOW / MODERATE / FAST / RAPID
regulatoryVelocity.signalsstring[]Regulatory signal messages
shellDetection.scorenumberShell company probability score 0-100
shellDetection.entityCountnumberTotal corporate entities found
shellDetection.inactiveEntitiesnumberCount of dissolved or inactive entities
shellDetection.highRiskJurisdictionsnumberCount of entities in high-risk offshore jurisdictions
shellDetection.leiVerifiedbooleanWhether a valid GLEIF LEI was found
shellDetection.detectionLevelstringLEGITIMATE / MINOR_FLAGS / SUSPICIOUS / LIKELY_SHELL / CONFIRMED_SHELL
shellDetection.signalsstring[]Shell company signal messages
allSignalsstring[]All signals from all three scoring models combined
requiredActionsstring[]Compliance actions required based on findings
blockersstring[]Hard blockers that trigger automatic FAIL verdict

How much does it cost to run crypto compliance checks?

This MCP server uses pay-per-event pricing — you pay $0.045 per tool call. Platform compute costs are included. All 7 tools are priced identically.

ScenarioTool callsCost per callTotal cost
Quick sanctions check1$0.045$0.045
Single entity full report1$0.045$0.045
Daily counterparty batch (10 entities)10$0.045$0.45
Monthly onboarding pipeline (100 entities)100$0.045$4.50
Enterprise screening (1,000 entities/month)1,000$0.045$45.00

You can set a maximum spending limit per run to control costs. The actor stops when your budget is reached and returns a structured error rather than exceeding your limit.

Compare this to Chainalysis KYT at $1,000-10,000/month or Elliptic starting at similar ranges — with this MCP server, a compliance team running 200 screens per month spends under $10 with no subscription commitment. Apify's free tier includes $5 of monthly credits, covering approximately 111 tool calls at no charge.

Using the API directly

Python

from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("ryanclinton/crypto-compliance-intelligence-mcp").call(run_input={})

# Or call the MCP endpoint directly
import urllib.request, json

payload = json.dumps({
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
        "name": "generate_compliance_report",
        "arguments": {"entity": "Nexo Financial", "jurisdiction": "bg"}
    },
    "id": 1
}).encode()

req = urllib.request.Request(
    "https://ryanclinton--crypto-compliance-intelligence-mcp.apify.actor/mcp",
    data=payload,
    headers={"Content-Type": "application/json", "Authorization": "Bearer YOUR_API_TOKEN"}
)
with urllib.request.urlopen(req) as resp:
    result = json.loads(resp.read())
    report = json.loads(result["result"]["content"][0]["text"])
    print(f"Entity: {report['entity']}")
    print(f"Verdict: {report['verdict']} (score: {report['compositeScore']})")
    for action in report.get("requiredActions", []):
        print(f"  Action: {action}")

JavaScript

import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "YOUR_API_TOKEN" });

const response = await fetch(
  "https://ryanclinton--crypto-compliance-intelligence-mcp.apify.actor/mcp",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Authorization": "Bearer YOUR_API_TOKEN",
    },
    body: JSON.stringify({
      jsonrpc: "2.0",
      method: "tools/call",
      params: {
        name: "screen_crypto_entity",
        arguments: { entity: "Binance Holdings Limited", jurisdiction: "ky" },
      },
      id: 1,
    }),
  }
);

const data = await response.json();
const result = JSON.parse(data.result.content[0].text);
console.log(`Risk level: ${result.entityCompliance.riskLevel}`);
console.log(`Score: ${result.entityCompliance.score}/100`);
for (const signal of result.entityCompliance.signals) {
  console.log(`  Signal: ${signal}`);
}

cURL

# Call screen_crypto_entity
curl -X POST "https://ryanclinton--crypto-compliance-intelligence-mcp.apify.actor/mcp" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "screen_crypto_entity",
      "arguments": {"entity": "FTX Trading Ltd", "jurisdiction": "bs"}
    },
    "id": 1
  }'

# Call check_sanctions_exposure for a wallet or entity
curl -X POST "https://ryanclinton--crypto-compliance-intelligence-mcp.apify.actor/mcp" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "check_sanctions_exposure",
      "arguments": {"entity": "0x8589427373D6D84E98730D7795D8f6f8731FDA16"}
    },
    "id": 2
  }'

How Crypto Compliance Intelligence MCP works

Parallel data orchestration

When a tool is called, runActorsParallel in actor-client.ts dispatches simultaneous requests to all relevant underlying actors via the Apify API. Promise.allSettled is used rather than Promise.all, so a timeout or error from one source (e.g., GLEIF returning no results) never blocks results from the others. Each actor runs with 256 MB memory and a 120-second timeout. Results are indexed by actor name and passed to scoring functions as a Record<string, unknown[]>.

Entity Compliance Risk Score algorithm

scoreEntityCompliance in scoring.ts computes four sub-scores. OFAC: min(40, hits * 20) — a single OFAC hit scores 20 points, two hits reach the 40-point cap, and the riskLevel is forced to BLOCKED regardless of total. OpenSanctions: min(25, hits * 8). Shell indicators from OpenCorporates corporate records: each dissolved or inactive entity adds 3 points, each registration in a high-risk jurisdiction adds 5 points, and a multi-jurisdiction structure (5+ jurisdictions) adds 5 more; capped at 20. LEI absence penalty: 15 points if GLEIF returns no results. Composite cap is 100.

Shell company detection model

detectShellCompany scores five dimensions. Inactive entity ratio: min(25, round(inactiveRatio * 30)). High-risk jurisdiction count: min(30, count * 10) against 9 jurisdiction codes (ky, vg, pa, bz, sc, mh, ws, vu, ai). Corporate complexity: min(20, max(0, (total-2)*3 + (jurisdictions-2)*4)). LEI absence: 15 points. Ghost entity (zero corporate registrations found): 10 points. Detection level thresholds: CONFIRMED_SHELL (80+), LIKELY_SHELL (60+), SUSPICIOUS (40+), MINOR_FLAGS (20+), LEGITIMATE (below 20).

Composite scoring and verdict logic

generateComplianceReport computes the composite as round(compliance * 0.40 + shell * 0.35 + velocity * 0.25). Verdict logic applies in priority order: any OFAC hit forces FAIL regardless of composite score. Composite 60+ or shell detection at LIKELY_SHELL or above also forces FAIL. Composite 35-59 triggers ENHANCED_DUE_DILIGENCE. Composite 15-34 triggers CONDITIONAL. Below 15 returns PASS. Required actions and blockers are assembled from the specific signals that fired, giving the AI agent structured, actionable output rather than a bare score.

Tips for best results

  1. Use generate_compliance_report for formal due diligence — at the same price as individual tools, it runs all 7 sources and returns the composite verdict, required actions, and blockers in a single call rather than making you assemble results yourself.

  2. Screen entities at onboarding AND on a recurring schedule — sanctions lists are updated continuously; an entity that was CLEAR last quarter may appear on OpenSanctions this quarter. Apify's built-in scheduler can rerun checks weekly.

  3. Supply jurisdiction codes for OpenCorporates accuracy — without a jurisdiction filter, OpenCorporates returns entities with matching names from all 140+ jurisdictions, which inflates entity counts and can skew shell detection scores. Use two-letter jurisdiction codes (e.g., "ky", "us", "gb").

  4. Treat ENHANCED_DUE_DILIGENCE verdicts as a documentation trigger — the tool returns a requiredActions array. These are not suggestions; they reflect specific risk signals that a compliance program should respond to with documented steps.

  5. Combine with on-chain analysis tools — this server focuses entirely on off-chain data (corporate registries, sanctions lists, regulatory filings). For blockchain transaction pattern analysis, pair it with a dedicated on-chain analytics tool; the two are complementary, not overlapping.

  6. Batch similar entities in parallel tool calls — if your AI agent supports concurrent MCP tool calls, screen multiple entities simultaneously to reduce total wall-clock time for batch due diligence workflows.

  7. Archive the full JSON response — the generate_compliance_report output includes all evidence, scores, and signals. Store this record with your compliance files; it constitutes a defensible audit trail showing what was checked, when, and what was found.

Combine with other Apify actors

ActorHow to combine
OFAC Sanctions SearchRun directly for deeper OFAC screening with additional filter options beyond what the MCP surfaces
OpenSanctions SearchQuery individual sanctions programs by country or list type for targeted international screening
OpenCorporates SearchRetrieve full corporate officer lists and filing history for entities flagged as SUSPICIOUS or higher
GLEIF LEI LookupVerify LEI status and retrieve parent entity relationships for complex group structures
Federal Register SearchPull full text of specific rulemakings identified by track_crypto_regulation for legal review
Congress Bill SearchRetrieve bill text and committee history for legislation flagged as advancing by regulatory velocity tracking
Company Deep ResearchSupplement compliance screening with broader web intelligence on flagged entities

Limitations

  • No on-chain transaction analysis — this server does not analyze blockchain transactions, wallet clustering, or token transfer patterns. It covers off-chain compliance data only. For on-chain analysis, use a dedicated chain analytics platform.
  • OFAC wallet matching is name-based — the underlying OFAC actor searches by entity name and identifier; direct wallet address matching depends on how thoroughly Treasury has associated addresses with named entities in the SDN list.
  • OpenCorporates coverage varies by jurisdiction — while OpenCorporates covers 140+ jurisdictions, registry depth differs significantly. Some countries provide only basic name and status; others provide officers, filings, and share structure.
  • CoinGecko covers listed tokens only — tokens not listed on CoinGecko return no market data, which will reduce the project legitimacy score regardless of whether the project is legitimate. Unlisted early-stage projects should be evaluated with reduced weight on the market data signal.
  • Regulatory data is US-centric — the Federal Register and Congress Bill sources cover US federal regulation only. MiCA, FCA, and other non-US frameworks are not directly tracked. For international regulatory velocity, supplement with jurisdiction-specific sources.
  • Scores are probabilistic, not definitive — composite scores and shell detection levels indicate elevated risk, not confirmed wrongdoing. A score of 70 requires enhanced investigation, not automatic rejection.
  • No real-time alerts on score changes — the server responds to queries; it does not push notifications when a previously screened entity's risk profile changes. Use Apify Schedules combined with webhooks to build a monitoring workflow.
  • Parallel actor calls add latencygenerate_compliance_report runs 7 actors in parallel. Total response time depends on the slowest underlying actor, typically 20-45 seconds under normal conditions.

Integrations

  • Zapier — trigger compliance screens when new counterparties are added to a spreadsheet or CRM, and write verdict + required actions back automatically
  • Make — build multi-step compliance workflows: screen entity, evaluate verdict, route to human review queue if ENHANCED_DUE_DILIGENCE or FAIL
  • Google Sheets — export compliance verdicts and scores for counterparty registers and audit documentation
  • Apify API — call the MCP endpoint programmatically from compliance automation scripts or internal tools
  • Webhooks — receive notifications when scheduled compliance runs complete, enabling downstream SAR filing workflows
  • LangChain / LlamaIndex — integrate crypto compliance screening into RAG pipelines or compliance-focused AI agents as a callable tool

Troubleshooting

BLOCKED verdict on a legitimate entity — OFAC sometimes lists entities with common names that match unrelated businesses. Review the ofacResults array in the response to inspect the actual SDN entries. Verify that the listed name, date of birth, address, or ID numbers match your counterparty before escalating. False positives at name-matching stage are common; the evidence record in ofacResults is the ground truth.

Shell detection scoring unexpectedly high — If an entity is incorporated in a jurisdiction like Cayman Islands (ky) for legitimate tax efficiency reasons rather than opacity, the jurisdiction risk score will still trigger. The shell detection score is a risk indicator, not a verdict. Review the shellDetection.signals array to understand which specific factors contributed and document why each does not indicate a genuine shell structure.

No corporate entities found despite entity existing — Entity names in OpenCorporates must match the registered legal name, not a trading name. Try the full registered name (e.g., "Binance Holdings Limited" not "Binance"). If the jurisdiction is known, pass it as a filter to avoid name collisions. Some jurisdictions have limited OpenCorporates coverage.

Regulatory velocity returning low counts — The Federal Register and Congress searches are keyword-based. If track_crypto_regulation with topic "DeFi regulation" returns few results, try more specific terms: "decentralized finance", "digital asset exchange", or "virtual currency". Narrowing the topic to exact regulatory language used in filings improves recall.

Spending limit error — If a tool returns { "error": true, "message": "Spending limit reached" }, the per-run spending cap set in your Apify actor configuration has been reached. Increase the maximum spend per run in the actor's settings, or split large batches across multiple runs.

Responsible use

  • This server accesses publicly available government databases (OFAC, Federal Register, Congress), open corporate registries (OpenCorporates), and market data APIs (CoinGecko, GLEIF).
  • Sanctions screening results must be reviewed by a qualified compliance professional before triggering adverse actions against an entity.
  • Do not use screening results as the sole basis for refusing service without human review; scores are probabilistic risk indicators.
  • Comply with applicable data protection laws (GDPR, CCPA) when storing and processing entity screening records.
  • Comply with US and international export control and sanctions regulations when using OFAC data for transaction decisions.
  • For guidance on web scraping and data access legality, see Apify's guide.

FAQ

How does crypto compliance screening work against OFAC sanctions? The check_sanctions_exposure and screen_crypto_entity tools query the OFAC SDN list via the underlying OFAC Sanctions Search actor. Any match returns blocked: true and forces a BLOCKED risk level and FAIL verdict regardless of other scores. The full list of matching SDN entries is returned in ofacResults so you can verify whether the match applies to your counterparty.

Can I screen crypto wallet addresses for sanctions exposure? Yes. You can submit Ethereum, Bitcoin, or other wallet addresses as the entity parameter to check_sanctions_exposure. The OFAC SDN list includes designated cryptocurrency wallet addresses for sanctioned entities like Tornado Cash. The search matches against these wallet identifiers in the SDN database.

How is the Entity Compliance Risk Score calculated? The score combines four weighted components: OFAC hits (up to 40 points), OpenSanctions hits (up to 25 points), shell company indicators from corporate registry data (up to 20 points), and a 15-point penalty for missing GLEIF LEI registration. The maximum composite score is capped at 100. Any OFAC hit forces BLOCKED status regardless of the numeric score.

How accurate is the shell company detection? Shell detection scores five signals: inactive entity ratio, high-risk jurisdiction count (9 jurisdictions including Cayman Islands, BVI, Panama), multi-jurisdiction complexity, GLEIF registration absence, and zero corporate records. These are well-established AML indicators from FATF guidance. The model produces a probability level (LEGITIMATE through CONFIRMED_SHELL), not a binary determination. Scores above 40 warrant additional investigation.

How current is the data from each source? All data is fetched live at query time from the underlying APIs. OFAC publishes SDN updates daily. OpenSanctions aggregates from sources on their individual update schedules. CoinGecko market data reflects current prices. Federal Register and Congress data reflect the most recent published entries at query time.

Does this server cover international crypto regulation beyond the US? The regulatory tracking tools (track_crypto_regulation, monitor_enforcement_actions) source from the US Federal Register and Congress. They do not currently track MiCA implementation, FCA crypto asset registration, or other non-US frameworks. For international regulatory intelligence, supplement with jurisdiction-specific regulatory monitoring.

How is this different from Chainalysis or Elliptic? Chainalysis and Elliptic focus on on-chain transaction analytics — blockchain forensics, wallet clustering, and transaction tracing. This server focuses on off-chain compliance data: corporate registries, sanctions lists, regulatory filings, and legal entity identifiers. The two approaches are complementary; this server covers the KYB (Know Your Business) and regulatory intelligence side that on-chain tools do not.

Can I use this MCP server with any AI agent framework? Yes. The server implements the Model Context Protocol over HTTP using StreamableHTTPServerTransport. Any MCP-compatible client works: Claude Desktop, Cursor, Windsurf, Cline, LangChain MCP integration, LlamaIndex tools, or any custom client using the @modelcontextprotocol/sdk. Direct HTTP calls also work without an MCP client.

How long does a full compliance report take? generate_compliance_report runs 7 actors in parallel. Typical response time is 20-45 seconds depending on the speed of the slowest underlying actor. Individual tools running 2-4 actors in parallel typically return in 10-20 seconds. The server uses Promise.allSettled so a slow source does not block results from faster ones.

Is it legal to use this for crypto compliance screening? Yes. All data sources are publicly available: OFAC publishes the SDN list as a public government database, OpenCorporates aggregates public corporate registry data, GLEIF is a public LEI registry, and the Federal Register and Congress databases are public government records. CoinGecko provides a public API. Using these sources for compliance due diligence is standard industry practice. See Apify's guide on web scraping legality for additional context.

Can I schedule recurring compliance checks on existing counterparties? Yes. Use Apify's built-in scheduler to run the actor on a daily or weekly cadence with a list of entities. Combine with webhooks to receive notifications when verdicts change. This enables continuous counterparty monitoring rather than point-in-time screening — particularly valuable for detecting new sanctions designations against existing relationships.

Help us improve

If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:

  1. Go to Account Settings > Privacy
  2. Enable Share runs with public Actor creators

This lets us see your run details when something goes wrong, so we can fix issues faster. Your data is only visible to the actor developer, not publicly.

Support

Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. For custom compliance integrations or enterprise deployments, reach out through the Apify platform.

How it works

01

Configure

Set your parameters in the Apify Console or pass them via API.

02

Run

Click Start, trigger via API, webhook, or set up a schedule.

03

Get results

Download as JSON, CSV, or Excel. Integrate with 1,000+ apps.

Use cases

Sales Teams

Build targeted lead lists with verified contact data.

Marketing

Research competitors and identify outreach opportunities.

Data Teams

Automate data collection pipelines with scheduled runs.

Developers

Integrate via REST API or use as an MCP tool in AI workflows.

Ready to try Crypto Compliance Intelligence MCP Server?

Start for free on Apify. No credit card required.

Open on Apify Store