OFAC and global sanctions screening: crypto addresses, emails, websites, IDs, countries, VPN, geo
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer <API token> — create a free token at https://app.compliapi.com/account/signup. Omit to pay per call via x402 (USDC on Base); tools/list works anonymously.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Detect whether an IP address is using a VPN.
Detect whether an IP address is using a VPN.
| Argument | Type | Description |
|---|---|---|
| ip_address* | string |
{
"type": "object",
"required": [
"ip_address"
],
"properties": {
"ip_address": {
"type": "string"
}
},
"additionalProperties": false
}Geolocate an IP address and flag whether it is in a sanctioned country.
| Argument | Type | Description |
|---|---|---|
| ip_address* | string |
{
"type": "object",
"required": [
"ip_address"
],
"properties": {
"ip_address": {
"type": "string"
}
},
"additionalProperties": false
}Check whether a country or region carries sanctions designations (OFAC-curated today). `lists`: optional comma-separated list slugs.
| Argument | Type | Description |
|---|---|---|
| lists | any | |
| country* | string |
{
"type": "object",
"required": [
"country"
],
"properties": {
"lists": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"country": {
"type": "string"
}
},
"additionalProperties": false
}Screen a crypto address on any chain (or an ENS name, e.g. vitalik.eth) across the enabled sanctions and crime lists. `lists`: optional comma-separated list slugs.
| Argument | Type | Description |
|---|---|---|
| lists | any | |
| address* | string |
{
"type": "object",
"required": [
"address"
],
"properties": {
"lists": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"address": {
"type": "string"
}
},
"additionalProperties": false
}Screen an email address across the enabled sanctions and crime lists. `lists`: optional comma-separated list slugs.
| Argument | Type | Description |
|---|---|---|
| email* | string | |
| lists | any |
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string"
},
"lists": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"additionalProperties": false
}Screen a government-issued ID (passport, tax ID, …) across the enabled lists (fuzzy matching). `lists`: optional comma-separated list slugs.
| Argument | Type | Description |
|---|---|---|
| lists | any | |
| government_id* | string |
{
"type": "object",
"required": [
"government_id"
],
"properties": {
"lists": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"government_id": {
"type": "string"
}
},
"additionalProperties": false
}Screen a person's name against the OpenSanctions PEP (politically exposed persons) dataset. Returns scored candidates; `pep` is true when any candidate clears the 0.7 match threshold. `birth_date` (YYYY-MM-DD, or partial) and `country` (name or ISO code) sharpen matching.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| country | any | |
| birth_date | any |
{
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"birth_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"additionalProperties": false
}Screen a website or domain across the enabled sanctions and crime lists. `lists`: optional comma-separated list slugs.
| Argument | Type | Description |
|---|---|---|
| lists | any | |
| website* | string |
{
"type": "object",
"required": [
"website"
],
"properties": {
"lists": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"website": {
"type": "string"
}
},
"additionalProperties": false
}