GCC Sanctions & Terror-List Screener MCP
An MCP server that screens names against OFAC, UN, EU, UK, and UAE terrorist lists with Arabic-aware matching, providing explainable scores, batch screening, and HTML audit reports for compliance and AML/CFT purposes.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://screen.noahsarch.tech/mcpWhat its tools do
5 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to noahsarch.tech ·
- Passed Endpoint is on the registry namespace domain ·
- Uptime 100% over 90 days
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Screen individual names against global sanctions lists
- Perform batch screening of multiple entities
- Generate HTML audit reports for compliance files
- Explain matching scores and disambiguate names
Source and maintenance
Protocol and capabilities
- Server
- sanctions-screener 0.1.0
- MCP protocol negotiated in check
- 2025-06-18
- Tools
- 5 advertised
- Resources
- 2 advertised
- Resource templates
- 0 advertised
- Prompts
- 0 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
},
"resources": {
"subscribe": false,
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
5 advertised
screen_name — Screen one name against sanctions and terror lists
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",
"title": "screen_nameArguments",
"required": [
"name"
],
"properties": {
"dob": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dob",
"default": null,
"description": "Date of birth 'YYYY', 'YYYY-MM' or 'YYYY-MM-DD'. Year match adds, mismatch subtracts; omit if unknown."
},
"name": {
"type": "string",
"title": "Name",
"description": "Full name to screen, Latin or Arabic script (e.g. 'Mohamed Al Rashid' or 'محمد الراشد')."
},
"lists": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"ofac_sdn",
"ofac_cons",
"un",
"eu",
"uk",
"uae"
],
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Lists",
"default": null,
"description": "Subset of lists to screen (default all): ofac_sdn, ofac_cons, un, eu, uk, uae."
},
"id_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Id Number",
"default": null,
"description": "Passport / national ID / registration number. An exact match on a listed number is reported as 'exact' (score 100)."
},
"min_score": {
"type": "number",
"title": "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."
},
"entity_type": {
"enum": [
"individual",
"entity",
"vessel",
"aircraft",
"any"
],
"type": "string",
"title": "Entity Type",
"default": "any",
"description": "individual | entity | vessel | aircraft | any (default). Disagreement with the listed type costs 20 points."
},
"nationality": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Nationality",
"default": null,
"description": "Nationality / country of incorporation as ISO 3166-1 alpha-2 ('AE', 'IR', 'GB'). Omit if unknown."
}
}
}{
"type": "object",
"title": "screen_nameDictOutput",
"additionalProperties": true
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}screen_batch — Screen up to 500 names in one call
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",
"$defs": {
"Subject": {
"type": "object",
"title": "Subject",
"required": [
"name"
],
"properties": {
"dob": {
"anyOf": [
{
"type": "string",
"maxLength": 10
},
{
"type": "null"
}
],
"title": "Dob",
"default": null,
"description": "Date of birth 'YYYY', 'YYYY-MM' or 'YYYY-MM-DD'. Year match adds, mismatch subtracts; omit if unknown."
},
"name": {
"type": "string",
"title": "Name",
"maxLength": 300,
"minLength": 1,
"description": "Full name, Latin or Arabic script."
},
"id_number": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Id Number",
"default": null,
"description": "Passport / national ID / registration number. An exact match on a listed number is reported as 'exact' (score 100)."
},
"reference": {
"anyOf": [
{
"type": "string",
"maxLength": 120
},
{
"type": "null"
}
],
"title": "Reference",
"default": null,
"description": "Your own row id / customer reference, echoed back."
},
"entity_type": {
"enum": [
"individual",
"entity",
"vessel",
"aircraft",
"any"
],
"type": "string",
"title": "Entity Type",
"default": "any",
"description": "individual | entity | vessel | aircraft | any (default). Disagreement with the listed type costs 20 points."
},
"nationality": {
"anyOf": [
{
"type": "string",
"maxLength": 2
},
{
"type": "null"
}
],
"title": "Nationality",
"default": null,
"description": "Nationality / country of incorporation as ISO 3166-1 alpha-2 ('AE', 'IR', 'GB'). Omit if unknown."
}
},
"additionalProperties": false
}
},
"title": "screen_batchArguments",
"required": [
"subjects"
],
"properties": {
"lists": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"ofac_sdn",
"ofac_cons",
"un",
"eu",
"uk",
"uae"
],
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Lists",
"default": null,
"description": "Subset of lists to screen (default all): ofac_sdn, ofac_cons, un, eu, uk, uae."
},
"subjects": {
"type": "array",
"items": {
"$ref": "#/$defs/Subject"
},
"title": "Subjects",
"description": "Up to 500 subjects (name + optional dob / nationality / entity_type / id_number / reference). Identical rows are screened once."
},
"min_score": {
"type": "number",
"title": "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."
},
"default_nationality": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Default Nationality",
"default": null,
"description": "ISO2 applied to rows without a nationality."
}
}
}{
"type": "object",
"title": "screen_batchDictOutput",
"additionalProperties": true
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}audit_report — Produce an HTML audit report of a screening
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",
"$defs": {
"Subject": {
"type": "object",
"title": "Subject",
"required": [
"name"
],
"properties": {
"dob": {
"anyOf": [
{
"type": "string",
"maxLength": 10
},
{
"type": "null"
}
],
"title": "Dob",
"default": null,
"description": "Date of birth 'YYYY', 'YYYY-MM' or 'YYYY-MM-DD'. Year match adds, mismatch subtracts; omit if unknown."
},
"name": {
"type": "string",
"title": "Name",
"maxLength": 300,
"minLength": 1,
"description": "Full name, Latin or Arabic script."
},
"id_number": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Id Number",
"default": null,
"description": "Passport / national ID / registration number. An exact match on a listed number is reported as 'exact' (score 100)."
},
"reference": {
"anyOf": [
{
"type": "string",
"maxLength": 120
},
{
"type": "null"
}
],
"title": "Reference",
"default": null,
"description": "Your own row id / customer reference, echoed back."
},
"entity_type": {
"enum": [
"individual",
"entity",
"vessel",
"aircraft",
"any"
],
"type": "string",
"title": "Entity Type",
"default": "any",
"description": "individual | entity | vessel | aircraft | any (default). Disagreement with the listed type costs 20 points."
},
"nationality": {
"anyOf": [
{
"type": "string",
"maxLength": 2
},
{
"type": "null"
}
],
"title": "Nationality",
"default": null,
"description": "Nationality / country of incorporation as ISO 3166-1 alpha-2 ('AE', 'IR', 'GB'). Omit if unknown."
}
},
"additionalProperties": false
}
},
"title": "audit_reportArguments",
"required": [
"subjects"
],
"properties": {
"lists": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"ofac_sdn",
"ofac_cons",
"un",
"eu",
"uk",
"uae"
],
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Lists",
"default": null,
"description": "Subset of lists to screen (default all): ofac_sdn, ofac_cons, un, eu, uk, uae."
},
"subjects": {
"type": "array",
"items": {
"$ref": "#/$defs/Subject"
},
"title": "Subjects",
"description": "1 to 50 subjects to include in one report."
},
"min_score": {
"type": "number",
"title": "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."
},
"prepared_by": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prepared By",
"default": null,
"description": "Name / role of the compliance officer, printed on the report."
},
"case_reference": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Case Reference",
"default": null,
"description": "Your case / client file reference, printed on the report."
}
}
}{
"type": "object",
"title": "audit_reportDictOutput",
"additionalProperties": true
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_status — Freshness and provenance of every bundled list
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",
"title": "list_statusArguments",
"properties": {}
}{
"type": "object",
"title": "list_statusDictOutput",
"additionalProperties": true
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}explain_match — Show why two names do or don't match
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",
"title": "explain_matchArguments",
"required": [
"name_a",
"name_b"
],
"properties": {
"name_a": {
"type": "string",
"title": "Name A",
"description": "First name to compare (Latin or Arabic)."
},
"name_b": {
"type": "string",
"title": "Name B",
"description": "Second name to compare (Latin or Arabic)."
}
}
}{
"type": "object",
"title": "explain_matchDictOutput",
"additionalProperties": true
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
0 advertised
Resources
2 advertised
data_version — Data version
Current data/rules version.
sanctions-screener://data-versionmetrics — Aggregate metrics
Aggregate counters only (tool, status, latency bucket). No queries are logged.
sanctions-screener://metrics90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-02: 3 of 3 checks answered
- 2026-11-03: 4 of 4 checks answered
- 2026-11-04: 4 of 4 checks answered
- 2026-11-05: 4 of 4 checks answered
- 2026-11-06: 4 of 4 checks answered
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 2527 ms
- 95th percentile latency
- 2527 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 2527 ms · metadata changed · 5 tool(s), 2 resource(s), 0 resource template(s), 0 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http gcc-sanctions-terror-list-screener-mcp https://screen.noahsarch.tech/mcpCodex
codex mcp add gcc-sanctions-terror-list-screener-mcp --url https://screen.noahsarch.tech/mcpCursor
{
"mcpServers": {
"gcc-sanctions-terror-list-screener-mcp": {
"url": "https://screen.noahsarch.tech/mcp"
}
}
}Cline
{
"mcpServers": {
"gcc-sanctions-terror-list-screener-mcp": {
"type": "streamableHttp",
"url": "https://screen.noahsarch.tech/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"gcc-sanctions-terror-list-screener-mcp": {
"type": "http",
"url": "https://screen.noahsarch.tech/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http gcc-sanctions-terror-list-screener-mcp https://screen.noahsarch.tech/mcpClaude Desktop
https://screen.noahsarch.tech/mcpWindsurf
{
"mcpServers": {
"gcc-sanctions-terror-list-screener-mcp": {
"serverUrl": "https://screen.noahsarch.tech/mcp"
}
}
}Let your agent find its tools
Find servers like GCC Sanctions & Terror-List Screener MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other crm, sales, and marketing servers
Do you run GCC Sanctions & Terror-List Screener MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.