GCC Sanctions & Terror-List Screener
Screen names vs OFAC, UN, EU, UK and UAE terrorist lists with Arabic-aware matching.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"sanctions-screener": {
"url": "https://screen.noahsarch.tech/mcp"
}
}
}원격 엔드포인트
https://screen.noahsarch.tech/mcpstreamable-http할 수 있는 일
도구 목록
도구 (5)
🟢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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"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.
입력 스키마
{
"type": "object",
"properties": {},
"title": "list_statusArguments"
}출력 스키마
{
"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.
입력 스키마
{
"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"
}출력 스키마
{
"type": "object",
"additionalProperties": true,
"title": "explain_matchDictOutput"
}커뮤니티
증거