MCP Verification Gate: conformance and disclosure checker for MCP servers
Server Details
Conformance checker for MCP servers. Free, no key, verdicts recomputable and re-measured daily.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- ogasurfproject-jpg/horizon-shield
- GitHub Stars
- 1
- Server Listing
- HORIZON SHIELD KIRA
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.6/5 across 4 of 4 tools scored.
Each tool has a clearly distinct purpose: check_conformance performs a fresh measurement, get_conditions returns static definitions, lookup_server reads stored results without measuring, and verify_verdict independently recomputes a hash. There is no overlap or ambiguity.
All four tool names follow the same verb_noun snake_case pattern: check_conformance, get_conditions, lookup_server, verify_verdict. The verbs (check, get, lookup, verify) are distinct and accurately signal each operation.
Four tools is a well-scoped surface for a conformance and disclosure checker: one measurement tool, one explanatory tool, one stored-data viewer, and one verification tool. Each earns its place with no redundancy.
The core workflow is complete: understand conditions, run a check, consult stored measurements, and verify a verdict independently. A minor gap is the lack of a way to enumerate or manage the register's watchlist, but this does not block the primary verification use case.
Available Tools
5 toolscheck_conformanceCheck an MCP server for conformance and disclosureARead-onlyInspect
Measure a public MCP endpoint against five conditions: it speaks MCP, it publishes an A2A agent card, it declares who pays it, identical input returns identical output, and the verdict itself can be recomputed by anyone. Free, no key. Conformance and disclosure only; this says nothing about whether any figure the checked server returns is correct. By default no tool on the checked server is called, so determinism comes back as not measured rather than guessed. Set allow_tool_call true only for a server you control.
| Name | Required | Description | Default |
|---|---|---|---|
| endpoint | Yes | https URL of the MCP endpoint to measure | |
| allow_tool_call | No | Consent to executing one tool on the checked server, twice, with empty arguments. Only set this for a server you own. Default false. |
Output Schema
| Name | Required | Description |
|---|---|---|
| pass | No | |
| endpoint | No | |
| reachable | No | Three-valued on purpose (gate58). true = measured and answered. false = measured and did not answer. null = NOT MEASURED. null is never to be read as a failing endpoint; it means this gate has nothing to say. |
| conditions | No | |
| record_sha256 | No | Hash of this verdict with record_sha256 and recompute_note removed. Recompute it yourself; verify_verdict does the same arithmetic. |
| recompute_note | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds important behavioral context: the tool does not call tools on the checked server by default, determinism is reported as 'not measured' rather than guessed, and allow_tool_call has specific consent implications. It also clarifies the scope (conformance/disclosure only) and that correctness of returned figures is out of scope, which goes beyond what annotations provide.
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 and information-dense: four sentences each carry distinct content—what is measured, what is not measured, default behavior, and the explicit warning about allow_tool_call. No filler or redundancy, and critical safety information is placed at the end as a natural call-to-action.
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 moderate complexity (2 params, one boolean), the description is nearly complete: it explains the five conditions, the safety model, and the default behavior. The presence of an output schema means return-value details are already covered elsewhere, so the description doesn't need to explain them. Minor gap: it does not explicitly state what happens if the endpoint is not reachable or how the verdict is returned, but these are acceptable given the output schema exists.
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%: both endpoint and allow_tool_call have descriptions in the schema. The tool description adds semantic value by explaining the default behavior of allow_tool_call (default false) and the safety condition ('only set this for a server you own'), which complements rather than merely repeats the schema. It does not add format details for endpoint beyond the schema's 'https URL', so a 4 is appropriate.
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 ('Measure') and resource ('a public MCP endpoint') and enumerates five concrete conditions, which clearly differentiates it from sibling tools like lookup_server or verify_verdict. The title is also specific about checking conformance and disclosure, so an agent can immediately know what this tool accomplishes.
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 explains what the tool does not do ('says nothing about whether any figure the checked server returns is correct'), provides a clear safety rule ('Set allow_tool_call true only for a server you control'), and notes that by default no tool is called. This gives the agent clear when-to-use and when-not-to-use guidance, though it does not name sibling alternatives directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_conditionsGet the conformance conditionsARead-onlyIdempotentInspect
Return the five conditions this gate measures, what it explicitly does not verify, and the tier definitions. Takes no arguments and returns identical output every time. Read this before running a check so you know what a verdict does and does not claim.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| tiers | No | |
| conditions | No | |
| not_verified | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, and the description adds that it 'Takes no arguments and returns identical output every time,' reinforcing idempotency. It also reveals the return content includes what the gate 'explicitly does not verify,' which goes beyond the safety profile into semantic content.
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; the first front-loads the core content, the second gives temporal usage guidance. 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 tool is static and parameterless, with a rich output schema. The description covers what is returned, invariant behavior, and when to read it, making it complete for an AI agent's selection and invocation needs.
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?
There are zero parameters, and the description explicitly states 'Takes no arguments,' aligning with the schema. Per the baseline for parameterless tools, this is fully sufficient.
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 ('Return') and names the exact resource: 'the five conditions this gate measures, what it explicitly does not verify, and the tier definitions.' This clearly distinguishes from siblings like check_conformance or verify_verdict, making the tool's scope unambiguous.
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 instructs to 'Read this before running a check so you know what a verdict does and does not claim,' providing clear when-to-use guidance. It does not mention alternatives or when-not to use it, but the context is sufficient for selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
is_verifiedOne glance: is this MCP server verified, with proofARead-onlyIdempotentInspect
A single machine-first answer for an agent deciding whether to trust an MCP endpoint BEFORE it connects. Returns verified (true only when the latest scheduled measurement passed every measured condition; null otherwise, never false), a state enum saying which case it is, measured_at, and a record_sha256 with a recompute_url so you can check the verdict without trusting this gate. Reads the stored register only: it contacts nothing and measures nothing. Absent and pending are reported honestly and are NOT negative verdicts. For a fresh measurement rather than the stored one, use check_conformance.
| Name | Required | Description | Default |
|---|---|---|---|
| endpoint | Yes | https URL of the MCP endpoint to look up, exactly as it appears on the register |
Output Schema
| Name | Required | Description |
|---|---|---|
| state | No | verified = passed all measured conditions. pending = measured but not passing every one (often only because determinism needs the owner's consent). held = could not be reached. watched = on the list, not yet measured. absent = no row here at all. |
| endpoint | No | |
| verified | No | true = latest measurement passed all measured conditions. null = not established here (see state). Never false: unmeasured or not-yet-passing is not a failure. |
| conditions | No | |
| measured_at | No | |
| on_register | No | |
| recompute_url | No | |
| record_sha256 | No | Hash of the latest verdict. Recompute it via recompute_url; no trust in this gate required. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description fully discloses that the tool 'Reads the stored register: it contacts nothing and measures nothing.' It also honestly explains that 'absent and pending are reported honestly and are NOT negative verdicts' and clarifies that 'verified' can never be false, ensuring the agent understands the reliability and side-effect-free nature of the operation.
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 concise but includes essential details about the return fields, trust implications, and the read-only nature. It is structured as a coherent paragraph with clear sentences, though slightly verbose due to repeated emphasis on what the tool does not do.
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 outlines the return values (verified, state enum, measured_at, record_sha256, recompute_url) and explains how to verify the verdict without trusting the gate. It also mentions the alternative for fresh measurements. It lacks explicit error handling details but is sufficiently complete for an agent to decide on usage.
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 only parameter 'endpoint' is already well-described in the input schema as an 'https URL... exactly as it appears on the register.' The description does not add extra semantics beyond the schema, but since the schema covers 100% of the parameter, the baseline of 3 is appropriate.
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 precisely states the tool's purpose: 'A single machine-first answer for an agent deciding whether to trust an MCP endpoint BEFORE it connects.' It also explicitly differentiates from the sibling tool check_conformance, making its unique role 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?
The description indicates when to use the tool ('BEFORE it connects') and provides an explicit alternative for fresh measurements ('use check_conformance'). This gives clear contextual guidance on when to employ this tool versus a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_serverLook up an MCP server on this registerARead-onlyIdempotentInspect
Look up what this register already holds about an MCP endpoint: whether it is watched, how often it is re-measured, how many measurements exist, when the first and latest were taken, and the latest verdict with the record_sha256 you can recompute yourself. Reads stored measurements only. It contacts nothing and measures nothing, so use check_conformance for a fresh reading. An endpoint that is absent is reported as absent and that is NOT a negative verdict: it means nobody has measured it here, not that it failed.
| Name | Required | Description | Default |
|---|---|---|---|
| endpoint | Yes | https URL of the MCP endpoint to look up, exactly as it appears on the register |
Output Schema
| Name | Required | Description |
|---|---|---|
| means | No | |
| latest | No | |
| endpoint | No | |
| standing | No | |
| on_register | No | true = this endpoint is on the register. false = the register was READ and this endpoint is not on it. If the register could not be read at all, this field is not returned: the call comes back as a tool error (isError), because absence and not-knowing are different answers. |
| does_not_mean | No | |
| register_size | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description clearly discloses read-only behavior ('Reads stored measurements only', 'contacts nothing and measures nothing'), which aligns with annotations (readOnlyHint, idempotentHint). It goes beyond annotations by explaining absence semantics and that record_sha256 is recomputable, adding valuable context. No contradiction with 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 three sentences, each serving a purpose: enumerating returned data, stating read-only nature, and clarifying absence semantics. It is concise, front-loaded, and wastes no 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?
Given a single parameter, high schema coverage, an output schema, and clear annotations, the description fully covers what the tool does, when to use it, and interprets potential results. It also explains the fallback to check_conformance, 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'endpoint' is fully described in the schema (100% coverage), including format and matching requirement. The description does not add additional parameter information beyond the schema, so baseline 3 applies.
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 explicitly states the tool's purpose: to look up what the register already holds about an MCP endpoint, listing specific fields (watched status, re-measure frequency, measurement count, time range, latest verdict, record_sha256). It clearly distinguishes from sibling check_conformance by stating it does not contact or measure anything, and points to check_conformance for fresh readings.
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 when-to-use guidance: use this tool for existing stored data, and explicitly directs to check_conformance for a fresh reading. It also clarifies the meaning of absent endpoints (absence is not a negative verdict), which helps the agent interpret results and decide if further action is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_verdictRecompute a verdict hash without trusting the issuerARead-onlyIdempotentInspect
Take a verdict this gate issued and recompute its record_sha256 independently. Removes record_sha256 and recompute_note, serialises the remainder in key order, and hashes it. Returns whether the verdict was altered after it was issued. You do not have to trust the party that issued the verdict, including this one.
| Name | Required | Description | Default |
|---|---|---|---|
| record | Yes | The full verdict object as returned by check_conformance or GET /self |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| method | No | |
| verified | No | true = the verdict hashes to its own record_sha256, so it was not altered after issue. false = it was altered. This is a finding about the record, not an error. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive. The description adds precise details: it removes record_sha256 and recompute_note, serialises the remainder, and hashes it. This fully discloses the operation and its result, leaving no ambiguity about side effects.
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 concise, using two sentences to convey the algorithm and outcome. Every word is purposeful, with no redundancy or filler. It is well-structured and easy to parse.
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, usage, methodology, and return value. It explains the independent verification aspect and the trust premise. Even without an explicit output schema, the return behavior is clearly stated, making it complete for an agent to decide and use.
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 only parameter 'record' is fully described in the schema as 'The full verdict object as returned by check_conformance or GET /self'. Since schema coverage is 100%, the baseline is 3, but the additional context about the expected source of the object adds value, making it 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: to independently recompute the record_sha256 of a verdict and determine if it was altered. It distinguishes itself from sibling tools like check_conformance and lookup_server by focusing on hash verification and trust independence.
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 when to use the tool: when you need to verify a verdict without trusting the issuer. It explains the process (removing fields, hashing) and indicates independent verification. However, it does not explicitly mention when not to use it or alternative approaches, though the context is clear enough.
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
- AlicenseAqualityAmaintenanceAgent-readiness scorecard for any MCP server: protocol checks, 0-100 score and actionable findings.1620MIT
- AlicenseNot gradedqualityBmaintenanceAudits any MCP server against the official spec, providing HMAC-signed conformity reports.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that scans source code for MCP protocol features deprecated or removed by the 2026-07-28 release candidate, offering tools to inspect spec compatibility and generate migration checklists.13MIT
- AlicenseNot gradedqualityBmaintenanceZero-dependency MCP server inspector for protocol conformance, tool annotations, and capability checks.MIT
Your Connectors
Sign in to create a connector for this server.