# Sanctions Compliance MCP Server (`nexgendata/sanctions-compliance-mcp-server`) Actor

MCP server: sanctions & enforcement screening for AI agents — screen any name across OFAC, EU, UN & UK HMT lists in one call, plus FTC/EPA/FCA/ASIC/MAS/SFC/CFTC enforcement actions. For AML/KYC, compliance & due diligence.

- **URL**: https://apify.com/nexgendata/sanctions-compliance-mcp-server.md
- **Developed by:** [NexGenData](https://apify.com/nexgendata) (community)
- **Categories:** MCP servers, AI, Business
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $40.00 / 1,000 tool calls

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## 🛡️ Sanctions Compliance MCP Server

**Sanctions screening & enforcement-intelligence MCP for AML/KYC/compliance agents.**

This is a **Model Context Protocol (MCP) server**, not a one-shot scraper. It exposes NexGenData's
public-data sanctions watchlists and regulatory enforcement registers as **agent-callable tools** so
an AI assistant (Claude, Cursor, Windsurf, or any MCP client) can screen names and investigate
enforcement actions on demand.

All data is sourced from **public, official** government watchlists and enforcement registers.
This server orchestrates existing NexGenData actors — it does not re-scrape or add new data sources.

---

### What it does

A single connection gives a compliance agent two capabilities:

1. **Sanctions / watchlist screening** — screen any individual or entity name against the four major
   global financial-sanctions lists (OFAC SDN, EU Consolidated, UN Security Council, UK HMT/OFSI),
   individually or all-at-once.
2. **Regulatory enforcement intelligence** — search published enforcement actions from seven major
   regulators across the US, UK, Australia, Singapore, and Hong Kong.

Typical use cases: KYC onboarding checks, ongoing customer/counterparty screening, adverse-media and
regulatory-history due diligence, third-party / vendor risk assessment, and AML investigation support.

---

### Tools (12)

#### Sanctions screening
| Tool | Source list | Key inputs |
|------|-------------|-----------|
| `screen_ofac_sdn` | US Treasury OFAC SDN | `name`, `program`, `entity_type`, `max_results` |
| `screen_eu_sanctions` | EU Consolidated Financial Sanctions | `name`, `program`, `entity_type`, `max_results` |
| `screen_un_sanctions` | UN Security Council Consolidated | `name`, `program`, `entity_type`, `max_results` |
| `screen_uk_hmt_sanctions` | UK HM Treasury (OFSI) Consolidated | `name`, `program`, `entity_type`, `max_results` |
| `screen_all_sanctions` | OFAC + EU + UN + UK (fan-out) | `name`, `max_results` |

`screen_all_sanctions` is a convenience tool: it screens one name across all four lists in parallel
and returns per-list matches plus an overall `any_hit` flag — the fastest single-call screen.

#### Regulatory enforcement intelligence
| Tool | Regulator | Key inputs |
|------|-----------|-----------|
| `search_ftc_enforcement` | US FTC (consumer protection, antitrust, privacy) | `query`, `date_from`, `date_to`, `max_cases` |
| `search_epa_enforcement` | US EPA ECHO (environmental compliance) | `state` *(required)*, `program`, `compliance_status`, `max_facilities` |
| `search_fca_enforcement` | UK FCA (financial conduct) | `firm_or_individual`, `action_type`, `date_from`, `date_to`, `max_results` |
| `search_asic_enforcement` | Australia ASIC | `firm_name`, `individual_name`, `action_type`, `date_from`, `date_to`, `max_results` |
| `search_mas_enforcement` | Singapore MAS | `firm`, `individual`, `action_type`, `date_from`, `date_to`, `max_results` |
| `search_sfc_enforcement` | Hong Kong SFC | `keyword`, `action_type`, `party_type`, `date_from`, `date_to`, `max_results` |
| `search_cftc_enforcement` | US CFTC (derivatives/commodities) | `keyword`, `violation_category`, `year_start`, `year_end`, `max_releases` |

Each tool returns the underlying actor's dataset items in `structuredContent` plus a short text summary.

---

### Connecting

The server speaks **MCP over Streamable-HTTP** at the `/mcp` endpoint.

**Server URL:** `https://nexgendata--sanctions-compliance-mcp-server.apify.actor/mcp`

#### Claude Desktop / Cursor / Windsurf (mcp config)
```json
{
  "mcpServers": {
    "sanctions-compliance": {
      "url": "https://nexgendata--sanctions-compliance-mcp-server.apify.actor/mcp",
      "headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }
    }
  }
}
````

***

### Example agent workflows

- **KYC onboarding:** "Screen 'Acme Holdings Ltd' across all sanctions lists" → `screen_all_sanctions(name="Acme Holdings Ltd")`.
- **Targeted OFAC check:** "Is anyone named Maduro on the OFAC SDN list?" → `screen_ofac_sdn(name="Maduro")`.
- **Counterparty due diligence:** "Has this UK firm faced FCA enforcement?" → `search_fca_enforcement(firm_or_individual="<firm>")`.
- **Market-abuse research:** "Find CFTC spoofing cases since 2023" → `search_cftc_enforcement(violation_category="spoofing", year_start=2023)`.

***

### Data sources & compliance notes

All results come from **public official** sources: US Treasury OFAC, the EU Consolidated List, the UN
Security Council Consolidated List, UK HM Treasury (OFSI), and the public enforcement registers of the
FTC, EPA, FCA, ASIC, MAS, SFC, and CFTC. This tool surfaces public-record information to support
compliance workflows; it is **not** a substitute for a regulated screening provider or for professional
legal/compliance judgement. Always confirm potential matches against the primary official source.

A practical, per-call alternative to enterprise screening feeds (Dow Jones, World-Check,
ComplyAdvantage) for agentic AML/KYC and regulatory-intelligence workflows.

### Related NexGenData actors

- [OFAC Sdn Watchlist Scraper](https://apify.com/nexgendata/ofac-sdn-watchlist-scraper?fpr=2ayu9b)
- [Un Sanctions Consolidated Tracker](https://apify.com/nexgendata/un-sanctions-consolidated-tracker?fpr=2ayu9b)
- [Eu Consolidated Sanctions Tracker](https://apify.com/nexgendata/eu-consolidated-sanctions-tracker?fpr=2ayu9b)
- [UK Hmt Financial Sanctions Tracker](https://apify.com/nexgendata/uk-hmt-financial-sanctions-tracker?fpr=2ayu9b)
- [UK Fca Enforcement Tracker](https://apify.com/nexgendata/uk-fca-enforcement-tracker?fpr=2ayu9b)

# Actor input Schema

## `enableServer` (type: `boolean`):

Enable MCP server mode (required for MCP usage)

## `port` (type: `integer`):

Port to run the MCP server on

## Actor input object example

```json
{
  "enableServer": true,
  "port": 3000
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "enableServer": true,
    "port": 3000
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/sanctions-compliance-mcp-server").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "enableServer": True,
    "port": 3000,
}

# Run the Actor and wait for it to finish
run = client.actor("nexgendata/sanctions-compliance-mcp-server").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "enableServer": true,
  "port": 3000
}' |
apify call nexgendata/sanctions-compliance-mcp-server --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=nexgendata/sanctions-compliance-mcp-server",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Sanctions Compliance MCP Server",
        "description": "MCP server: sanctions & enforcement screening for AI agents — screen any name across OFAC, EU, UN & UK HMT lists in one call, plus FTC/EPA/FCA/ASIC/MAS/SFC/CFTC enforcement actions. For AML/KYC, compliance & due diligence.",
        "version": "0.0",
        "x-build-id": "PfocfqepU223Gq6pF"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nexgendata~sanctions-compliance-mcp-server/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nexgendata-sanctions-compliance-mcp-server",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/nexgendata~sanctions-compliance-mcp-server/runs": {
            "post": {
                "operationId": "runs-sync-nexgendata-sanctions-compliance-mcp-server",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/nexgendata~sanctions-compliance-mcp-server/run-sync": {
            "post": {
                "operationId": "run-sync-nexgendata-sanctions-compliance-mcp-server",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "enableServer"
                ],
                "properties": {
                    "enableServer": {
                        "title": "Enable MCP Server",
                        "type": "boolean",
                        "description": "Enable MCP server mode (required for MCP usage)",
                        "default": true
                    },
                    "port": {
                        "title": "Server Port",
                        "type": "integer",
                        "description": "Port to run the MCP server on",
                        "default": 3000
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
