screening
Server Details
OFAC and global sanctions screening: crypto addresses, emails, websites, IDs, countries, VPN, geo
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.9/5 across 7 of 7 tools scored. Lowest: 2.9/5.
Each tool targets a distinct input type (IP, country, crypto address, email, government ID, website) and a distinct purpose (VPN detection, geolocation, sanctions screening). The only overlap is between detect_vpn and geolocate_ip both accepting IPs, but their intended actions are clearly different.
All tools follow a consistent verb_noun pattern. Screening tools uniformly use the 'screen_' prefix (screen_country, screen_email, etc.), while detect_vpn and geolocate_ip also use clear, predictable verbs. No naming convention conflicts.
Seven tools is well-scoped for a screening server, covering IP intelligence, country checks, and multiple entity types without unnecessary bloat. Each tool serves a distinct screening purpose.
The set covers a good range of screening targets (IP, country, crypto, email, government ID, website), but lacks common screening entities like person names or organizations, which are typical in sanctions and crime screening workflows. This is a notable gap for a general-purpose screening server.
Available Tools
7 toolsdetect_vpnDetect VPN usageCRead-onlyInspect
Detect whether an IP address is using a VPN.
| Name | Required | Description | Default |
|---|---|---|---|
| ip_address | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, which covers the safety profile. The description adds no behavioral context beyond the title—no mention of how detection works, limitations, or data sources. It restates the purpose without revealing any extra behavioral traits.
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 a single, concise sentence that front-loads the action and target. Every word earns its place, with no redundancy or unnecessary detail. It is an ideal length for a simple tool.
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 simple tool shape—one parameter, readOnlyHint annotation, and an output schema—the description is minimally adequate. However, it lacks usage differentiation and parameter detail, which are important for an AI agent selecting among sibling tools. The missing guidance prevents a higher score.
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?
The schema has one parameter (ip_address) with no description, and schema description coverage is 0%. The description mentions 'IP address' but provides no format, constraints, or example. The parameter name is self-explanatory, so the description adds minimal value beyond what the schema name already conveys.
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 uses a specific verb 'detect' and clearly identifies the resource: whether an IP address is using a VPN. It is distinct from sibling tools like geolocate_ip, though it doesn't explicitly say so. The purpose is immediately clear.
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 explicit guidance is given on when to use this tool vs. alternatives. The description implies 'use to check VPN status for an IP', but there are no exclusions, prerequisites, or comparisons to related tools like geolocate_ip. The context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geolocate_ipGeolocate an IP addressARead-onlyInspect
Geolocate an IP address and flag whether it is in a sanctioned country.
| Name | Required | Description | Default |
|---|---|---|---|
| ip_address | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already covers safety, and the description adds valuable behavioral detail by mentioning the 'sanctioned country' flag, which is part of the tool's output logic. It doesn't contradict annotations and provides additional context without needing to describe return format due to the output schema.
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 a single, front-loaded sentence that conveys both the primary action and the distinguishing flag. There is no redundant or extraneous information, making it efficiently concise.
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 tool's simplicity (1 parameter, read-only, output schema present), the description covers the core behavior. It doesn't mention potential edge cases like private IPs or rate limits, but the output schema handles return values. It is nearly complete, just missing a small note about input format limitations.
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?
The input schema has zero description coverage, so the description must compensate. It only mentions 'IP address' at a high level and does not clarify accepted formats (e.g., IPv4 vs IPv6) or any constraints. This fails to add meaningful parameter semantics beyond the schema's type/name information.
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 clearly states the tool's purpose with a specific verb ('Geolocate') and resource ('IP address'), and adds a distinguishing output ('flag whether it is in a sanctioned country'). This differentiates it from sibling tools like detect_vpn or screen_country, which focus on different aspects.
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 description implies a clear use case: geolocating an IP and determining if it falls in a sanctioned country. While it doesn't explicitly name alternatives or exclusions, the specific sanction flag provides sufficient context for when to use this tool over siblings. A clear context with no explicit exclusions earns a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_countryCheck country sanctionsARead-onlyInspect
Check whether a country or region carries sanctions designations
(OFAC-curated today). lists: optional comma-separated list slugs.
| Name | Required | Description | Default |
|---|---|---|---|
| lists | No | ||
| country | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the context that the data is 'OFAC-curated today,' which hints at a specific data source and temporal limitation. Since annotations already declare readOnlyHint=true, the safety profile is covered. The description does not disclose further behavioral traits like result format or edge cases, but with the output schema present, this is sufficient.
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 exceptionally concise: two sentences that front-load the purpose and then add the key parameter detail. There is zero waste, and every word earns its place.
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 tool with two parameters and an output schema, the description covers the essential purpose and parameter usage. The note about OFAC curation conveys an important qualifier. With annotations and output schema present, the description is complete enough for an agent to use the tool correctly.
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?
The description explains the `lists` parameter as 'optional comma-separated list slugs,' adding value beyond the schema's generic string type. It does not explicitly describe `country`, but the parameter's purpose is clear from the tool's name and the description's main clause, so the description compensates well for the low schema coverage.
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 clearly states the tool's purpose: 'Check whether a country or region carries sanctions designations.' It uses a specific verb ('Check'), names the resource (country/region), and provides the domain (sanctions). This distinguishes it from sibling tools like screen_website or screen_email.
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 description provides clear context for when to use this tool—when you need to check sanctions status for a country or region. It does not explicitly mention alternatives or exclusions, but the context is unambiguous, so it does not fall below a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_crypto_addressScreen a crypto addressARead-onlyInspect
Screen a crypto address on any chain (or an ENS name, e.g. vitalik.eth) across the
enabled sanctions and crime lists. lists: optional comma-separated list slugs.
| Name | Required | Description | Default |
|---|---|---|---|
| lists | No | ||
| address | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares the safe read-only nature. The description adds valuable context beyond annotations: support for 'any chain' and ENS names, and clarification that `lists` is an optional comma-separated list slugs. It does not describe return format, but an output schema exists, so this is acceptable. No contradiction found.
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 exactly two sentences: the first states the purpose and scope, the second explains the optional parameter. It is front-loaded, concise, and every sentence earns its place without redundancy.
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?
The description covers purpose, supported input types (any chain, ENS), and the optional lists parameter. With an output schema present and a readOnly annotation, this is sufficient for correct invocation in common use cases. It could mention list slugs format in more detail, but that is a minor gap.
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 0%, so the description must compensate. It explicitly explains `lists` as 'comma-separated list slugs' and implies `address` is the crypto address or ENS name from context. This adds meaning beyond what the bare schema provides, though `address` relies on the tool name and description.
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 uses a specific verb 'screen' and identifies the resource as 'crypto address on any chain (or an ENS name)' with a clear scope 'across the enabled sanctions and crime lists'. This distinctly differentiates it from sibling screening tools like screen_email or screen_country.
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 description implies usage for screening crypto addresses and mentions the context of sanctions and crime lists, but it does not explicitly state when to use it vs alternatives or provide exclusions. There is no mention of sibling tools or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_emailScreen an email addressARead-onlyInspect
Screen an email address across the enabled sanctions and crime lists.
lists: optional comma-separated list slugs.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | |||
| lists | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds that the screening applies across 'enabled sanctions and crime lists.' This adds context but does not disclose behaviors like default list selection when `lists` is omitted, or what the response contains.
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 sentences long, with the purpose stated up front and the parameter note in the second sentence. No unnecessary words or repetition.
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?
The description covers the primary action and one parameter, but it lacks important details about the screening behavior, such as the meaning of 'enabled' lists or the default behavior when no `lists` are supplied. The existence of an output schema mitigates the need to describe return values, but other contextual gaps remain.
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 0%, so the description must compensate. It explains the `lists` parameter as 'optional comma-separated list slugs,' giving it meaningful semantics, but it leaves the `email` parameter without additional guidance beyond its type.
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 uses the specific verb 'screen' and identifies the resource as 'email address', also adding the scope 'across the enabled sanctions and crime lists.' This clearly states what the tool does, but it does not explicitly reference sibling tools or exclude alternatives, so it falls short of full differentiation.
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 description implies its use case—screening email addresses—but provides no explicit when-to-use or when-not-to-use guidance, nor does it mention alternative tools such as screen_crypto_address. The phrase 'across the enabled sanctions and crime lists' gives some context but leaves ambiguity about what 'enabled' means.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_government_idScreen a government IDARead-onlyInspect
Screen a government-issued ID (passport, tax ID, …) across the enabled lists
(fuzzy matching). lists: optional comma-separated list slugs.
| Name | Required | Description | Default |
|---|---|---|---|
| lists | No | ||
| government_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true already declaring safety, the description adds meaningful behavioral detail: fuzzy matching and the enabled-lists mechanism. These traits are not inferable from annotations or schema, although result formatting is not described; however, the output schema covers that information.
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?
Two compact, front-loaded sentences deliver the core purpose and parameter behavior with no filler or repetition. Every word adds value.
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 two-parameter tool with read-only annotations and an output schema, the description fully covers purpose, matching behavior, and parameter semantics. No critical operational detail is missing given the tool's complexity.
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 0%, so the description must compensate. It explicitly clarifies `lists` as optional comma-separated slugs and effectively defines `government_id` through the tool description and examples (passport, tax ID), providing semantic meaning beyond the raw 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?
Clearly states it screens a government-issued ID and gives concrete examples (passport, tax ID). This distinguishes it from sibling screening tools like screen_email or screen_crypto_address by naming the specific entity type.
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 description explains the tool screens across enabled lists and documents the optional `lists` parameter, giving clear context on when to use it. It does not explicitly contrast with sibling screening tools, but the purpose is specific enough to avoid ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screen_websiteScreen a website or domainARead-onlyInspect
Screen a website or domain across the enabled sanctions and crime lists.
lists: optional comma-separated list slugs.
| Name | Required | Description | Default |
|---|---|---|---|
| lists | No | ||
| website | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds that the screening runs against 'enabled sanctions and crime lists', which is useful context, but it doesn't disclose output format or behavior when lists are omitted. No contraction.
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?
Two sentences, front-loaded with the main purpose, then a parameter note. No wasted words.
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 2-parameter read-only tool with an output schema, the description covers purpose and the optional lists parameter. It might mention the expected format of website, but overall is sufficiently 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 has no descriptions for the two parameters (0% coverage). The description compensates partially by explaining that `lists` is an optional comma-separated list slugs, but the required `website` parameter lacks format details (e.g., URL vs bare domain).
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 clearly identifies the action ('Screen') and the resource ('a website or domain'), with scope ('across the enabled sanctions and crime lists'). It distinguishes from sibling tools that screen other entity types (email, country, crypto, etc.).
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 description states what the tool does (screening websites/domains) and implies it's the tool for websites, but it does not explicitly compare with siblings or state exclusions. The context is clear but no when-to-use vs alternatives is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Flicense-qualityBmaintenanceScreens 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.
- Alicense-qualityAmaintenanceScreen names against consolidated OFAC, EU, UK, and UN sanctions lists and resolve legal entities via GLEIF, with offline fuzzy matching.761Apache 2.0
- Alicense-qualityDmaintenanceTrust Intelligence API - entity screening, sanctions, risk scoring, IBAN validation, and compliance checks via MCPMIT
- AlicenseBqualityBmaintenanceAutonomous M2M compliance and trust APIs for AI agents (KYB, OFAC, VAT, Sanctions checking).5MIT