opensanctions-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEBUG | No | Set to any value to enable debug logging. | |
| OPENSANCTIONS_API_KEY | No | API key for the hosted OpenSanctions API. Get one at https://www.opensanctions.org/api/. | |
| OPENSANCTIONS_API_URL | No | API URL. Set to your self-hosted yente instance. | https://api.opensanctions.org |
| OPENSANCTIONS_DATASET | No | Dataset to screen against. 'default' includes all 320+ sources. | default |
| OPENSANCTIONS_MAX_RETRIES | No | Max retries for failed API calls. | 3 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_entitiesA | 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. |
| match_entityA | 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". |
| get_entityA | 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. |
| list_datasetsA | 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). |
| get_datasetA | 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. |
| investigate_entityA | 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose with minimal overlap: list_datasets enumerates datasets, get_dataset retrieves dataset details, search_entities performs keyword searches, match_entity conducts structured screening with scores, get_entity fetches full entity details, and investigate_entity runs comprehensive investigations. The descriptions explicitly differentiate them, such as noting that search_entities is for exploratory queries while match_entity is for formal screening.
All tool names follow a consistent verb_noun pattern using snake_case: list_datasets, get_dataset, search_entities, match_entity, get_entity, and investigate_entity. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions.
With 6 tools, the server is well-scoped for its domain of sanctions and PEP data access. Each tool serves a specific function in the workflow, from listing and getting datasets to searching, matching, and investigating entities, without being overly sparse or bloated.
The tool set provides complete coverage for the OpenSanctions domain, including dataset enumeration (list_datasets, get_dataset), entity discovery (search_entities, match_entity), detailed retrieval (get_entity), and advanced analysis (investigate_entity). There are no obvious gaps; agents can perform full workflows from initial screening to in-depth investigation.