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,884token 数(工具定义)
~4.1 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.25%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `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 个工具