io.github.scka-de/opensanctions-mcp
NPM · OPENSANCTIONS-MCP · SCANNED AUG 3
Sanctions screening and PEP checks via OpenSanctions API for AI agents
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security87
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 124 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability70
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 954 tokens (~159/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · opensanctions-mcp
claude mcp add scka-de-opensanctions-mcp -- npx -y opensanctions-mcp
codex mcp add scka-de-opensanctions-mcp -- npx -y opensanctions-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"scka-de-opensanctions-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"opensanctions-mcp"
],
"enabled": true
}
}
} openclaw mcp add scka-de-opensanctions-mcp --command npx --arg -y --arg opensanctions-mcp
mcp_servers:
scka-de-opensanctions-mcp:
command: "npx"
args: ["-y", "opensanctions-mcp"] {
"mcpServers": {
"scka-de-opensanctions-mcp": {
"command": "npx",
"args": [
"-y",
"opensanctions-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Aug 26 +48
- Provenance: unverified → fail ▼ security
- Known CVEs: unverified → partial ▲ security
- Install scripts: unverified → pass ▲ security
- Malware scan: unverified → pass ▲ security
- Security disclosure: fail → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- MCP protocol: unverified → pass ▲ functional
- Maintenance: unverified → pass ▲ functional
- Stability: unverified → 0.20 ▲ functional
- Dependency health: unverified → partial ▲ functional
- License: unverified → pass ▲ functional
- Schema quality: unverified → excellent ▲ functional
- Licence: MIT functional
- 1 Aug 26 +14
- Tool coverage: unverified → 100 ▲ functional
- 31 Jul 26 −39
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 28 Jul 26 +20
- Tool coverage: unverified → 100 ▲ functional
- First check of Schema quality: unverified functional
- First check of Schema quality: fail functional
- First check of Schema quality: fail functional
- First check of Tool coverage: 100 functional
- 27 Jul 26 24
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 95 packages
95 packages in the resolved dependency tree · 95 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
get_dataset ~75
Get full details about a specific dataset: description, publisher, entity count, last updated, and coverage information. No API key required. Use list_datasets first to find dataset names, then this tool for details.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Dataset name (e.g. "us_ofac_sdn", "eu_fsf") |
No output schema declared.
No examples provided.
get_entity ~109
Fetch complete details for a specific entity by ID, including all properties, dataset memberships, and relationships to other entities. Use this after finding an entity via search or match to get the full picture: aliases, addresses, birth dates, related companies, family members, associates. Relationships come from the OpenSanctions knowledge graph. Types include: ownershipOwner, familyRelative, associate, directorshipDirector, and more.
| Name | Type | Req | Description |
|---|---|---|---|
| entityId | string | yes | OpenSanctions entity ID (e.g. NK-...) |
No output schema declared.
No examples provided.
investigate_entity ~255
Run a multi-step compliance investigation on a person or company. This is the most powerful tool — it combines matching, entity details, and relationship traversal in one call. Steps: (1) Match the name against sanctions/PEP lists, (2) Fetch full details and relationships for top matches, (3) Return structured data with scores, datasets, and connected entities. Returns data only — no risk judgments. You (the AI) should interpret the scores, dataset memberships, and relationships to provide context to the user. Requires both name and schema (Person/Company). Provide additional properties like birthDate or nationality for better match precision.
| Name | Type | Req | Description |
|---|---|---|---|
| birthDate | string | — | ISO date (Person only, improves match precision) |
| dataset | string | — | Specific dataset to screen against |
| jurisdiction | string | — | ISO country code (Company only) |
| max_matches | number | — | Max matches to investigate in detail (default: 3) |
| name | string | yes | Entity name to investigate |
| nationality | string | — | ISO country code (Person only) |
| schema | string | yes | Entity type |
| threshold | number | — | Minimum match score 0.0-1.0 (default: 0.7) |
No output schema declared.
No examples provided.
list_datasets ~127
List available sanctions and PEP datasets in OpenSanctions. No API key required. Returns dataset names, titles, summaries, and entity counts. Use the optional query parameter to filter. Examples of datasets: "us_ofac_sdn" (US OFAC), "eu_fsf" (EU Financial Sanctions), "un_sc_sanctions" (UN Security Council), "gb_hmt_sanctions" (UK HMT).
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | — | Filter datasets by name, title, or summary (e.g. "ofac", "eu", "pep") |
No output schema declared.
No examples provided.
match_entity ~227
Screen a person or company against sanctions and PEP (Politically Exposed Person) lists using structured properties. This is the primary screening tool. Provide a schema type and properties for precise matching. The matching algorithm uses name comparison, birth dates, nationalities, and identifiers for scoring. Scores: 0.0-1.0. Above 0.9 = very high confidence match. 0.7-0.9 = likely match, investigate further. Below 0.7 = possible but uncertain. PEP = Politically Exposed Person (senior government officials, their families, close associates). PEP status appears in the "topics" property as "role.pep".
| Name | Type | Req | Description |
|---|---|---|---|
| dataset | string | — | Screen against a specific dataset. Defaults to all. |
| properties | object | yes | Entity properties. Required: "name". Optional for Person: "birthDate", "nationality", "idNumber", "gender". Optional for Company: "jurisdiction", "registrationNumber", "incorporationDate". |
| schema | string | yes | Entity type to match against |
No output schema declared.
No examples provided.
search_entities ~161
Search the OpenSanctions database by name or keyword. Returns matching entities ordered by relevance. Use this for exploratory queries: "find entities named Goldman", "search for companies in Russia". For formal sanctions screening with confidence scores, use match_entity instead. Results include entity type, datasets (which sanctions lists), and properties. For numeric match scores, use match_entity.
| Name | Type | Req | Description |
|---|---|---|---|
| dataset | string | — | Screen against a specific dataset (e.g. "us_ofac_sdn"). Defaults to all datasets. |
| limit | number | — | Max results to return (default: 20) |
| query | string | yes | Name or keyword to search for |
| schema | string | — | Filter by entity type: "Person", "Company", "LegalEntity", "Organization" |
No output schema declared.
No examples provided.