Skip to main content
Glama

screen_sanctions

Read-onlyIdempotent

Free screening of a name or entity against official sanctions lists, each fetched from the authority that issues it: the OFAC SDN list from the US Treasury (SDN.CSV plus ALT.CSV for alternate spellings), the EU consolidated financial sanctions list from the European Commission, and the UK Sanctions List from the FCDO. THE UN CONSOLIDATED LIST IS NOT SCREENED -- it carries no licence permitting commercial redistribution, so we do not claim it. ALWAYS check lists_screened on the response: it names the lists that actually ran ON THAT CALL, and a list that failed to load appears in sources_unavailable instead. reason_code is 'partial_screening' whenever any source was unavailable, never 'clear'. Returns screening_status ('hit' | 'clean' | 'candidates' | 'not_screened' -- branch on THIS, not on matched, because matched:false is also false when nothing could be screened), matched: bool, a list of matches with score, program, and source URL, and which lists were screened. Never fabricates a match or a clear -- if no match is found, explicitly names which lists were checked.

EXAMPLE USER QUERIES THAT MATCH THIS TOOL: user: "Screen this vendor before we pay them: ACME Trading LLC, Russia" -> call screen_sanctions({"name": "ACME Trading LLC", "country": "RU", "type": "entity"}) user: "Is Kim Jong-un on the OFAC list?" -> call screen_sanctions({"name": "Kim Jong-un", "country": "KP", "type": "person"}) user: "Run a sanctions check on this person before onboarding" -> call screen_sanctions({"name": "Ivan Petrov", "country": "RU", "type": "person"}) user: "Do a compliance check -- is this company sanctioned?" -> call screen_sanctions({"name": "Mahan Air", "country": "IR", "type": "entity"})

WHEN TO USE: Use before onboarding a counterparty, processing a payment, engaging a vendor, or doing any due-diligence step that requires knowing whether a person or entity appears on official sanctions lists. Essential for agents doing business formation, vendor qualification, payments onboarding, trade compliance, or any workflow where a sanctioned counterparty is a legal or reputational risk. WHEN NOT TO USE: Do not use as a substitute for full KYC/AML screening -- this covers sanctions lists only, not PEP (Politically Exposed Person) databases, adverse media, or credit risk. Do not treat a negative result as a compliance clearance; it is informational only. Do not use for bulk screening of large lists -- each call is a live API query. COST: free within the daily quota, then $0.02 per call LATENCY: ~2000ms

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesFull name of the person or entity to screen, e.g. 'Kim Jong-un' or 'ACME Trading LLC'. Use the most complete name available for best accuracy.
typeNoOptional entity type hint. 'person' for individuals, 'entity' for organizations/companies. Omit to screen both.
countryNoOptional ISO 3166-1 alpha-2 country code or country name (e.g. 'IR', 'Iran'). It ANNOTATES AND RANKS results; it never removes any. Each EU/UK match carries country_match: true, false, or null when the listing records no country. Nothing is dropped on a mismatch, because the country we hold is the address/nationality on the listing rather than everywhere a party operates - excluding on it would return a clean screen for someone who IS listed.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already signal readOnly/idempotent/non-destructive, and the description adds operational behavior beyond that: lists_screened vs sources_unavailable, reason_code 'partial_screening', the warning to branch on screening_status rather than matched, and the UN-list licensing caveat. It also promises no fabricated matches or clears, which is exactly the kind of behavioral certainty an agent needs.

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

Conciseness5/5

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

The description is long but every section earns its place: sources, failure semantics, response contract, example queries, usage boundaries, cost, and latency are all separately labeled and operational. Critical caveats are front-loaded and emphasized, with no filler or tautology.

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?

With no output schema, the description fully specifies the response contract: screening_status values, matched semantics, match fields, lists_screened, sources_unavailable, and partial_screening behavior. Combined with cost, latency, and explicit usage boundaries, an agent can invoke this tool correctly and interpret its results 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?

Input schema coverage is 100%, so the schema carries the parameter meaning, but the description adds concrete query-to-argument examples for name/country/type combinations. It also reinforces the important behavioral caveat that country annotates and ranks results rather than filtering them out.

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 first sentence names a specific action ('Free screening of a name or entity') against a concrete resource ('official sanctions lists') and enumerates exactly which authorities' lists are included and which are excluded. This makes the tool's purpose unambiguous and distinguishes it from compliance-adjacent siblings like check_compliance.

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

Usage Guidelines5/5

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

Dedicated WHEN TO USE and WHEN NOT TO USE sections identify concrete workflows (onboarding, payments, vendor engagement, due diligence) and explicitly exclude KYC/AML substitution, bulk screening, and treating a negative result as compliance clearance. This is explicit conditional guidance with exclusions, not merely implied context.

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.4/5.0
Disambiguation3/5

Most tools target distinct actions, but screen_sanctions and map_trade_restriction both screen parties against OFAC/EU/UK sanctions lists, so the same party-screening request could plausibly route to either. check_compliance also uses a broad 'compliance' name, though its messaging-specific parameters help separate it. The detailed descriptions largely mitigate the ambiguity, but the overlap is real.

Naming Consistency4/5

Seven of eight tools follow a clear snake_case verb_noun pattern (check_compliance, get_status, screen_sanctions, verify_company_record). self_test breaks the pattern as a noun-style name rather than an imperative verb_noun, but it remains lowercase and readable. Overall naming is predictable and consistent.

Tool Count5/5

Eight tools is a well-scoped size for a compliance/screening service, and each tool has a distinct operational role. The supporting helpers (get_status, get_outcome, preview_cost, self_test) are justifiable parts of the full workflow rather than padding.

Completeness4/5

Core due-diligence workflows are covered: sanctions screening, trade-restriction mapping, company verification, and messaging-compliance pre-flight. Notable exclusions such as the UN Consolidated List, PEP/adverse media, and bulk screening are explicitly disclosed rather than hidden, so agents can work around them. The gaps are more like optional enhancements than dead ends.