Skip to main content
Glama

sanctions-screening-mcp-server

sanctions-screening-mcp-server: screen name

sanctions_screen_name
Read-onlyIdempotent

Screen a name (person, company, vessel, aircraft) against all loaded sanctions watchlists at once — OFAC SDN + Consolidated, EU, UK, and UN — alias- and fuzzy-aware. Returns scored potential matches with the source list, sanctioning program, designation date, and the matched alias. Strict mode (default) matches exact-normalized then all-tokens-present; fuzzy mode (or auto when strict is empty) adds Jaro-Winkler and phonetic matching and labels hits approximate with a raw 0–1 similarity score plus the count of query tokens the candidate covers, which orders candidates that tie on score. Results are paged: totalAvailable and hasMore report matches beyond the returned page, and nextOffset retrieves them. This is a screening AID for a human/compliance review, NOT a compliance determination: a hit means "review this candidate against the official source," and an empty result never means "cleared."

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesThe name to screen (person, organization, vessel, or aircraft).
limitNoMaximum number of potential matches to return in one page.
offsetNoZero-based index of the first potential match to return. Re-call with the returned nextOffset to page through every match when hasMore is true; an offset past the end returns an empty page, not an error.
sourcesNoRestrict to specific source lists. Omit to screen all loaded lists.
minScoreNoScore floor for fuzzy hits (0–1), applied uniformly to every fuzzy candidate regardless of how it was matched (Jaro-Winkler, token, or phonetic). No hit below this score is returned. Applies to fuzzy mode only; defaults to the server's configured floor.
matchModeNostrict (default): exact-normalized then all-tokens-present. fuzzy: also scored Jaro-Winkler + phonetic. Strict auto-falls-back to fuzzy when it finds nothing.strict
entityTypeNoRestrict to one entity class, or "any" (default) to screen across all.any

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
hitsNoPotential matches, ranked by match type, then score, then how much of the query each candidate explains.
errorNoPresent when the call failed. Absent on success.
caveatNoDecision-support caveat — this is a screening aid, not a compliance determination.
noticeNoGuidance when no candidate matched — how to broaden, and what an empty result does NOT mean — or when the requested offset sits past the end of the result set.
hasMoreNoTrue when potential matches remain beyond this page — re-call with nextOffset.
nextOffsetNoThe offset to request next. Present only when hasMore is true.
totalCountNoNumber of potential matches returned in this page.
matchModeUsedNoThe match mode actually applied (strict may auto-upgrade to fuzzy on empty).
totalAvailableNoPotential matches available across all pages, before limit and offset were applied.
normalizedQueryNoThe name as the server folded it for matching.
totalAvailableBasisNoHow to read totalAvailable: exact = the complete strict match set; lower_bound = a bounded scan produced it (every fuzzy pass, and any strict pass that hit the raw-row scan cap), so more may exist.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, idempotentHint=true, but the description goes far beyond. It discloses the automatic fallback from strict to fuzzy, the scoring mechanism (Jaro-Winkler, phonetic), the label 'approximate' with raw scores, pagination behavior (totalAvailable, hasMore, nextOffset), and the critical caveat that an empty result does not mean 'cleared'. This is substantial behavioral context that an agent needs to interpret results correctly, and it does not contradict the annotations.

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 longer than minimal but deliberately packed with necessary detail. It is front-loaded with the core purpose and immediately states the output. Each sentence contributes: mode mechanics, pagination, and the essential compliance caveat. No fluff, and the structure progresses logically from function to modes to pagination to disclaimer.

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?

Given the complexity (7 parameters, two modes, pagination, scoring), the description covers all critical aspects: input types, source restrictions, entity type filtering, score floors, match mode behavior, pagination instructions, and result interpretation. An output schema exists to describe return structure, so the description does not need to repeat that. An agent has enough information to call this tool correctly and understand its results, including the important 'not cleared' caveat.

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% (all parameters described in JSON Schema), so the baseline is 3. The description adds meaningful semantics: it explains the strict mode's exact-normalized and all-tokens-present logic, the fuzzy mode's scoring and approximation labeling, the behavior of minScore (fuzzy only), and the pagination semantics of offset/nextOffset. These details enhance understanding beyond the raw schema definitions.

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?

The description states a specific verb and resource: 'Screen a name (person, company, vessel, aircraft) against all loaded sanctions watchlists at once.' It names the exact lists (OFAC SDN + Consolidated, EU, UK, UN) and the output (scored potential matches). This clearly differentiates it from the sibling tools, which focus on getting designations, entities, sources, resolving, or tracing ownership.

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 description explains when to use this tool: for screening names across multiple watchlists with fuzzy and strict matching, and it provides context on the strict/fuzzy modes and automatic fallback. It also gives important guidance on interpretation ('screening AID', not a compliance determination). It does not explicitly name alternative sibling tools but the context of screening is distinct from the getter/resolver siblings, making usage clear enough.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.7/5.0
Disambiguation5/5

Each tool serves a distinct purpose: listing sources, screening names, fetching designation records, resolving LEIs, fetching entity details, and tracing ownership graphs. No two tools overlap in function, and the descriptions clearly differentiate them.

Naming Consistency5/5

All tool names follow the consistent pattern 'sanctions_' + verb + noun using snake_case: get_designation, get_entity, list_sources, resolve_entity, screen_name, trace_ownership. The verbs and objects are distinct and predictable.

Tool Count5/5

With 6 tools, the server is tightly scoped to the sanctions screening workflow: name screening, designation lookup, entity resolution, entity details, ownership tracing, and source provenance. Each tool earns its place, and the count is well within the ideal 3-15 range.

Completeness5/5

The tool set covers the full screening lifecycle: list sources for provenance, screen a name, drill into designation details, resolve companies to LEIs, fetch entity records, and trace ownership with optional screening. No obvious gaps exist for the stated purpose, and the server supports complete workflows.