GCC Sanctions & Terror-List Screener

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

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
79%
이름 품질
88%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,884토큰 (도구 정의)
~4.1 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.25%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 5개