Opensanctions Mcp

io.github.scka-dePublished by GitHub account scka-dev0.1.1Updated Oct 24, 2026

Sanctions screening and PEP checks via OpenSanctions API for AI agents

Overview

AI-generated overview

A local MCP server that lets an assistant screen people and companies against OpenSanctions sanctions and PEP lists and pull entity details.

What you can do
Search the OpenSanctions database by name or keyword to find entities and related companies or people. Screen a person or company against sanctions and PEP lists using structured properties such as name, birth date and nationality. Fetch full entity details, including relationships to companies, associates and family members. List available sanctions and PEP datasets and get details on a specific dataset such as publisher, entity count and last update. Run a combined compliance investigation that matches, fetches details and maps relationships in one call.
When to use it
Useful when an assistant needs to check whether a person or company appears on sanctions or politically exposed person lists, or to look up entities and their relationships in OpenSanctions data during compliance research.
Requirements
Runs locally as an npm package via npx, so Node.js is needed. Requires an OpenSanctions API key in OPENSANCTIONS_API_KEY for screening tools; dataset listing and details work without a key. Optionally set OPENSANCTIONS_API_URL to a self-hosted yente instance, which needs no key. Network access to the OpenSanctions API.
Before you install
The API key in OPENSANCTIONS_API_KEY is a secret and is sent to the configured API endpoint. Screening queries include personal data such as names, birth dates and nationalities, which are sent to OpenSanctions or your own yente instance. Results are informational only and not legal or compliance advice; matches should be verified against official sources before any action.

Installation

In SourceWeft

  1. Open Opensanctions Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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:

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.

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 VariableRequiredDefaultDescription
OPENSANCTIONS_API_KEYYes*—API key for the hosted OpenSanctions API. Get one at opensanctions.org/api.
OPENSANCTIONS_API_URLNohttps://api.opensanctions.orgAPI URL. Set to your self-hosted yente instance.
OPENSANCTIONS_DATASETNodefaultDataset to screen against. default includes all 320+ sources.
OPENSANCTIONS_MAX_RETRIESNo3Max retries for failed API calls.
DEBUGNo—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:

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.gitcd opensanctions-mcpnpm installnpm test          # run tests (fixtures, no API key needed)npm run build     # compile to dist/npm run dev       # run in dev modenpm run lint      # check code style

License

MIT

Source: README.md at commit 99b5ebc

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts