mcp-easycompliance
OfficialServer Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool serves a distinct function: one-time checks for sanctions and PEP, monitoring addition/removal, retrieving monitoring hits, and list status. No overlapping purposes; check_and_add_to_monitoring is clearly differentiated from the one-time checks by its persistent side effect.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern in snake_case (check_*, get_*, remove_*, check_and_add_to_monitoring). The naming conventions are uniform and predictable, making it easy to infer tool behavior from the name.
Tool Count5/5Six tools is a well-scoped count for a compliance screening server. Each tool addresses a necessary part of the core workflow without unnecessary bloat or missing essentials.
Completeness5/5The tool set covers the complete lifecycle: one-time screening for both sanctions and PEP lists, adding to ongoing monitoring, retrieving monitoring hits, removing monitoring entries, and checking list freshness. No obvious gaps that would hinder an agent from performing compliance screening tasks.
Average 4.5/5 across 6 of 6 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 9 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is failing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes that this is a safe read operation. The description adds the specific return format (dd.mm.yyyy) and the concept of a list 'status' being its last update date, which is a small behavioral detail. It does not disclose any additional side effects, permissions, or edge cases, so the description adds only modest value beyond 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is just two sentences. The first sentence states the action and output format, while the second gives a concise use case. Every sentence earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one required parameter, no nested objects), the schema fully documents the input, and an output schema exists for the return value, the description is complete. It clearly states what the tool returns and why it would be used, which is sufficient for correct selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for the single 'list' parameter, including its enum values and a description of what 'sanctions' and 'pep' mean. The tool description does not introduce any additional parameter semantics, so it relies on the schema's completeness, earning the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Returns the date (dd.mm.yyyy) of the last update of the selected easycompliance list', which clearly identifies the verb, resource, and scope. It also differentiates from sibling tools like check_sanctions_list and check_pep_list by focusing on list metadata rather than list content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Useful to verify data freshness' gives a clear use case and implies when to choose this tool (when you need update timestamps). It does not explicitly mention when not to use it or alternatives, so it falls short of a 5, but the context is still clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and openWorldHint annotations, the description discloses important behavioral specifics: results are logged in the account's API log, the tool returns hit/hitCount/hits[] with percent scores, and it mandates that the tool result is authoritative and must never be softened or filtered. This adds substantial behavioral context without contradicting 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then adds necessary operational and compliance details. The compliance paragraph is somewhat lengthy, but it contains essential directives for a sanctions-screening tool and is not redundant with the schema or annotations. Overall, every section contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description still supplies the return field names (hit, hitCount, hits[]) and explains the recording side effect in the API log. It covers the tool's purpose, limitations, compliance obligations, and expected output, making it complete for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both parameters clearly documented (name, accuracy with range and default behavior). The description adds little beyond the schema, only reinforcing that the name is a single person or organization, which is already in the schema. Baseline 3 is appropriate because the schema carries the parameter documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('check') and a precise resource ('single person or organization name against the EU/US/HADDEX sanctions lists via the easycompliance API'). It also distinguishes itself from siblings by explicitly stating this is one-time screening and that no monitoring entry is created, which separates it from check_and_add_to_monitoring and check_pep_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states when to use this tool: 'One-time screening of a single person or organization name' and explains a key exclusion: 'No monitoring entry is created.' It does not explicitly name alternative tools for ongoing monitoring, but the context of sibling tools and the 'one-time' scope provide clear usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint and openWorldHint, but the description adds significant behavior: it records the screened name and result in the API log, returns specific fields (hit, hitCount, hits[] with percent score), and includes a compliance directive about reporting all hits without softening. This goes well beyond what annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence delivers value: it states the core function, the side effect of logging, the return structure, and critical compliance rules. The compliance section is essential for correct use and is written without fluff. Well-structured and appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a compliance-sensitive tool, the description covers all necessary aspects: what it does, side effects, return data, and reporting requirements. It even provides a link for professional assessments. The output schema is present, but the description also explains the key fields, making it self-sufficient for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers both parameters (name and accuracy) with complete descriptions, so the baseline is 3. The description does not add extra parameter semantics, but the schema already provides sufficient meaning, so no deduction is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs 'One-time screening of a single person name against the PEP list', with a specific verb and resource. It also distinguishes itself from the sibling tool check_and_add_to_monitoring by emphasizing that no monitoring entry is created.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is for one-time screening and explicitly notes that no monitoring entry is created, which signals when to use it versus monitoring tools. However, it does not explicitly name alternative tools or provide explicit when-not-to-use guidance, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and openWorldHint annotations, the description discloses important behavioral expectations: the result must not be softened, filtered, or reinterpreted, and professional assessments belong in the customer portal, not the conversation. This adds significant context about output handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with the first sentence stating the core purpose and the second providing crucial compliance guidance. Both sentences are necessary and add value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and a fully described single parameter, the description covers the essential context: what the tool returns, the time scope, and how to handle results. It is complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides complete descriptions for the single 'list' parameter, including enum values and their meanings. The description does not add any parameter-specific information, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Returns' and the specific resource: easycompliance's DAILY monitoring hits from the last 24 hours. It distinguishes itself from siblings like check_sanctions_list by focusing on historical monitoring hits rather than direct list checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does 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, particularly emphasizing the result as the authoritative source for reporting hits. However, it does not explicitly mention when not to use it or reference alternatives like check_sanctions_list, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description thoroughly discloses side effects: persistent monitoring, daily re-screening, quota impact, billable API requests even on duplicates, and compliance reporting obligations. This goes far beyond annotations (readOnlyHint=false, destructiveHint=false) by adding operational and financial context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence carries critical information: purpose, side effect, quota, billing, and compliance. It is front-loaded with the main action and structured logically, though it could be tightened without losing essential details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values. It covers all necessary operational aspects: what the tool does, persistent effects, cost implications, duplicate handling, and compliance requirements. The description fully prepares an agent to invoke the tool safely and appropriately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds valuable semantics beyond schema by explaining how duplicate_by interacts with the 'ref' parameter ('Use duplicate_by="ref" with a non-empty ref to distinguish different partners that share the same name') and clarifies that accuracy defaults to the account configuration. This elevates the parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the dual function: 'Screens the name like check_sanctions_list/check_pep_list AND adds it to easycompliance's DAILY monitoring list.' This distinguishes it from the sibling check tools and remove_from_monitoring, with a specific verb+resource+effect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (ongoing monitoring) versus one-off checks via check_sanctions_list/check_pep_list, and gives explicit guidance for duplicate_by='ref' to distinguish same-name partners. However, it does not explicitly state 'use this tool when you need ongoing monitoring' or list exclusions, leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (destructiveHint=true, readOnlyHint=false), the description discloses return values (removed=true/false), non-idempotency for duplicate names, and the exact-one-entry-per-call behavior, with a concrete note about repeated calls. This adds significant behavioral context beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with the main action in the first sentence, followed by return semantics and a clearly marked NOTE for the edge-case warning. Every sentence earns its place; no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with an output schema and small parameter set, this description is complete. It covers purpose, identification method, return values, the non-idempotency trap, and gives a preferred approach, making it fully self-sufficient for an agent to invoke safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already covers all three parameters with descriptions, so baseline is 3. The description adds meaning by explaining the interaction between 'by' and 'value' in the context of duplicate entries, and provides a preference for 'by=ref' to address a specific entry, which is not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Removes') and resource ('entry from easycompliance's DAILY monitoring list'), and clearly distinguishes from sibling tools by focusing on removal rather than checking or adding. It also specifies the two identification methods (name or ref), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on when to use by=name vs by=ref, and explicitly warns 'do not retry after removed=true' and 'prefer by="ref" with unique references'. It does not explicitly contrast with sibling tools, but the instructions cover the main usage decisions and edge cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Siemssen-Consulting-GmbH/mcp-easycompliance'
If you have feedback or need assistance with the MCP directory API, please join our Discord server