Back to the catalog

io.github.scka-de/opensanctions-mcp

Sanctions screening and PEP checks via OpenSanctions API for AI agents

Open source Open in the app JSON README (API)

About

Sanctions screening and PEP checks via OpenSanctions API for AI agents

Details

Kind
MCP servers
Topic
Security & identity
Publisher
scka-de
Origin
official
Category
ferramentas
Transport
local
Version
0.1.1
Last push
2026-03-31T18:15:35Z
Repository state
ativo
Language
TypeScript
License
MIT
Added
2026-08-29 04:01:22
Updated
2026-08-29 04:01:22
Origin id
io.github.scka-de/opensanctions-mcp

README

# opensanctions-mcp

MCP server for sanctions screening and PEP checks via the [OpenSanctions](https://www.opensanctions.org/) 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:

```json
{
  "mcpServers": {
    "opensanctions": {
      "command": "npx",
      "args": ["-y", "opensanctions-mcp"],
      "env": {
        "OPENSANCTIONS_API_KEY": "your-key-here"
      }
    }
  }
}
```

Get a free API key at [opensanctions.org/api](https://www.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](https://www.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](https://github.com/opensanctions/yente) instance, point the server at it:

```json
{
  "mcpServers": {
    "opensanctions": {
      "command": "npx",
      "args": ["-y", "opensanctions-mcp"],
      "env": {
        "OPENSANCTIONS_API_URL": "http://localhost:8000"
      }
    }
  }
}
```

No API key needed for self-hosted yente.

## Development

```bash
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

More