NORMA MCP Server
Server Details
EU compliance corpus across 8 frameworks (NIS2, DORA, AI Act, ISO 27001 + more) via MCP.
- 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 4.4/5 across 4 of 4 tools scored.
Each tool has a clearly distinct purpose: gap assessment, policy generation, cross-framework mapping, and control search. There is no overlap or ambiguity.
All tool names follow the verb_noun pattern consistently (assess_gap, generate_policy, map_controls, search_controls), making them predictable and easy to understand.
With 4 tools, the set is compact yet well-scoped for the server's compliance assistance purpose. Each tool earns its place without unnecessary duplication.
The tools cover core workflows: search, gap assessment, policy generation, and cross-mapping. Minor gaps exist (e.g., no tool to update generated policies), but the surface is functional for intended use.
Available Tools
4 toolsassess_gapAssess compliance gap against a target frameworkARead-onlyIdempotentInspect
Indicative gap register against a target framework. Given a company profile (existing certifications, sector, size, jurisdiction), return covered / partial / gap counts and slug examples. Heuristic only — Pyxis (https://kynosure.ai/en/pyxis) produces the severity-ranked cross-framework gap register with FCI/WMI/ECI scoring.
| Name | Required | Description | Default |
|---|---|---|---|
| company_profile | Yes | Existing certifications + organisational profile. | |
| target_framework | Yes | The framework to assess gaps against. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, indicating safe read-only behavior. The description adds important context: it is 'Indicative' and 'Heuristic only', warning that results are not authoritative. This goes beyond annotations to set proper expectations without contradiction.
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 concise sentences: the first states the core function, the second explains limitations and output. No filler words, and critical information is front-loaded. Every sentence 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?
The description sufficiently explains input, output (counts and slugs), and limitations. While missing explicit error handling or edge cases, for a heuristic tool with good annotations and schema coverage, it is complete enough for an agent to use 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?
Schema description coverage is 100%, so baseline is 3. The description adds value by explaining the output—'return covered / partial / gap counts and slug examples'—which is not detailed in the schema (no output schema). This enhances understanding of what the parameters produce, justifying a 4.
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: 'Assess compliance gap against a target framework'. It specifies the action (assess gap), resource (target framework), and input (company profile). This distinguishes it from siblings like generate_policy, map_controls, and search_controls, which handle different compliance tasks.
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 explicitly says 'Heuristic only' and directs users to Pyxis for a comprehensive severity-ranked gap register with FCI/WMI/ECI scoring. This gives clear context on when to use this tool (quick heuristic) versus when to use the alternative (detailed analysis), fulfilling the dimension criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_policyGenerate policy from NORMA templateAIdempotentInspect
Parametrize a NORMA compliance template with company context and return Markdown. Templates are sourced from the curated corpus (32 in the public subset, 176 more queryable in full). Output begins with a not-legal-advice disclaimer block. Use search_controls first to discover a slug.
| Name | Required | Description | Default |
|---|---|---|---|
| template_slug | Yes | Template slug. Use search_controls to discover one. Examples: "iso27001-access-control", "isms-policies-supplier-security". | |
| company_context | Yes | Variables substituted into {{COMPANY_NAME}}, {{SECTOR}}, etc. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, idempotentHint=true) are not contradicted. Adds context: output is Markdown with a not-legal-advice disclaimer, templates from curated corpus. Could additionally note idempotency but still strong.
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?
Three sentences, zero waste. Front-loads key action (parametrize template) and ends with critical usage instruction. Every sentence 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?
No output schema, but description details output (Markdown, disclaimer). Parameters fully explained. Mentions template corpus scale. All context needed for correct invocation is present.
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?
100% schema coverage baseline 3. Description adds: slug must be from search_controls, examples, and company_context variables are substituted into placeholders like {{COMPANY_NAME}}.
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?
Clear verb+resource: parametrize NORMA template with company context, return Markdown. Distinguishes from siblings by specifying prerequisite discovery via search_controls.
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?
Explicitly directs to use search_controls first to discover slug, providing clear prerequisite. Does not explicitely state when not to use or compare with assess_gap/map_controls, but guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_controlsMap controls between frameworksARead-onlyIdempotentInspect
Crosswalk corpus controls between two compliance frameworks via the cross_references frontmatter graph. Useful for prompts like 'I am ISO 27001 certified — what gaps for NIS2?'. Returns an array of mapped pairs with confidence + source slug.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| to_framework | Yes | Target framework (e.g., nis2). | |
| from_framework | Yes | Source framework (e.g., iso27001). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds behavioral context by stating the return format ('Returns an array of mapped pairs with confidence + source slug') and the underlying mechanism (cross_references graph). This exceeds annotation-only 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?
The description is compact (two sentences) and front-loaded with the core action. Every sentence adds value, with 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?
The description explains the return format in absence of an output schema and provides a contextual example. However, it could more explicitly differentiate usage from sibling tools like assess_gap or search_controls.
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 67% (only limit lacks a description). The tool description does not add any parameter-level details beyond what the schema provides. The parameters are self-explanatory given enum values, but no extra meaning is contributed.
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: 'Crosswalk corpus controls between two compliance frameworks via the cross_references frontmatter graph.' It uses a specific verb (crosswalk) and resource (controls), and distinguishes itself from siblings like assess_gap and generate_policy by focusing on mapping controls between frameworks.
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 a useful example prompt ('I am ISO 27001 certified — what gaps for NIS2?') that implicitly guides when to use the tool. However, it does not explicitly state when not to use it or mention alternatives among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_controlsSearch NORMA controlsARead-onlyIdempotentInspect
Full-text search the curated NORMA control corpus. Filter by framework (NIS2 / DORA / ISO 27001 / ISO 42001 / EU AI Act / ISO 22301 / ISO 27701 / CRA). Returns matching templates with title, framework, slug, source_refs, and an excerpt around the match.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| keyword | Yes | Search query (matched against title + body, case-insensitive). | |
| framework | No | Restrict to one framework (omit to search all frameworks). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. The description adds useful details about return fields (title, framework, slug, source_refs, excerpt) and filtering capability, providing behavioral context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and each sentence serves a distinct role (action + filters, return format). No redundant information.
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 tool's purpose, filtering capability, and return fields. While no output schema exists, the listed fields provide adequate completeness for a search tool. Minor gap: does not specify sorting or pagination, but acceptable for this complexity level.
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?
With 67% schema description coverage, the schema itself explains keyword and framework. The description reiterates the framework list but does not add new semantics for any parameters. The limit parameter is not described, though its default/min/max provide partial meaning.
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 performs full-text search on the NORMA control corpus, using a specific verb 'search' and a defined resource. It effectively distinguishes itself from sibling tools like assess_gap, generate_policy, and map_controls, which serve different purposes.
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 indicates when to use the tool (to search controls) and mentions filtering by framework, but does not explicitly state when not to use it or compare to alternatives. The implied usage context is clear given the distinct purpose compared to siblings.
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!