GCC Sanctions & Terror-List Screener

Screen names vs OFAC, UN, EU, UK and UAE terrorist lists with Arabic-aware matching.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
79%
Calidad de los nombres
88%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,884Tokens (definiciones de herramientas)
~4.1 KBTamaño de respuesta típico
Impacto significativo en la atención (2.25% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "sanctions-screener": {
      "url": "https://screen.noahsarch.tech/mcp"
    }
  }
}

Puntos de conexión remotos

https://screen.noahsarch.tech/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (5)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢screen_name(name, dob, nationality, entity_type, id_number, ...)

Screen a person, company, vessel or aircraft name against OFAC SDN + Consolidated, UN, EU, UK and the UAE Local Terrorist List. Returns up to 20 hits sorted by score with list, listed_name, aliases_matched, score, match_strength (exact / strong / possible / weak), matched_on (which alias, which normalisation, DOB / nationality / type agreement), programs, listed_on, DOBs, nationalities, id_numbers, reference and source_url, plus decision_hint. Example: name 'Mohamed Hussein Al-Tikriti', dob '1966', nationality 'IQ', entity_type 'individual'. Response: result plus data_confidence, estimated_items[], sources[] (official list pages), data_version (snapshot id), warnings[] (e.g. a list snapshot older than 7 days) and a disclaimer. Lists: ofac_sdn, ofac_cons, un, eu, uk, uae. Names are never logged; matching is deterministic (no AI) and runs offline against the bundled snapshot.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Full name to screen, Latin or Arabic script (e.g. 'Mohamed Al Rashid' or 'محمد الراشد').",
      "title": "Name",
      "type": "string"
    },
    "dob": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Date of birth 'YYYY', 'YYYY-MM' or 'YYYY-MM-DD'. Year match adds, mismatch subtracts; omit if unknown.",
      "title": "Dob"
    },
    "nationality": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Nationality / country of incorporation as ISO 3166-1 alpha-2 ('AE', 'IR', 'GB'). Omit if unknown.",
      "title": "Nationality"
    },
    "entity_type": {
      "default": "any",
      "description": "individual | entity | vessel | aircraft | any (default). Disagreement with the listed type costs 20 points.",
      "enum": [
        "individual",
        "entity",
        "vessel",
        "aircraft",
        "any"
      ],
      "title": "Entity Type",
      "type": "string"
    },
    "id_number": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Passport / national ID / registration number. An exact match on a listed number is reported as 'exact' (score 100).",
      "title": "Id Number"
    },
    "lists": {
      "anyOf": [
        {
          "items": {
            "enum": [
              "ofac_sdn",
              "ofac_cons",
              "un",
              "eu",
              "uk",
              "uae"
            ],
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Subset of lists to screen (default all): ofac_sdn, ofac_cons, un, eu, uk, uae.",
      "title": "Lists"
    },
    "min_score": {
      "default": 85,
      "description": "Minimum score (0–100) for a hit to be returned; default 85. 80 widens the net for onboarding, 92 for alert review.",
      "title": "Min Score",
      "type": "number"
    }
  },
  "required": [
    "name"
  ],
  "title": "screen_nameArguments"
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true,
  "title": "screen_nameDictOutput"
}
🟢screen_batch(subjects, lists, min_score, default_nationality)

Each subject may carry dob, nationality, entity_type, id_number and your reference. Identical rows are screened once (charged once). Returns per-subject decision_hint, hit_count, top_score and the top 5 hits, plus summary counts (clear / review / likely_match). Charged per unique name. Example: subjects [{name:'Ali Kony', reference:'C-17'}, {name:'شركة الأمل للتجارة', entity_type:'entity'}], default_nationality 'AE'. Response: result plus data_confidence, estimated_items[], sources[] (official list pages), data_version (snapshot id), warnings[] (e.g. a list snapshot older than 7 days) and a disclaimer. Lists: ofac_sdn, ofac_cons, un, eu, uk, uae. Names are never logged; matching is deterministic (no AI) and runs offline against the bundled snapshot.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "subjects": {
      "description": "Up to 500 subjects (name + optional dob / nationality / entity_type / id_number / reference). Identical rows are screened once.",
      "items": {
        "$ref": "#/$defs/Subject"
      },
      "title": "Subjects",
      "type": "array"
    },
    "lists": {
      "anyOf": [
        {
          "items": {
            "enum": [
              "ofac_sdn",
              "ofac_cons",
              "un",
              "eu",
              "uk",
              "uae"
            ],
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Subset of lists to screen (default all): ofac_sdn, ofac_cons, un, eu, uk, uae.",
      "title": "Lists"
    },
    "min_score": {
      "default": 85,
      "description": "Minimum score (0–100) for a hit to be returned; default 85. 80 widens the net for onboarding, 92 for alert review.",
      "title": "Min Score",
      "type": "number"
    },
    "default_nationality": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "ISO2 applied to rows without a nationality.",
      "title": "Default Nationality"
    }
  },
  "required": [
    "subjects"
  ],
  "$defs": {
    "Subject": {
      "additionalProperties": false,
      "properties": {
        "name": {
          "description": "Full name, Latin or Arabic script.",
          "maxLength": 300,
          "minLength": 1,
          "title": "Name",
          "type": "string"
        },
        "dob": {
          "anyOf": [
            {
              "maxLength": 10,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date of birth 'YYYY', 'YYYY-MM' or 'YYYY-MM-DD'. Year match adds, mismatch subtracts; omit if unknown.",
          "title": "Dob"
        },
        "nationality": {
          "anyOf": [
            {
              "maxLength": 2,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Nationality / country of incorporation as ISO 3166-1 alpha-2 ('AE', 'IR', 'GB'). Omit if unknown.",
          "title": "Nationality"
        },
        "entity_type": {
          "default": "any",
          "description": "individual | entity | vessel | aircraft | any (default). Disagreement with the listed type costs 20 points.",
          "enum": [
            "individual",
            "entity",
            "vessel",
            "aircraft",
            "any"
          ],
          "title": "Entity Type",
          "type": "string"
        },
        "id_number": {
          "anyOf": [
            {
              "maxLength": 64,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Passport / national ID / registration number. An exact match on a listed number is reported as 'exact' (score 100).",
          "title": "Id Number"
        },
        "reference": {
          "anyOf": [
            {
              "maxLength": 120,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Your own row id / customer reference, echoed back.",
          "title": "Reference"
        }
      },
      "required": [
        "name"
      ],
      "title": "Subject",
      "type": "object"
    }
  },
  "title": "screen_batchArguments"
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true,
  "title": "screen_batchDictOutput"
}
🟢audit_report(subjects, lists, min_score, prepared_by, case_reference)

Screens 1–50 subjects and returns a self-contained HTML report (result.html): timestamp, each list with its version / fetched-at / SHA-256, the inputs, every hit with its explanation, and an explicit no-match statement for clear subjects — suitable for the client's AML file (open in a browser, print to PDF). One charge per report. Example: subjects [{name:'Qusay Saddam Hussein', dob:'1966'}], case_reference 'KYC-2026-0412', prepared_by 'MLRO'. Response: result plus data_confidence, estimated_items[], sources[] (official list pages), data_version (snapshot id), warnings[] (e.g. a list snapshot older than 7 days) and a disclaimer. Lists: ofac_sdn, ofac_cons, un, eu, uk, uae. Names are never logged; matching is deterministic (no AI) and runs offline against the bundled snapshot.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "subjects": {
      "description": "1 to 50 subjects to include in one report.",
      "items": {
        "$ref": "#/$defs/Subject"
      },
      "title": "Subjects",
      "type": "array"
    },
    "lists": {
      "anyOf": [
        {
          "items": {
            "enum": [
              "ofac_sdn",
              "ofac_cons",
              "un",
              "eu",
              "uk",
              "uae"
            ],
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Subset of lists to screen (default all): ofac_sdn, ofac_cons, un, eu, uk, uae.",
      "title": "Lists"
    },
    "min_score": {
      "default": 85,
      "description": "Minimum score (0–100) for a hit to be returned; default 85. 80 widens the net for onboarding, 92 for alert review.",
      "title": "Min Score",
      "type": "number"
    },
    "prepared_by": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Name / role of the compliance officer, printed on the report.",
      "title": "Prepared By"
    },
    "case_reference": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Your case / client file reference, printed on the report.",
      "title": "Case Reference"
    }
  },
  "required": [
    "subjects"
  ],
  "$defs": {
    "Subject": {
      "additionalProperties": false,
      "properties": {
        "name": {
          "description": "Full name, Latin or Arabic script.",
          "maxLength": 300,
          "minLength": 1,
          "title": "Name",
          "type": "string"
        },
        "dob": {
          "anyOf": [
            {
              "maxLength": 10,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Date of birth 'YYYY', 'YYYY-MM' or 'YYYY-MM-DD'. Year match adds, mismatch subtracts; omit if unknown.",
          "title": "Dob"
        },
        "nationality": {
          "anyOf": [
            {
              "maxLength": 2,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Nationality / country of incorporation as ISO 3166-1 alpha-2 ('AE', 'IR', 'GB'). Omit if unknown.",
          "title": "Nationality"
        },
        "entity_type": {
          "default": "any",
          "description": "individual | entity | vessel | aircraft | any (default). Disagreement with the listed type costs 20 points.",
          "enum": [
            "individual",
            "entity",
            "vessel",
            "aircraft",
            "any"
          ],
          "title": "Entity Type",
          "type": "string"
        },
        "id_number": {
          "anyOf": [
            {
              "maxLength": 64,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Passport / national ID / registration number. An exact match on a listed number is reported as 'exact' (score 100).",
          "title": "Id Number"
        },
        "reference": {
          "anyOf": [
            {
              "maxLength": 120,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Your own row id / customer reference, echoed back.",
          "title": "Reference"
        }
      },
      "required": [
        "name"
      ],
      "title": "Subject",
      "type": "object"
    }
  },
  "title": "audit_reportArguments"
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true,
  "title": "audit_reportDictOutput"
}
🟢list_status

Per list: entries (individuals / entities / vessels / aircraft), aliases, fetched_at, days_since_fetch (stale flag when older than 7 days), official source URL and page, SHA-256 of the downloaded file, licence/terms, and any failures of the last refresh. Free. Call it before relying on a 'clear' result in a regulated process. Response: result plus data_confidence, estimated_items[], sources[] (official list pages), data_version (snapshot id), warnings[] (e.g. a list snapshot older than 7 days) and a disclaimer. Lists: ofac_sdn, ofac_cons, un, eu, uk, uae. Names are never logged; matching is deterministic (no AI) and runs offline against the bundled snapshot.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "title": "list_statusArguments"
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true,
  "title": "list_statusDictOutput"
}
🟢explain_match(name_a, name_b)

Normalises both names step by step (Unicode, Arabic letter folding, honorifics/particles dropped, merged 'Abdul…' forms split, romanisation variants folded) and returns every score component (token_sort, token_set, Jaro-Winkler, subset, or the cross-script skeleton) and the resulting score / strength. Free. Example: name_a 'Abd al-Rahman Al Shaikh', name_b 'عبدالرحمن الشيخ'. Response: result plus data_confidence, estimated_items[], sources[] (official list pages), data_version (snapshot id), warnings[] (e.g. a list snapshot older than 7 days) and a disclaimer. Lists: ofac_sdn, ofac_cons, un, eu, uk, uae. Names are never logged; matching is deterministic (no AI) and runs offline against the bundled snapshot.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name_a": {
      "description": "First name to compare (Latin or Arabic).",
      "title": "Name A",
      "type": "string"
    },
    "name_b": {
      "description": "Second name to compare (Latin or Arabic).",
      "title": "Name B",
      "type": "string"
    }
  },
  "required": [
    "name_a",
    "name_b"
  ],
  "title": "explain_matchArguments"
}

Esquema de salida

{
  "type": "object",
  "additionalProperties": true,
  "title": "explain_matchDictOutput"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada5 herramientas