Canada Sanctions Screening MCP
Server Details
Screen customers, suppliers and vessels against Canada's autonomous sanctions list (SEMA).
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
- Repository
- donniertf-hub/uk-mcp-fleet
- GitHub Stars
- 0
TDQS
Scored across 3 tools
The three tools are mostly distinct: sanctions_check screens one name, batch_screen screens many, and regime_list retrieves listing data by country/regime. The only potential overlap is between sanctions_check and batch_screen, but the single-vs-batch distinction and FREE/PRO labeling make the boundary clear.
All names use snake_case and are readable, but the pattern is mixed: batch_screen is modifier+verb while regime_list and sanctions_check are noun+noun/verb. It is not chaotic, but there is no single predictable verb_noun convention.
Three tools is slightly thin, but appropriate for a focused sanctions-screening server covering single screening, batch screening, and regime listings. Each tool earns its place, though the surface is narrow.
The core lifecycle is covered: screen one entity, screen many, and inspect regime listings with date filtering. Minor gaps exist around retrieving full listing details for a specific matched entity or listing ID, but the primary screening workflows are supported.
Available Tools
3 toolsbatch_screenAInspect
PRO. Screen up to 200 names at once with an adjustable fuzzy threshold (50–100). Audit-ready output with list version.
| Name | Required | Description | Default |
|---|---|---|---|
| names | Yes | ||
| threshold | No | ||
| access_token | No | Subscriber token from /success (or Authorization: Bearer) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It adds useful constraints such as the 200-name batch cap, the 50–100 fuzzy threshold, and an audit-ready output with a list version, but it omits details like read-only safety, threshold defaults, and what happens when limits are exceeded.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two compact sentences and front-loads the key capabilities: batch size, threshold control, and output style. There is minimal waste, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and an output schema, the description is only minimally adequate. It identifies the screening action and key limits but does not explain what lists are screened against, the precise output structure, or error behavior for oversized batches.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so the description must compensate. It provides meaningful semantics for the two core parameters: 'names' is capped at 200 per batch, and 'threshold' is an adjustable fuzzy threshold in the 50–100 range, while the access_token parameter is documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 up to 200 names in a batch, with fuzzy matching controlled by a threshold. It is clear what the tool does, but it does not explicitly distinguish itself from siblings such as sanctions_check or regime_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The batch limit of 200 and the threshold range imply when the tool is appropriate, but the description does not explicitly say when to use it instead of sanctions_check or regime_list. Usage is implied rather than guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regime_listCInspect
PRO. All listings for a country/regime (e.g. Russia, Iran, Belarus), optionally only those listed since a date.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| since | No | ||
| country | Yes | ||
| access_token | No | Subscriber token from /success (or Authorization: Bearer) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'PRO.' implies a paid/subscription tier and the schema's access_token confirms auth is needed, but the description never states this, nor does it cover pagination, result volume, or whether results are exhaustive. A list tool has meaningful behavioral traits left undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the resource front-loaded and the optional filter second. Only the unexplained 'PRO.' token is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter, no-output-schema, no-annotation tool, the description covers the core listing concept but omits the 'type' parameter, auth requirements, and any sense of return shape or result limits. Adequate for a simple tool, but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 25% (only access_token documented), so the description must compensate. It does explain two parameters implicitly: country (with real-world examples) and since (a date filter), but leaves 'type' completely undefined in both schema and description. Partial compensation warrants a middle score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (listings for a country/regime) with concrete examples (Russia, Iran, Belarus). It is distinguishable from the screening siblings (batch_screen, sanctions_check) by being a listing tool, though the description never explicitly contrasts them. The cryptic "PRO." prefix adds no purpose information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus sanctions_check or batch_screen, and no prerequisites. The only usage-adjacent note is the optional 'since' filter, which is a parameter behavior, not a when-to-use rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sanctions_checkAInspect
FREE. Screen one person, company or vessel name against Canada's consolidated autonomous sanctions list (SEMA / JVCFOA), incl. aliases. Best 3 matches.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It helpfully discloses that the screen is free, covers aliases, and returns the best 3 matches, but omits data freshness, matching logic/thresholds, false-positive behavior, and what happens on no match.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded: cost signal first, then the operation, list scope, alias coverage, and return count. Every phrase earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema or annotations, the description covers the essential context: it is free, targets one specific Canadian list, includes aliases, and returns the best 3 matches. It could say more about output fields or no-match behavior, but is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single 'name' parameter is undocumented in the schema. The description compensates by saying it accepts a person, company or vessel name, but does not clarify format (full legal name, partial match, case sensitivity) or whether aliases must be supplied manually.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (screen), resource (person, company or vessel name), and exact scope (Canada's consolidated autonomous sanctions list, SEMA/JVCFOA). The word 'one' implicitly distinguishes it from batch_screen, and regime_list is clearly a different operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies single-name screening via 'one person, company or vessel name,' which nudges toward batch_screen for bulk use, but does not explicitly name alternatives or state when-not-to-use conditions. 'FREE' is a useful cost signal but not usage guidance.
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.
3 tool updates
- First observed
batch_screen - First observed
regime_list - First observed
sanctions_check
Related MCP Connectors
Checks whether a name is on Canada's international sanctions list (SEMA), for compliance and AML due
Screen a name or entity against OFAC SDN, the EU Consolidated list and the UK list.
Screen people & companies against 12 US sanctions & exclusion lists (OFAC, LEIE, SAM, Medicaid).
Fuzzy-screen people and company names against OFAC SDN, EU, UK and UN sanctions lists.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceVerifica se um nome consta na lista de sanções internacionais do Canadá (SEMA), para diligência de compliance e AML. Funciona com qualquer cliente MCP via HTTP.MIT
- FlicenseNot gradedqualityDmaintenanceScreens names and companies against OFAC, EU, UK, and UN sanctions lists with fuzzy-match scores, supporting bulk lookups for AML/KYC checks. Data is sourced directly from official government lists and cached for fast repeat checks.-
- AlicenseNot gradedqualityBmaintenanceScreens names against the US Consolidated Screening List including OFAC SDN and BIS Entity List, keyless.207 npmMIT
- AlicenseNot gradedqualityAmaintenanceScreen names against consolidated OFAC, EU, UK, and UN sanctions lists and resolve legal entities via GLEIF, with offline fuzzy matching.342 npm3Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.