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.
Maintenance Pulse
90/100Cost Estimate
How many results do you need?
Pricing
Pay Per Event model. You only pay for what you use.
| Event | Description | Price |
|---|---|---|
| screen_crypto_entity | OFAC + OpenSanctions + OpenCorporates + LEI screening. | $0.08 |
| check_sanctions_exposure | OFAC SDN + OpenSanctions screening. | $0.05 |
| verify_corporate_structure | OpenCorporates + LEI shell detection. | $0.05 |
| track_crypto_regulation | Federal Register + Congress regulatory velocity. | $0.05 |
| assess_project_legitimacy | CoinGecko + OpenCorporates + LEI verification. | $0.06 |
| monitor_enforcement_actions | SEC/CFTC/FinCEN enforcement tracking. | $0.05 |
| generate_compliance_report | All 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.
https://ryanclinton--crypto-compliance-intelligence-mcp.apify.actor/mcp{
"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 Point | Source | Example |
|---|---|---|
| 📋 OFAC SDN list hits (including wallet addresses) | US Treasury OFAC | Tornado Cash: 1 SDN designation — BLOCKED |
| 🌐 International sanctions matches | OpenSanctions (100+ programs) | 3 matches: EU, UN, OFSI lists |
| 🪙 Token market data (price, volume, market cap) | CoinGecko | BTC: $67,432 / 24h vol $38B |
| 🏢 Corporate entity registrations | OpenCorporates (140+ jurisdictions) | Binance Holdings Ltd — KY active |
| 🔖 GLEIF Legal Entity Identifier | GLEIF global registry | LEI: 2138008L1QN44RNQUI78 — verified |
| 📜 Federal Register rulemakings | Federal Register (SEC, CFTC, FinCEN) | 12 final rules: MiCA-aligned stablecoin guidance |
| 🏛️ Congressional crypto bills | Congress.gov | 7 bills: Lummis-Gillibrand advanced to Senate floor |
| 🚨 Entity Compliance Risk Score | Composite (4 models) | Score: 73/100 — HIGH risk |
| 🏚️ Shell company detection level | Corporate + LEI analysis | LIKELY_SHELL — 2 offshore jurisdictions |
| 📊 Regulatory Velocity Index | Federal Register + Congress | Score: 61/100 — FAST regulatory change |
| ✅ Due diligence verdict | Composite scoring engine | ENHANCED_DUE_DILIGENCE |
| ⚡ Required compliance actions | Signal aggregation | File 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
BLOCKEDstatus andFAILverdict 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 tool —
generate_compliance_reportruns 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
- 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.
- 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.
- 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.
- 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
| Tool | Price | Parameters | Description |
|---|---|---|---|
screen_crypto_entity | $0.045 | entity (required), jurisdiction (optional) | OFAC + OpenSanctions + OpenCorporates + LEI. Returns Entity Compliance Risk Score (0-100) and compliance signals. |
check_sanctions_exposure | $0.045 | entity (required) | OFAC SDN list + OpenSanctions global lists. Any OFAC match triggers BLOCKED status automatically. |
verify_corporate_structure | $0.045 | entity (required), jurisdiction (optional) | OpenCorporates entity search + GLEIF LEI. Shell company detection score and 5-level classification. |
track_crypto_regulation | $0.045 | topic (required) | Federal Register + Congress Bills. Regulatory Velocity Index (0-100) with proposed/final rule counts. |
assess_project_legitimacy | $0.045 | project (required), token (optional) | CoinGecko + OpenCorporates + GLEIF. Legitimacy score (0-100) from market, corporate, and LEI signals. |
monitor_enforcement_actions | $0.045 | entity (optional), sector (optional) | Federal Register enforcement keyword scan + congressional activity. Enforcement action count. |
generate_compliance_report | $0.045 | entity (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"alongsideproject: "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
sectorparameter focuses Federal Register results; omitting both entity and sector returns broad crypto enforcement trends - Run
generate_compliance_reportfor 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
| Field | Type | Description |
|---|---|---|
entity | string | Entity name as submitted |
compositeScore | number | 0-100 composite risk score (compliance 40% + shell 35% + regulatory velocity 25%) |
verdict | string | PASS / CONDITIONAL / ENHANCED_DUE_DILIGENCE / FAIL |
entityCompliance.score | number | Entity Compliance Risk Score 0-100 |
entityCompliance.ofacHits | number | Count of OFAC SDN list matches |
entityCompliance.sanctionsHits | number | Count of OpenSanctions matches |
entityCompliance.shellIndicators | number | Raw shell company signal count (pre-normalization) |
entityCompliance.riskLevel | string | CLEAR / LOW / MODERATE / HIGH / BLOCKED |
entityCompliance.signals | string[] | Human-readable compliance signal messages |
regulatoryVelocity.score | number | Regulatory Velocity Index 0-100 |
regulatoryVelocity.totalRegulations | number | Total Federal Register results for topic |
regulatoryVelocity.proposedRules | number | Count of proposed rule documents |
regulatoryVelocity.finalRules | number | Count of final rule documents |
regulatoryVelocity.congressBills | number | Count of relevant congressional bills |
regulatoryVelocity.velocityLevel | string | STATIC / SLOW / MODERATE / FAST / RAPID |
regulatoryVelocity.signals | string[] | Regulatory signal messages |
shellDetection.score | number | Shell company probability score 0-100 |
shellDetection.entityCount | number | Total corporate entities found |
shellDetection.inactiveEntities | number | Count of dissolved or inactive entities |
shellDetection.highRiskJurisdictions | number | Count of entities in high-risk offshore jurisdictions |
shellDetection.leiVerified | boolean | Whether a valid GLEIF LEI was found |
shellDetection.detectionLevel | string | LEGITIMATE / MINOR_FLAGS / SUSPICIOUS / LIKELY_SHELL / CONFIRMED_SHELL |
shellDetection.signals | string[] | Shell company signal messages |
allSignals | string[] | All signals from all three scoring models combined |
requiredActions | string[] | Compliance actions required based on findings |
blockers | string[] | 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.
| Scenario | Tool calls | Cost per call | Total cost |
|---|---|---|---|
| Quick sanctions check | 1 | $0.045 | $0.045 |
| Single entity full report | 1 | $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
-
Use
generate_compliance_reportfor 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. -
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.
-
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").
-
Treat ENHANCED_DUE_DILIGENCE verdicts as a documentation trigger — the tool returns a
requiredActionsarray. These are not suggestions; they reflect specific risk signals that a compliance program should respond to with documented steps. -
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.
-
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.
-
Archive the full JSON response — the
generate_compliance_reportoutput 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
| Actor | How to combine |
|---|---|
| OFAC Sanctions Search | Run directly for deeper OFAC screening with additional filter options beyond what the MCP surfaces |
| OpenSanctions Search | Query individual sanctions programs by country or list type for targeted international screening |
| OpenCorporates Search | Retrieve full corporate officer lists and filing history for entities flagged as SUSPICIOUS or higher |
| GLEIF LEI Lookup | Verify LEI status and retrieve parent entity relationships for complex group structures |
| Federal Register Search | Pull full text of specific rulemakings identified by track_crypto_regulation for legal review |
| Congress Bill Search | Retrieve bill text and committee history for legislation flagged as advancing by regulatory velocity tracking |
| Company Deep Research | Supplement 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 latency —
generate_compliance_reportruns 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:
- Go to Account Settings > Privacy
- 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
Configure
Set your parameters in the Apify Console or pass them via API.
Run
Click Start, trigger via API, webhook, or set up a schedule.
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.
Related actors
Bulk Email Verifier
Verify email deliverability at scale. MX record validation, SMTP mailbox checks, disposable and role-based detection, catch-all flagging, and confidence scoring. No external API costs.
GitHub Repository Search
Search GitHub repositories by keyword, language, topic, stars, forks. Sort by stars, forks, or recently updated. Returns metadata, topics, license, owner info, URLs. Free API, optional token for higher limits.
Website Content to Markdown
Convert any website to clean Markdown for RAG pipelines, LLM training, and AI apps. Crawls pages, strips boilerplate, preserves headings, tables, and code blocks. GFM support.
Website Tech Stack Detector
Detect 100+ web technologies on any website. Identifies CMS, frameworks, analytics, marketing tools, chat widgets, CDNs, payment systems, hosting, and more. Batch-analyze multiple sites with version detection and confidence scoring.
Ready to try Crypto Compliance Intelligence MCP Server?
Start for free on Apify. No credit card required.
Open on Apify Store