Sanctions Evasion Network
About
Sanctions evasion detection that goes beyond name matching — this MCP server traces ownership chains across 8 corporate and sanctions databases, maps director networks for nominee patterns, and produces an **Evasion Probability Score (0–100)** for any entity you submit.
Details
- Author
- apifyforge
- Downloads
- 145
- Categories
- Other
Jump to
- 7 specialist MCP tools covering the full detection workflow
- 8 parallel data actors called per composite query
- Evasion Probability Score composite from 4 weighted models
- FATF blacklist (5) and greylist (26) scoring
- Shell company indicator engine using 6 criteria
- Director network cross-directorship and address clustering detection
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Sanctions Evasion NetworkCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Add the server URL https://ryanclinton--sanctions-evasion-network-mcp.apify.actor/mcp to your MCP client configuration (Claude Desktop, Cursor, Windsurf) with your Apify API token as Bearer credential. Then ask your AI to screen an entity using natural language—the server returns a structured report with score, verdict, signals, and recommendations.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"sanctions evasion network": {
"sanctions-evasion-network-mcp": {
"url": "https://ryanclinton--sanctions-evasion-network-mcp.apify.actor/mcp"
}
}
}
}
McpServers
{
"sanctions-evasion-network-mcp": {
"url": "https://ryanclinton--sanctions-evasion-network-mcp.apify.actor/mcp"
}
}
Sanctions Evasion Network MCP Server
> View on ApifyForge | Use on Apify Store
---
Quick Start
Add to your MCP client (Claude Desktop, Cursor, Windsurf):
{
"mcpServers": {
"sanctions-evasion-network-mcp": {
"url": "https://ryanclinton--sanctions-evasion-network-mcp.apify.actor/mcp"
}
}
}
---
Sanctions evasion detection that goes beyond name matching — this MCP server traces ownership chains across 8 corporate and sanctions databases, maps director networks for nominee patterns, and produces an Evasion Probability Score (0–100) for any entity you submit. Built for compliance teams, due diligence analysts, and trade finance professionals who need structural insight, not just list lookups.
Connect it to Claude Desktop, Cursor, Windsurf, or any MCP-compatible client and screen counterparties, trace beneficial owners, and assess trade route risk directly from your AI workflow. Seven specialist tools run up to 8 data actors in parallel, so a full deep screen across OFAC, OpenSanctions, Interpol, OpenCorporates, UK Companies House, GLEIF LEI, Canada Corporations, and Australia ABN completes in a single tool call.
What data can you access?
| Data Point | Source | Example value |
|---|---|---|
| 📋 OFAC SDN list — individuals, entities, vessels | US Treasury OFAC | Petrocom Holdings Ltd — SDN match score 94 |
| 🌐 Multi-jurisdiction sanctions & PEP data | OpenSanctions (EU, UN, US, UK) | 3 distinct sanctions lists, 2 aliases |
| 🚨 International wanted persons | Interpol Red Notices | 1 red notice, effective 2022-11 |
| 🏢 Corporate registrations, officers, filings | OpenCorporates (140+ jurisdictions) | BVI registration, 0 annual returns filed |
| 👤 UK PSC beneficial ownership data | UK Companies House | PSC: Vadim Krestov, 85% interest |
| 🔗 LEI ownership chains — parent/ultimate parent | GLEIF LEI registry | Direct parent: lapsed LEI DE0001234 |
| 🇨🇦 Canadian federal corporate registry | Canada Corporations | Incorporated 2021-03, 1 director |
| 🇦🇺 Australian entity verification | Australia ABN | ABN 51 824 753 556, status: cancelled |
| 📊 Evasion Probability Score (0–100) | Composite scoring engine | Score: 78, verdict: HIGH_RISK |
| 🏴 FATF blacklist / greylist matches | FATF country lists (5 blacklisted, 26 greylisted) | 2 FATF greylist jurisdictions detected |
| 🔒 Secrecy jurisdiction count | Financial Secrecy Index taxonomy | BVI + Seychelles — 2 secrecy jurisdictions |
| 🧩 Cross-directorship network depth | Director network analysis | 4 individuals on 3+ shared entities |
Why use Sanctions Evasion Network MCP Server?
Standard sanctions screening fails at one specific and well-documented problem: sanctioned parties rarely appear on lists under their own name. They use layered corporate structures — shell companies in the British Virgin Islands owning holding companies in Luxembourg owning operating companies in transparent jurisdictions — to distance themselves from SDN entries. A name-match tool gives you a clean result, and you proceed. That is the gap this MCP closes.
This server queries 8 live databases in parallel, then runs 4 scoring models — ownership chain depth, director network analysis, jurisdictional risk cascade, and multi-database hit correlation — before combining them into a single Evasion Probability Score. The result tells you not just whether the name matched, but whether the corporate structure looks designed to hide who is really in control.
- Scheduling — run daily counterparty monitoring passes on client portfolios to catch new sanctions designations
- API access — trigger entity screens from Python, JavaScript, or any HTTP client within your existing compliance pipeline
- Pay-per-event pricing — pay $0.045 per tool call, with no monthly subscription and a configurable spending cap per session
- Monitoring — get Slack or email alerts when Evasion Probability Scores exceed defined thresholds via Apify webhooks
- Integrations — connect to Zapier, Make, or your case management system to route flagged entities into a review workflow automatically
Features
- 7 specialist MCP tools covering the full sanctions evasion detection workflow: from quick sanctions list matching to full composite structural screening
- 8 parallel data actors called simultaneously per deep_entity_screening query — OFAC, OpenSanctions, Interpol, OpenCorporates, UK Companies House, GLEIF LEI, Canada Corporations, Australia ABN
- Evasion Probability Score (0–100) computed as a weighted composite: sanctions hits 35%, ownership chain 25%, jurisdictional risk 25%, director network 15%
- FATF blacklist cascade — 5 blacklisted jurisdictions (DPRK, Iran, Myanmar, and others) trigger a 15-point penalty per hit, with an additional amplifier when combined with secrecy jurisdictions
- FATF greylist coverage — 26 greylisted jurisdictions scored at 8 points each, flagging enhanced due diligence requirements
- 18 secrecy jurisdictions indexed — including BVI, Cayman Islands, Panama, Seychelles, Marshall Islands, Liechtenstein, Luxembourg, and Mauritius
- Shell company indicator engine — scores entities on officer count, filing history, company age, registered agent address patterns, and entity names containing "Holdings", "International", "Ventures"
- Director network cross-directorship detection — counts individuals appearing across multiple entities; individuals on 5+ entities receive a 3x amplifier
- Address clustering analysis — detects shared registered agent addresses across entity networks, a strong indicator of nominee-serviced shell structures
- Rapid incorporation pattern detection — flags clusters of entities incorporated within 30-day windows as a structural evasion indicator
- GLEIF LEI chain traversal — checks for lapsed or retired LEI registrations and missing LEI assignments; absence of LEI in a corporate chain adds 15 points to ownership chain score
- Multi-database hit correlation — bonus scoring when the same entity appears across OFAC, OpenSanctions, and Interpol simultaneously
- Alias and transliteration support — fuzzy_sanctions_match accepts known aliases to broaden query coverage across Cyrillic, Arabic, and Chinese romanization variants
- Verdict thresholds with override rules — CONFIRMED_HIT or any Interpol red notice forces BLOCK_TRANSACTION regardless of composite score
- Structured recommendation output — each report includes actionable recommendations: SAR filing guidance, beneficial ownership disclosure requirements, OFAC license flags
- Spending limit enforcement — all 7 tools check charge limits before executing, preventing overrun in automated pipelines
Use cases for sanctions evasion detection
Trade finance counterparty screening
Banks and commodity traders must screen counterparties before approving letters of credit or trade finance instruments. A counterparty may have a clean SDN name-match result but be beneficially owned by a sanctioned Russian oligarch through a BVI holding structure. The trade_route_risk_assessment tool runs sanctions screening alongside ownership chain and jurisdictional risk analysis in a single call, returning a verdict and structured recommendations the compliance officer can attach to the transaction file.
Corporate KYB for financial institutions
Correspondent banks and payment processors conducting Know Your Business verification need to trace beneficial ownership to the 25% threshold required by FinCEN. The beneficial_owner_identification tool searches OpenCorporates, UK Companies House, and GLEIF simultaneously to surface the ownership chain, then screens discovered individuals against OFAC and OpenSanctions in the same call.
Enhanced due diligence for private equity and M&A
Deal teams screening acquisition targets or fund investors face complex offshore structures. A target headquartered in the UK may have ultimate ownership in jurisdictions that trigger FATF concerns. The ownership_chain_trace tool maps the ownership structure across 5 corporate registries, scoring corporate nesting depth, secrecy jurisdiction count, and shell indicators, then returns a TRANSPARENT / MINOR_COMPLEXITY / OPAQUE / HIGHLY_LAYERED / EVASION_PATTERN classification.
Compliance workflow automation for AI agents
Compliance automation teams building AI-powered case management can embed this MCP server into Claude or GPT-based agents. The agent calls deep_entity_screening when processing new counterparty onboarding requests, receives structured JSON with score, verdict, signals, and recommendations, and routes cases above a configurable threshold to human review — no manual screening queue required.
Sanctions evasion investigation and forensics
Financial intelligence units and investigative journalists tracing oligarch asset structures can use director_network_map to uncover nominee director networks — clusters of individuals serving as directors across dozens of shell companies registered at the same Cayman Islands registered agent address. Address clustering scores and cross-directorship counts surface these patterns quantitatively.
Export control pre-screening
Export compliance officers verifying end-user statements before shipping controlled technology can use jurisdictional_risk_score to flag entities with connections to FATF blacklisted or greylisted jurisdictions before a full export licence determination, reducing the manual research burden in high-volume shipment pipelines.
How to screen entities for sanctions evasion
1. Connect the MCP server to your AI client — add the server URL https://sanctions-evasion-network-mcp.apify.actor/mcp to your Claude Desktop, Cursor, or Windsurf MCP configuration with your Apify API token as the Bearer credential.
2. Ask your AI to screen an entity — type a natural language instruction such as "Screen Pinnacle Global Resources Ltd for sanctions exposure and ownership red flags." The AI calls deep_entity_screening and receives the full structured report.
3. Review the Evasion Probability Score and signals — the response includes a 0–100 composite score, a five-tier verdict (CLEARED / LOW_RISK / ENHANCED_DUE_DILIGENCE / HIGH_RISK / BLOCK_TRANSACTION), per-dimension scores, specific signal strings explaining each flag, and action recommendations.
4. Act on the recommendations — the report includes specific next steps: request full beneficial ownership disclosure, engage your compliance team, file a SAR, or obtain an OFAC licence. For CLEARED verdicts, retain the JSON response as your screening documentation.
MCP tools
| Tool | Price | Databases queried | Description |
|---|---|---|---|
| deep_entity_screening | $0.045 | All 8 | Full composite screen: OFAC + OpenSanctions + Interpol + 5 corporate registries. Returns complete Evasion Probability Score. |
| ownership_chain_trace | $0.045 | 5 corporate | Traces ownership chain through OpenCorporates, UK Companies House, GLEIF LEI, Canada, Australia. Returns chain depth, secrecy count, shell indicators. |
| director_network_map | $0.045 | 3 corporate | Maps director networks: cross-directorship counts, nominee patterns, address clustering, rapid incorporation. |
| jurisdictional_risk_score | $0.045 | 5 corporate | FATF blacklist/greylist scoring, secrecy jurisdiction count, cross-border complexity cascade. |
| fuzzy_sanctions_match | $0.045 | 3 sanctions | OFAC SDN + OpenSanctions multi-list + Interpol Red Notices. Accepts aliases for transliteration coverage. |
| beneficial_owner_identification | $0.045 | 5 mixed | Ownership chain trace combined with sanctions screening of discovered entities. |
| trade_route_risk_assessment | $0.045 | 5 mixed | Counterparty trade route risk: sanctions + ownership + jurisdictional cascade with structured recommendations. |
Tool input parameters
| Tool | Parameter | Type | Required | Description |
|---|---|---|---|---|
| deep_entity_screening | entity | string | Yes | Entity name (person or company) |
| deep_entity_screening | jurisdiction | string | No | Primary jurisdiction hint |
| ownership_chain_trace | entity | string | Yes | Company name to trace |
| director_network_map | entity | string | Yes | Company or director name |
| jurisdictional_risk_score | entity | string | Yes | Entity to assess |
| fuzzy_sanctions_match | name | string | Yes | Person or entity name to screen |
| fuzzy_sanctions_match | aliases | string | No | Known aliases or transliterations |
| beneficial_owner_identification | entity | string | Yes | Company to identify beneficial owners for |
| trade_route_risk_assessment | entity | string | Yes | Trading counterparty name |
| trade_route_risk_assessment | route | string | No | Trade route description |
Output example
A deep_entity_screening call for a high-risk entity returns:
{
"entity": "Meridian Commodities Group Ltd",
"compositeScore": 74,
"verdict": "HIGH_RISK",
"ownershipChain": {
"score": 68,
"nestingDepth": 4,
"secrecyJurisdictions": 3,
"shellIndicators": 6,
"chainLevel": "HIGHLY_LAYERED",
"signals": [
"3 secrecy jurisdictions — layered offshore structure",
"6 shell indicators — nominee/dormant company patterns",
"No LEI registration — entity lacks transparent identifier",
"Entity spans 5 jurisdictions — complex cross-border structure"
]
},
"directorNetwork": {
"score": 52,
"nomineePatterns": 3,
"crossDirectorships": 4,
"networkLevel": "SUSPICIOUS",
"signals": [
"4 individuals serve on multiple entities — network pattern",
"3 nominee/agent roles detected — potential front persons",
"2 shared registered addresses — shell company cluster"
]
},
"jurisdictionalRisk": {
"score": 41,
"fatfBlacklist": 0,
"fatfGreylist": 3,
"secrecyJurisdictions": 3,
"riskLevel": "ELEVATED",
"signals": [
"3 FATF greylist jurisdictions — enhanced due diligence required",
"3 secrecy jurisdictions — financial opacity risk"
]
},
"sanctionsHits": {
"score": 28,
"ofacHits": 1,
"openSanctionsHits": 2,
"interpolHits": 0,
"hitLevel": "PARTIAL_MATCH",
"signals": [
"Appears on 2 sanctions lists — multi-jurisdictional exposure"
]
},
"allSignals": [
"Appears on 2 sanctions lists — multi-jurisdictional exposure",
"3 secrecy jurisdictions — layered offshore structure",
"6 shell indicators — nominee/dormant company patterns",
"No LEI registration — entity lacks transparent identifier",
"Entity spans 5 jurisdictions — complex cross-border structure",
"4 individuals serve on multiple entities — network pattern",
"3 nominee/agent roles detected — potential front persons",
"3 FATF greylist jurisdictions — enhanced due diligence required"
],
"recommendations": [
"Sanctions exposure detected — engage compliance team before proceeding",
"File Suspicious Activity Report (SAR) — multiple risk indicators triggered"
]
}
Output fields
| Field | Type | Description |
|---|---|---|
| entity | string | Entity name as submitted |
| compositeScore | number | Weighted composite risk score 0–100 (sanctions 35%, ownership 25%, jurisdiction 25%, directors 15%) |
| verdict | string | Five-tier verdict: CLEARED / LOW_RISK / ENHANCED_DUE_DILIGENCE / HIGH_RISK / BLOCK_TRANSACTION |
| ownershipChain.score | number | Ownership chain risk sub-score 0–100 |
| ownershipChain.nestingDepth | number | Count of structural nesting indicators across all corporate records |
| ownershipChain.secrecyJurisdictions | number | Count of secrecy jurisdictions detected in the ownership chain |
| ownershipChain.shellIndicators | number | Count of shell company signals (minimal officers, zero filings, nominee names) |
| ownershipChain.chainLevel | string | TRANSPARENT / MINOR_COMPLEXITY / OPAQUE / HIGHLY_LAYERED / EVASION_PATTERN |
| ownershipChain.signals | string[] | Human-readable signal descriptions for each flag raised |
| directorNetwork.score | number | Director network risk sub-score 0–100 |
| directorNetwork.nomineePatterns | number | Count of nominee/agent roles detected across all entities |
| directorNetwork.crossDirectorships | number | Count of individuals appearing across multiple entities |
| directorNetwork.networkLevel | string | CLEAN / MINOR_FLAGS / SUSPICIOUS / HIGH_RISK / NOMINEE_NETWORK |
| directorNetwork.signals | string[] | Director network signal descriptions |
| jurisdictionalRisk.score | number | Jurisdictional risk sub-score 0–100 |
| jurisdictionalRisk.fatfBlacklist | number | Count of FATF blacklisted jurisdiction matches |
| jurisdictionalRisk.fatfGreylist | number | Count of FATF greylisted jurisdiction matches |
| jurisdictionalRisk.secrecyJurisdictions | number | Count of Financial Secrecy Index jurisdiction matches |
| jurisdictionalRisk.riskLevel | string | LOW_RISK / MODERATE / ELEVATED / HIGH_RISK / BLACKLISTED |
| sanctionsHits.score | number | Sanctions hit sub-score 0–100 |
| sanctionsHits.ofacHits | number | Count of results returned from OFAC SDN search |
| sanctionsHits.openSanctionsHits | number | Count of results from OpenSanctions multi-list search |
| sanctionsHits.interpolHits | number | Count of Interpol Red Notice results |
| sanctionsHits.hitLevel | string | CLEAR / PARTIAL_MATCH / POTENTIAL_MATCH / STRONG_MATCH / CONFIRMED_HIT |
| sanctionsHits.signals | string[] | Sanctions hit signal descriptions including list names and match counts |
| allSignals | string[] | Combined signal list from all four scoring dimensions |
| recommendations | string[] | Actionable compliance recommendations: SAR guidance, OFAC licence flags, beneficial ownership disclosure requirements |
Verdict reference
| Score range | Verdict | Interpretation |
|---|---|---|
| 0–14 | CLEARED | No material risk signals across all four dimensions |
| 15–34 | LOW_RISK | Minor flags — standard screening documentation sufficient |
| 35–54 | ENHANCED_DUE_DILIGENCE | Significant complexity or partial sanctions match — manual review required |
| 55–74 | HIGH_RISK | Multiple evasion indicators — compliance team escalation required, SAR consideration |
| 75–100 | BLOCK_TRANSACTION | Strong evasion probability — block pending full investigation |
Override rules: A CONFIRMED_HIT sanctions level or any Interpol Red Notice result forces BLOCK_TRANSACTION regardless of the composite score.
How much does it cost to screen entities for sanctions evasion?
This MCP uses pay-per-event pricing — you pay $0.045 per tool call. Platform compute costs are included. There is no monthly subscription fee.
| Scenario | Tool calls | Cost per call | Total cost |
|---|---|---|---|
| Quick sanctions list match (single entity) | 1 | $0.045 | $0.045 |
| Ownership chain trace (single company) | 1 | $0.045 | $0.045 |
| Full deep screen (single entity, all 8 sources) | 1 | $0.045 | $0.045 |
| Screen 10 counterparties (deep screening) | 10 | $0.045 | $0.45 |
| Screen 100 counterparties (mixed tools) | 100 | $0.045 | $4.50 |
You can set a maximum spending limit per session to control costs. Each tool checks the charge limit before executing and returns a clear error if the limit is reached.
Compare this to enterprise KYC/sanctions platforms that charge $2,000–15,000 per month for comparable structural evasion analysis — with this MCP, most compliance teams running 50–200 screens per month spend under $10, with no subscription commitment and no minimum contract.
The Apify Free plan includes $5 of monthly platform credits — enough for approximately 100 tool calls with no payment required.
How to connect this MCP server
Claude Desktop
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"sanctions-evasion-network": {
"url": "https://sanctions-evasion-network-mcp.apify.actor/mcp",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}
Python (direct API)
import requests
response = requests.post(
"https://sanctions-evasion-network-mcp.apify.actor/mcp",
headers={
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_APIFY_TOKEN"
},
json={
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "deep_entity_screening",
"arguments": {
"entity": "Meridian Commodities Group Ltd"
}
},
"id": 1
}
)
result = response.json()
report = result["result"]["content"][0]["text"]
import json
data = json.loads(report)
print(f"Entity: {data['entity']}")
print(f"Composite score: {data['compositeScore']}/100")
print(f"Verdict: {data['verdict']}")
for signal in data["allSignals"]:
print(f" - {signal}")
for rec in data["recommendations"]:
print(f" => {rec}")
JavaScript
const response = await fetch("https://sanctions-evasion-network-mcp.apify.actor/mcp", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_APIFY_TOKEN"
},
body: JSON.stringify({
jsonrpc: "2.0",
method: "tools/call",
params: {
name: "fuzzy_sanctions_match",
arguments: {
name: "Viktor Semenov",
aliases: "Victor Semenoff, В. Семенов"
}
},
id: 1
})
});
const result = await response.json();
const report = JSON.parse(result.result.content[0].text);
console.log(Sanctions hit level: ${report.sanctionsHits.hitLevel});
console.log(OFAC hits: ${report.sanctionsHits.ofacHits});
console.log(OpenSanctions hits: ${report.sanctionsHits.openSanctionsHits});
console.log(Interpol hits: ${report.sanctionsHits.interpolHits});
cURL
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



