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.6/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/destructive annotations, the description discloses failure behaviors: unavailable sources appear in sources_unavailable, reason_code becomes 'partial_screening' and never 'clear', and screening_status must be branched on instead of matched because matched:false is also false when nothing could be screened. It also states the tool never fabricates a match or clear. These are critical edge-case disclosures the annotations cannot convey.

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?

Long but effectively partitioned into labeled blocks: core description, example queries, WHEN TO USE, WHEN NOT TO USE, cost, and latency. The critical UN-list caveat is front-loaded, and no section is purely filler. It could be tightened by moving cost/latency and some examples out, but overall it is appropriately structured for a complex compliance tool.

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?

There is no output schema, so the description carries the full burden of explaining the return contract. It defines screening_status values, the relationship between matched and screening_status, match fields (score, program, source URL), lists_screened, sources_unavailable, and reason_code semantics. It also covers usage contexts, exclusions, cost, and latency — an agent has enough to select, invoke, and interpret the tool correctly.

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%, and the schema already explains name, type, and country in detail — including that country annotates/ranks and never removes results. The description adds example query-to-parameter mappings, but no new parameter semantics beyond what the schema provides. Baseline 3 is therefore appropriate.

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 opens with a specific verb phrase — 'Free screening of a name or entity against official sanctions lists' — and enumerates the exact lists screened (OFAC SDN, EU consolidated, UK FCDO). It explicitly excludes the UN list, which distinguishes it from generic sanctions-check tools. This is a clear, resource-and-scope-specific purpose statement.

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?

WHEN TO USE names concrete trigger scenarios: pre-onboarding, payments, vendor engagement, due diligence. WHEN NOT TO USE excludes full KYC/AML screening, PEP databases, adverse media, credit risk, and bulk screening, and clarifies that a negative result is informational only. This gives an agent explicit routing criteria and alternatives.

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

A3.9/5.0
Disambiguation4/5

Most tools target distinct resource+action pairs (find_business vs verify_business, check_booking_link vs import_booking_url, get_status vs get_outcome). The main confusable pairs are send_message vs send_transactional_confirmation and verify_business vs verify_company_record, but their descriptions draw clear boundary lines.

Naming Consistency4/5

The set overwhelmingly follows lower_snake_case verb_noun naming (call_business, check_quota, find_business, send_message, verify_company_record). Minor deviations like self_test and mint_key, plus inconsistent verb choices (lookup_ vs get_ vs find_), prevent a perfect score.

Tool Count3/5

At 23 tools, the server falls into the heavy range and bundles several unrelated domains: SMB booking/messaging, trade and sanctions compliance, company verification, and platform operations. Each tool is individually reasonable, but the set feels like multiple servers merged into one.

Completeness3/5

Core SMB workflows are well covered: find/verify/import/book, messaging with conversation handling, and compliance preflights. Notable gaps include no consent-record management even though send_message requires consent_record_id for marketing, no update/delete lifecycle for leads or businesses, and no webhook configuration despite webhooks being referenced.