Skip to main content
Glama

GCC Sanctions & Terror-List Screener

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4/5.0

Scored across 5 tools

Disambiguation4/5

Most tools are clearly distinct: screen_name handles a single subject, screen_batch handles multiple subjects, explain_match explains scoring, and list_status reports snapshot metadata. However, audit_report and screen_batch both screen multiple subjects and could be confused by an agent choosing between structured batch results and a formatted HTML audit file.

Naming Consistency4/5

Four of five names follow a clear verb_noun snake_case pattern: screen_name, screen_batch, explain_match, list_status. audit_report is noun_noun and slightly breaks the pattern, but it remains readable and consistent in style.

Tool Count5/5

Five tools is well-scoped for a sanctions screening server. Each tool covers a distinct part of the workflow: single screening, batch screening, match explanation, list metadata, and audit reporting.

Completeness4/5

The surface covers the core AML screening lifecycle: checking list freshness, screening one or many subjects, explaining matches, and producing an audit report. A minor gap is the absence of a refresh/update-list operation, even though list_status can warn about stale snapshots.

Available Tools

5 tools
audit_reportProduce an HTML audit report of a screeningA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
listsNoSubset of lists to screen (default all): ofac_sdn, ofac_cons, un, eu, uk, uae.
subjectsYes1 to 50 subjects to include in one report.
min_scoreNoMinimum score (0–100) for a hit to be returned; default 85. 80 widens the net for onboarding, 92 for alert review.
prepared_byNoName / role of the compliance officer, printed on the report.
case_referenceNoYour case / client file reference, printed on the report.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Well beyond the readOnly/idempotent/closed-world annotations, it discloses commercial and operational traits an agent would otherwise not know: one charge per report, names are never logged, matching is deterministic (no AI) and runs offline against a bundled snapshot, and stale snapshots surface as warnings. The full response envelope (result, data_confidence, estimated_items, sources, data_version, warnings, disclaimer) is spelled out.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and output artifact, then progressively adds commercial terms, response shape, and list coverage — a sensible ordering. It is dense and the run-on middle clause enumerating report contents could be tightened, but almost every sentence carries information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a billing-relevant screening tool with an output schema, the description covers what is produced, what a clear result looks like, privacy handling, offline determinism, cost, and failure signalling via warnings. Nothing material for correct invocation or interpretation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameter meaning is already carried structurally, and the description largely restates the list enum and threshold semantics already present in the schema. The worked example (subjects array with name/dob, case_reference, prepared_by) adds modest value by showing shape in practice, but no new parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first clause gives a concrete verb and resource — screens 1–50 subjects and returns a self-contained HTML report named result.html — which tells an agent exactly what artifact it gets. It doesn't name the sibling tools (screen_batch, screen_name, explain_match), so the differentiation from screen_batch in particular is left implicit rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is implied usage context ("suitable for the client's AML file") and threshold guidance is carried by the schema, but the description never says when to choose this over screen_batch or screen_name. An agent must infer the routing decision from the report-output phrasing rather than being told.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

explain_matchShow why two names do or don't matchA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
name_aYesFirst name to compare (Latin or Arabic).
name_bYesSecond name to compare (Latin or Arabic).

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only/idempotent annotations, the description discloses that names are never logged, matching is deterministic with no AI, it runs offline against a bundled snapshot, and free. It also explains warning behavior for stale list snapshots and names the supported lists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but front-loads the core behavior (normalization and score components) before returning output details, lists, and privacy notes. It earns its length given the tool's complexity, though the single-paragraph format could be slightly more scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even though an output schema exists, the description adds useful completeness: it names the score components, lists supported sanctions lists, mentions data_confidence and warnings, and discloses deterministic/offline behavior. That is more than enough for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description improves on that with a concrete cross-script example (Latin 'Abd al-Rahman Al Shaikh' vs Arabic 'عبدالرحمن الشيخ') that clarifies accepted input forms and normalization expectations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb-and-resource framing: it normalises both names step by step and returns every score component plus the resulting score. It is specific about the mechanics and output, but does not explicitly differentiate itself from siblings such as screen_name or screen_batch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'explain' and the detailed score-component list, suggesting this is for understanding a match rather than bulk screening. However, there is no explicit when-to-use/when-not guidance and no named alternative such as screen_name for plain scoring.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_statusFreshness and provenance of every bundled listA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive, and closed-world. The description adds meaningful context beyond that: the 7-day staleness threshold and stale flag, warnings[] surfacing stale snapshots, the fact that names are never logged, and that matching is deterministic/offline with no AI. That is real behavioral disclosure, not restatement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the per-list payload, then the response envelope, then the covered lists, then the usage trigger and privacy note — a sensible ordering. It is dense and slightly run-on (a comma-separated inventory in the opening sentence), but almost every clause carries actionable information, so little is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only status tool with rich annotations and an output schema, nothing an agent needs is missing: it knows the covered lists, the staleness rule, the warning mechanism, and when to consult it. The response-field enumeration mildly duplicates the output schema but reinforces rather than omits.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter semantics to convey and the baseline of 4 applies. Nothing in the description is needed to clarify inputs, and nothing misleads.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (freshness and provenance of every bundled list) and enumerates exactly what is reported per list: entries, aliases, fetched_at, days_since_fetch, source URL, SHA-256, licence, and refresh failures. This reads as metadata/status, clearly distinct from the screening siblings (screen_name, screen_batch, explain_match).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger: 'Call it before relying on a "clear" result in a regulated process.' That is a concrete when-to-use condition. It does not, however, name alternatives or state when not to call it, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

