Skip to main content
Glama
scka-de
by scka-de

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:

{
  "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

Related MCP server: mcp-sanctions-check

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.

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 instance, point the server at it:

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

No API key needed for self-hosted yente.

Development

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

Available Tools

6 tools
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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesDataset name (e.g. "us_ofac_sdn", "eu_fsf")

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It usefully adds context about 'No API key required' which is important operational information. However, it doesn't mention potential limitations like rate limits, error conditions, or response format details that would be helpful for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly structured with two focused sentences. The first sentence clearly states the purpose and scope, while the second provides essential usage guidance. Every word earns its place with zero wasted text or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read operation with no output schema, the description provides good context about what information is returned and how to use the tool. The main gap is the lack of information about the response format or structure, which would be helpful since there's no output schema. However, the description covers the essential operational aspects well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'name' well-documented in the schema. The description doesn't add any additional parameter information beyond what's already in the schema, so it meets the baseline of 3 where the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Get full details about a specific dataset') and lists the exact information returned (description, publisher, entity count, last updated, coverage information). It explicitly distinguishes this tool from its sibling 'list_datasets' by explaining their complementary roles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool versus alternatives: 'Use list_datasets first to find dataset names, then this tool for details.' This clearly establishes the workflow relationship between these two sibling tools and provides practical implementation advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
entityIdYesOpenSanctions entity ID (e.g. NK-...)

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool fetches 'complete details' including properties, memberships, and relationships, and specifies that 'Relationships come from the OpenSanctions knowledge graph' with examples like 'ownershipOwner'. However, it lacks details on potential errors (e.g., invalid ID), rate limits, or authentication needs, which are relevant for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by usage guidelines and additional details. Each sentence adds necessary information without redundancy, making it efficient and well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (fetching detailed entity data), no annotations, and no output schema, the description does well by covering purpose, usage, and data scope. However, it could improve by mentioning the response format or potential limitations (e.g., data freshness, error cases), leaving minor gaps in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for the single parameter 'entityId', so the baseline is 3. The description adds value by specifying the parameter's purpose ('to get the full picture') and providing an example format ('e.g., NK-...'), which enhances understanding beyond the schema's basic type and requirement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Fetch complete details') and resource ('specific entity by ID'), specifying the scope includes 'all properties, dataset memberships, and relationships to other entities'. It distinguishes from siblings like 'search_entities' (which finds entities) and 'match_entity' (which matches entities), making it specific and non-tautological.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool: 'Use this after finding an entity via search or match to get the full picture'. This provides clear context for usage relative to alternatives like 'search_entities' and 'match_entity', with no misleading or missing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesEntity name to investigate
schemaYesEntity type
birthDateNoISO date (Person only, improves match precision)
nationalityNoISO country code (Person only)
jurisdictionNoISO country code (Company only)
thresholdNoMinimum match score 0.0-1.0 (default: 0.7)
max_matchesNoMax matches to investigate in detail (default: 3)
datasetNoSpecific dataset to screen against

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does well at disclosing behavioral traits. It explains the multi-step process, clarifies that it 'returns data only — no risk judgments' (important behavioral constraint), mentions that the AI should interpret results, and notes it requires specific parameters for better precision. It doesn't cover rate limits or authentication needs, but provides substantial operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and well-structured with clear sections: purpose statement, steps, output behavior clarification, and parameter guidance. Every sentence earns its place, though the final sentence about additional properties could be slightly more concise. It's front-loaded with the core purpose and effectively uses bullet-like formatting for the steps.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, multi-step investigation) and lack of both annotations and output schema, the description does a good job of providing context. It explains the investigation process, clarifies the AI's role in interpretation, and provides parameter guidance. The main gap is the absence of output format details, which would be helpful since there's no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds some value by explaining that 'additional properties like birthDate or nationality' improve match precision and that both name and schema are required, but doesn't provide significant semantic context beyond what the schema already documents. It mentions threshold and max_matches defaults but these are already in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Run a multi-step compliance investigation on a person or company.' It specifies the exact steps involved (matching, fetching details, relationship traversal) and distinguishes it from siblings by calling it 'the most powerful tool' that combines multiple functions in one call, unlike simpler tools like get_entity or match_entity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: for comprehensive compliance investigations that require multi-step analysis. It mentions that it 'combines matching, entity details, and relationship traversal in one call,' suggesting it should be used instead of calling multiple simpler tools separately. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoFilter datasets by name, title, or summary (e.g. "ofac", "eu", "pep")

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that no API key is required (useful auth context) and describes the return content (dataset names, titles, summaries, entity counts). However, it doesn't mention behavioral aspects like rate limits, pagination, error conditions, or whether this is a read-only operation (though implied by 'List').

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured: first sentence states purpose and key constraint, second describes returns, third explains parameter usage, and fourth provides concrete examples. Every sentence adds value, with no redundant information, and it's front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (single optional parameter, no output schema, no annotations), the description is largely complete. It covers purpose, usage, returns, and examples. The main gap is lack of output structure details (e.g., format of returned list), but since there's no output schema, this could be more explicitly addressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents the single optional 'query' parameter. The description adds minimal value beyond the schema by mentioning 'filter datasets by name, title, or summary' and providing example queries ('ofac', 'eu', 'pep'), but doesn't explain semantics like partial vs. exact matching. Baseline 3 is appropriate given high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('List') and resource ('available sanctions and PEP datasets in OpenSanctions'), distinguishing it from siblings like get_dataset (retrieve specific dataset) or search_entities (search within datasets). It explicitly mentions what information is returned (dataset names, titles, summaries, entity counts).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('No API key required' indicates accessibility, and 'Use the optional query parameter to filter' suggests it's for browsing/filtering datasets). However, it doesn't explicitly state when NOT to use it or name specific alternatives among the siblings (e.g., use get_dataset for detailed metadata of a specific dataset).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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".

ParametersJSON Schema
NameRequiredDescriptionDefault
schemaYesEntity type to match against
propertiesYesEntity properties. Required: "name". Optional for Person: "birthDate", "nationality", "idNumber", "gender". Optional for Company: "jurisdiction", "registrationNumber", "incorporationDate".
datasetNoScreen against a specific dataset. Defaults to all.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it explains the scoring system (0.0-1.0 with confidence thresholds), defines PEP, and notes that PEP status appears in 'topics' as 'role.pep.' It could improve by mentioning rate limits or authentication needs, but it covers the core matching algorithm and output interpretation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, with the purpose stated first. Each sentence adds useful information (e.g., scoring, PEP definition), but it could be slightly more concise by integrating the PEP explanation into the initial sentence or reducing redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (screening with scoring), no annotations, and no output schema, the description is mostly complete. It explains the purpose, usage, scoring, and PEP details. However, it lacks information on error handling or example outputs, which would enhance completeness for a tool with no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds some value by mentioning that the matching algorithm uses 'name comparison, birth dates, nationalities, and identifiers for scoring,' which provides context for the 'properties' parameter, but it does not significantly elaborate beyond what the schema already describes for parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Screen a person or company against sanctions and PEP lists using structured properties.' It specifies the verb ('Screen'), resource ('person or company'), and target ('sanctions and PEP lists'), and distinguishes it from siblings by labeling it as 'the primary screening tool.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: it's for screening against sanctions and PEP lists. However, it does not explicitly state when not to use it or name alternatives (e.g., 'investigate_entity' might be for deeper analysis), though it implies this is the main tool for initial screening.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesName or keyword to search for
schemaNoFilter by entity type: "Person", "Company", "LegalEntity", "Organization"
datasetNoScreen against a specific dataset (e.g. "us_ofac_sdn"). Defaults to all datasets.
limitNoMax results to return (default: 20)

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses key behavioral traits like ordering ('ordered by relevance'), result content ('entity type, datasets, and properties'), and default behavior ('Defaults to all datasets'), but lacks details on error handling, rate limits, or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with core functionality, followed by usage guidance and result details. Every sentence adds value without redundancy, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (4 parameters, no output schema, no annotations), the description is largely complete—covering purpose, usage, and result structure. However, it lacks details on error cases or pagination, which would be helpful for a search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds minimal parameter semantics beyond the schema, mentioning only that queries can be 'by name or keyword' for the 'query' parameter, without providing additional context for other parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('search', 'returns') and resources ('OpenSanctions database', 'matching entities'), and explicitly distinguishes it from sibling tool 'match_entity' by contrasting exploratory queries with formal sanctions screening.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool ('for exploratory queries') versus when to use an alternative ('for formal sanctions screening with confidence scores, use match_entity'), including concrete examples of appropriate queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv0.1.2
    • First observedget_dataset
    • First observedget_entity
    • First observedinvestigate_entity
    • First observedlist_datasets
    • First observedmatch_entity
    • First observedsearch_entities

TDQS

A4.4/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    AML Watcher MCP Server gives AI agents direct, real-time access to AML Watcher's proprietary sanctions, watchlist, and PEP databases. Connect your agentic workflows to 215+ sanctions regimes, 2.6M+ PEP profiles, and coverage across 235+ countries, no complex integrations required.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for OFAC SDN sanctions screening. Check names against US Treasury sanctions lists with automatic cache refresh. No API key needed for the check itself.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for Infinihash KYT providing real-time blockchain transaction monitoring, sanctions screening, and SAR generation. It enables MCP-compatible agents to screen wallets against OFAC SDN and generate compliance cases.
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server for U.S. public-records data, enabling AI agents to search business registrations, screen names against government watchlists, and pull federal awards.
    4
    46
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/scka-de/opensanctions-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server