About sanctions
sanctions is an MCP server for KYC/AML screening of Czech people and companies against EU and OFAC lists. It offers fuzzy searches, identifier checks, listing details, and updates using a locally built SQLite database.
Key features
- 01Search people against sanctions lists
- 02Search companies and organizations
- 03Check Czech IČO identifiers
- 04Retrieve full listing records
- 05Track recent list updates
Use cases
- 01Screen a person during KYC checks
- 02Check a company identifier against sanctions lists
- 03Review changes for an existing watchlist
MCP support
Exposes screening, listing lookup, and update tools to MCP clients. A bundled refresh CLI builds the local SQLite database used by the server.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://sanctions.cz-agents.dev/mcpclaude mcp add --transport http dev-cz-agents-sanctions https://sanctions.cz-agents.dev/mcp{"mcpServers":{"dev-cz-agents-sanctions":{"type":"http","url":"https://sanctions.cz-agents.dev/mcp"}}}Open in Cursor{"servers":{"dev-cz-agents-sanctions":{"type":"http","url":"https://sanctions.cz-agents.dev/mcp"}}}Open in VS Code{"mcpServers":{"dev-cz-agents-sanctions":{"type":"http","url":"https://sanctions.cz-agents.dev/mcp"}}}{"mcpServers":{"dev-cz-agents-sanctions":{"serverUrl":"https://sanctions.cz-agents.dev/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
6| Parameter | Type | Required | Description |
|---|---|---|---|
| dob | string | No | YYYY or YYYY-MM-DD. Optional, narrows matches. |
| name | string | Yes | Full name. Cyrillic / Arabic / Chinese tolerated; transliteration applied. |
| limit | integer | No | Max results (default 20). |
| threshold | integer | No | Min confidence to include in results (default 80). |
| nationality | string | No | Country name or ISO code. Optional. |
Details
From the project README@czagents/sanctions
Sanctions screening for KYC/AML — check Czech companies and individuals against EU Financial Sanctions (FSF) and US OFAC SDN lists. Per-entity and per-statutory-member checks. Official consolidated lists, updated from source.
Install
npm install -g @czagents/sanctions
Usage with Claude Desktop
{
"mcpServers": {
"sanctions": {
"command": "npx",
"args": ["-y", "@czagents/sanctions"],
"env": {
"SANCTIONS_DB": "/absolute/path/to/sanctions.db"
}
}
}
}
The local SQLite database is built by the bundled refresh CLI:
npx @czagents/sanctions-refresh
This fetches and normalizes the upstream lists into a single SQLite file. Re-run on a daily cron for fresh data.
Tools
search_person
Fuzzy-search a person across the loaded EU, OFAC and other sanctions lists. Use it for an individual name-screening step; add date of birth or nationality when you have them to reduce false positives. Do not use a low-confidence name-only match as a final sanctions decision — review the returned record and identifiers.
{"name":"Jan Novak","dob":"1974-05-12","nationality":"CZ","threshold":80,"limit":20}
search_entity
Fuzzy-search a company or organisation by name, optionally narrowed by country. Use it when you have a legal name but no reliable identifier. Do not use it for an exact Czech company-ID check; use check_ico instead.
{"name":"Acme Imports s.r.o.","country":"CZ","threshold":80,"limit":20}
check_ico
Check whether a Czech IČO, or another comparable company identifier, appears on the sanctions lists. Add name only as a fuzzy fallback when the identifier itself is not listed. Do not treat an empty result as a clean screening result if the server reports that its sanctions database is unavailable or stale.
{"ico":"12345678","name":"Acme Imports s.r.o."}
get_listing
Retrieve the complete source record for one sanctions-list entry returned by a search. Use it to inspect identifiers, aliases and source data before a human decision. Do not call it with a company IČO or person name; it accepts a listing ID such as ofac:12345.
{"id":"ofac:12345"}
list_recent_updates
Return sanctions entries added, removed or modified since a given time, optionally for one source. Use it to update an existing watchlist workflow. Do not use it to screen a particular customer portfolio: it is a global change feed, not a per-customer match.
{"since":"2026-07-01","source":"eu"}
rescreen_portfolio (paid; available when x402 is enabled)
Re-screen a supplied portfolio against changes in sanctions lists since its last screening and return only affected subjects. Use it for a watchlist you already maintain. Do not use it for a single person or company, or as a replacement for list_recent_updates when you need the global change feed.
{"subjects":[{"ref":"customer-42","name":"Acme Imports s.r.o.","ico":"12345678"}],"since":"2026-07-01","source":"eu"}
Self-host
Source: https://github.com/martinhavel/cz-agents-mcp
git clone https://github.com/martinhavel/cz-agents-mcp
cd cz-agents-mcp
npm install
npm run build
node packages/sanctions/dist/cli-refresh.js # build sanctions.db
SANCTIONS_DB=$PWD/sanctions.db node packages/sanctions/dist/index.js
Free tier & pricing
Free tier rate-limited. Higher limits and commercial use: https://cz-agents.dev/pricing.html
License
MIT — see LICENSE
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.