screen_batchScreen up to 500 names in one callA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
listsNoSubset of lists to screen (default all): ofac_sdn, ofac_cons, un, eu, uk, uae.
subjectsYesUp to 500 subjects (name + optional dob / nationality / entity_type / id_number / reference). Identical rows are screened once.
min_scoreNoMinimum score (0–100) for a hit to be returned; default 85. 80 widens the net for onboarding, 92 for alert review.
default_nationalityNoISO2 applied to rows without a nationality.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent/offline annotations, the description adds meaningful operational context: charging per unique name, dedupe of identical rows, no logging of names, deterministic offline matching, snapshot warnings, and response fields such as data_confidence and sources. This materially helps an agent understand cost, privacy, and freshness behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and somewhat paragraph-heavy, but nearly every sentence carries useful operational detail about subjects, returns, charging, lists, and privacy. It could be better front-loaded with a direct purpose statement, but it avoids fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich input schema, output schema, and annotations, the description covers the important batch-screening behavior, charging, output shape, and data-freshness warnings. The main gap is sibling routing and explicit min_score guidance, though both are partly mitigated by structured fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents subjects, lists, min_score, and default_nationality. The description reinforces subject fields and default_nationality with an example, but it omits min_score and adds little semantic detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The name and title clearly identify a batch screening tool for up to 500 names, and the body reinforces this with subject fields, dedupe behavior, and per-subject results. However, it never explicitly names the single-name sibling screen_name, so the boundary is implicit rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no when-to-use, when-not-to-use, or alternative-tool guidance. It gives an example and default_nationality behavior, but does not say when an agent should choose screen_batch over screen_name or other siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

screen_nameScreen one name against sanctions and terror listsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
dobNoDate of birth 'YYYY', 'YYYY-MM' or 'YYYY-MM-DD'. Year match adds, mismatch subtracts; omit if unknown.
nameYesFull name to screen, Latin or Arabic script (e.g. 'Mohamed Al Rashid' or 'محمد الراشد').
listsNoSubset of lists to screen (default all): ofac_sdn, ofac_cons, un, eu, uk, uae.
id_numberNoPassport / national ID / registration number. An exact match on a listed number is reported as 'exact' (score 100).
min_scoreNoMinimum score (0–100) for a hit to be returned; default 85. 80 widens the net for onboarding, 92 for alert review.
entity_typeNoindividual | entity | vessel | aircraft | any (default). Disagreement with the listed type costs 20 points.any
nationalityNoNationality / country of incorporation as ISO 3166-1 alpha-2 ('AE', 'IR', 'GB'). Omit if unknown.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only/idempotent/non-destructive/closed-world, and the description adds real context beyond them: no name logging, deterministic offline matching against a bundled snapshot, hit cap of 20 sorted by score, data_version snapshot ids, and warnings for stale snapshots. This is exactly the extra behavioral disclosure the annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and scope are front-loaded, and the middle section is dense but useful. The extensive return-field enumeration (list, listed_name, aliases_matched, score, programs, etc.) is largely redundant given a declared output schema, costing some efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter screening tool with full schema coverage, annotations and an output schema, the description covers everything needed to call it correctly, including the privacy/offline caveat and stale-snapshot warnings. Only the lack of explicit sibling routing keeps it short of a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents dob, lists, id_number, min_score, entity_type and nationality, including the scoring effects (exact = 100, type disagreement = -20). The description mostly restates these and adds only a combined example; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource ('Screen a person, company, vessel or aircraft name') and enumerates the exact lists covered (OFAC SDN + Consolidated, UN, EU, UK, UAE LTL), which cleanly separates it from the batch sibling. An agent can identify the operation and scope without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The example invocation and the min_score tuning note ('80 widens the net for onboarding, 92 for alert review') give concrete context for correct use. However, it never explicitly routes away from siblings such as screen_batch or explain_match, leaving the single-vs-batch choice to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observedaudit_report
    • First observedexplain_match
    • First observedlist_status
    • First observedscreen_batch
    • First observedscreen_name

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources