io.github.scka-de/opensanctions-mcp
Sanctions screening and PEP checks via OpenSanctions API for AI agents
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
opensanctions-mcpclaude mcp add opensanctions-mcp -e 'OPENSANCTIONS_API_KEY=<your opensanctions_api_key>' -e 'OPENSANCTIONS_API_URL=<OPENSANCTIONS_API_URL>' -- npx -y opensanctions-mcp@0.1.1
{
"mcpServers": {
"opensanctions-mcp": {
"command": "npx",
"args": [
"-y",
"opensanctions-mcp@0.1.1"
],
"env": {
"OPENSANCTIONS_API_KEY": "<your opensanctions_api_key>",
"OPENSANCTIONS_API_URL": "<OPENSANCTIONS_API_URL>"
}
}
}
}
Environment variables
OPENSANCTIONS_API_KEYrequired secret OpenSanctions API key. Get a free key at https://www.opensanctions.org/api/OPENSANCTIONS_API_URLAPI URL. Defaults to https://api.opensanctions.org. Set to your self-hosted yente URL if applicable.
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
opensanctions-mcp
MCP server for sanctions screening and PEP checks via the OpenSanctions API.
Lets AI agents (Claude, Cursor, Windsurf, GPT) screen persons and companies against 320+ sanctions and PEP lists from OFAC, EU, UN, UK HMT, and more.
Disclaimer: This tool provides informational data only. It is not legal or compliance advice. Always verify matches with official sources before taking action.
Quick Start
Add to your MCP client config:
{
"mcpServers": {
"opensanctions": {
"command": "npx",
"args": ["-y", "opensanctions-mcp"],
"env": {
"OPENSANCTIONS_API_KEY": "your-key-here"
}
}
}
}
Get a free API key at opensanctions.org/api.
Where to add this config
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%APPDATA%\Claude\claude_desktop_config.json(Windows) - Cursor: Settings > MCP Servers
- Windsurf:
~/.windsurf/config.json
Tools
search_entities
Search the OpenSanctions database by name or keyword.
"Search for entities named Viktor Bout"
"Find companies related to Iran sanctions"
match_entity
Screen a person or company against sanctions and PEP lists using structured properties. This is the primary screening tool.
"Screen Viktor Bout, born 1967-01-13, Russian national, against sanctions lists"
"Check if Acme Corp is on any EU sanctions list"
get_entity
Fetch complete details for a specific entity, including relationships to other entities (companies, associates, family members).
"Get full details for entity NK-2Ciy8EG7jz1YHMGCxYLb25"
list_datasets
List available sanctions and PEP datasets. No API key required.
"What sanctions lists are available?"
"Show me EU-related datasets"
get_dataset
Get details about a specific dataset (publisher, entity count, last updated). No API key required.
"Tell me about the OFAC SDN list"
investigate_entity
Run a full compliance investigation in one call: match, fetch details, map relationships, and return structured data.
"Investigate Viktor Bout for sanctions exposure"
"Run a compliance check on Acme Corp, jurisdiction Belgium"
Configuration
| Environment Variable | Required | Default | Description |
|---|---|---|---|
OPENSANCTIONS_API_KEY | Yes* | — | API key for the hosted OpenSanctions API. Get one at opensanctions.org/api. |
OPENSANCTIONS_API_URL | No | https://api.opensanctions.org | API URL. Set to your self-hosted yente instance. |
OPENSANCTIONS_DATASET | No | default | Dataset to screen against. default includes all 320+ sources. |
OPENSANCTIONS_MAX_RETRIES | No | 3 | Max retries for failed API calls. |
DEBUG | No | — | Set to any value to enable debug logging. |
*Not required for list_datasets, get_dataset, or when using a self-hosted yente instance without auth.
Self-hosted yente
If you run your own yente instance, point the server at it:
{
"mcpServers": {
"opensanctions": {
"command": "npx",
"args": ["-y", "opensanctions-mcp"],
"env": {
"OPENSANCTIONS_API_URL": "http://localhost:8000"
}
}
}
}
No API key needed for self-hosted yente.
Development
git clone https://github.com/scka-de/opensanctions-mcp.git
cd opensanctions-mcp
npm install
npm test # run tests (fixtures, no API key needed)
npm run build # compile to dist/
npm run dev # run in dev mode
npm run lint # check code style
License
MIT
Frequently asked questions
What is io.github.scka-de/opensanctions-mcp?
Sanctions screening and PEP checks via OpenSanctions API for AI agents
How do I install io.github.scka-de/opensanctions-mcp?
It runs on your machine. In Claude Code: claude mcp add opensanctions-mcp -e 'OPENSANCTIONS_API_KEY=<your opensanctions_api_key>' -e 'OPENSANCTIONS_API_URL=<OPENSANCTIONS_API_URL>' -- npx -y opensanctions-mcp@0.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.scka-de/opensanctions-mcp need an API key?
Yes. It expects OPENSANCTIONS_API_KEY, which you set in its configuration.
Is io.github.scka-de/opensanctions-mcp open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.github.scka-de/opensanctions-mcp?
It is published by scka-de. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.