health-monitor-mcp
Server Quality Checklist
Latest release: v1.4.0
- Disambiguation5/5
Each tool targets a distinct resource type (MCP server, HTTP target, GitHub Actions, GitLab pipeline) and action (register, list, check, unregister). The cross-cutting tools (check_all, get_dashboard, get_report, get_monitor_stats) have clearly separate purposes, so there is no ambiguity.
Naming Consistency5/5All tool names follow a verb_noun pattern (register, list, check, unregister, get, set) with the resource type clearly stated. Minor singular/plural variations (e.g., list_http_targets vs. register_http_target) are natural and do not break consistency.
Tool Count5/5With 22 tools covering four distinct target types (MCP servers, HTTP, GitHub Actions, GitLab pipelines) plus cross-cutting monitoring and reporting, the count is well-scoped for the server's broad purpose. Each tool earns its place, and the count is not excessive for the feature set.
Completeness4/5The lifecycle for each target type is covered: register, list, check, and unregister. There is no explicit update/edit operation for target configurations (e.g., modifying assertions), but agents can work around this by unregistering and re-registering. Overall, the surface is solid with only minor gaps.
Average 3.8/5 across 22 of 22 tools scored. Lowest: 3.1/5.
See the Tool Scores section below for per-tool breakdowns.
- 0 of 1 community issues answered or closed in the last 6 months
- 56 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
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?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds 'history and statistics,' implying a time-range perspective, but does not disclose details like the default hours window, whether results are aggregated, or behavior for unregistered servers. It adds minimal context beyond 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 a single, directly worded sentence that front-loads the action and object. It contains no filler or redundant phrasing, making it concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple read-only operation with two parameters and no output schema, but the description is incomplete: it omits the meaning of the 'hours' parameter, does not indicate the default time range, and fails to differentiate from related monitoring tools. Given the availability of get_monitor_stats and check_* siblings, more context is needed for correct selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: the 'name' parameter has a minimal description ('Server name'), while 'hours' has none. The description does not explain the role of 'hours' in controlling the uptime window or any parameter-specific behavior. It adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get uptime history and statistics' with a specific verb and resource, and scopes it to 'a registered MCP server'. However, it does not distinguish this from sibling tools like get_monitor_stats or check_server, which may also involve uptime or server health.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It mentions the server must be registered, but does not explain when to prefer this over get_monitor_stats, check_server, or get_dashboard. No exclusions or conditional use cases are described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only nature is known. The description adds minimal context by specifying 'registered' targets and 'latest status,' but does not disclose behaviors like pagination, rate limits, or authentication requirements.
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 a single sentence that gets straight to the point, front-loading the action and resource with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is too sparse for a tool with two optional filters and no output schema. It fails to explain the return format or that the tool supports filtering by tags and status, so the agent cannot fully anticipate the invocation parameters or response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate, but it does not mention the 'tags' or 'status' parameters at all. The schema has no property descriptions, leaving the agent without guidance on how to use filters.
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 the specific verb 'List' and clearly identifies the resource as 'registered GitLab pipeline targets' with 'their latest status.' This distinguishes it from sibling tools like register_gitlab_pipeline and check_gitlab_pipeline, which perform different actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like check_gitlab_pipeline or list_github_actions. It does not mention filter use cases or exclusions, leaving the agent to infer usage from the name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations already flag this as destructive, the description adds no extra behavioral context—it does not mention irreversibility, impact on historical data, or any side effects. It merely echoes the tool's name and purpose.
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 a single, focused sentence that communicates the core action without fluff. It is optimally concise for the simple operation, though it sacrifices necessary detail in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with one parameter, the description is underwhelming: it omits parameter semantics, consequences of removal, and any usage context. Even with annotations covering safety, the description fails to provide a complete picture of the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required 'name' parameter with zero description coverage, and the tool description does not clarify what 'name' refers to (e.g., hostname, display name, or ID). The description only implies that a server is being removed, leaving the parameter's exact format ambiguous.
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 action ('Remove') and the resource ('a server from monitoring'), distinguishing it from sibling unregister tools that target different resource types (e.g., GitLab pipelines, HTTP targets). It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool over alternatives, nor any prerequisite or context such as 'use when you need to stop monitoring a registered server'. The description simply restates the tool's function without offering decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that the listing includes current status, which is useful, but it does not disclose filtering behavior, pagination, or the meaning of 'all' when filters are applied.
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 a single, efficient sentence that front-loads the verb 'List' and clearly specifies the resource and return focus. There is no redundant or extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has two optional filter parameters, but the description says 'all registered' servers, which creates ambiguity about whether filters are supported and whether 'all' is literal. With no output schema and minimal return information, the description is adequate for a simple list but misses important filter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, and the description does not explain the 'tags' or 'status' parameters. The mention of 'status' in the description could be misinterpreted as a display field rather than a filter. Without additional context, parameter semantics remain ambiguous.
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 that the tool lists all registered MCP servers and includes their current status. This distinguishes it from sibling tools like list_http_targets or list_gitlab_pipelines, which target different resource types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives such as check_all or list_http_targets. There are no prerequisites or exclusions; usage is only implied by the resource name 'servers'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context about output format (Markdown) and intended use beyond the readOnly and destructive annotations. However, it does not disclose the effect of the 'hours' parameter on the report's time window, nor any underlying behavior like network calls or caching.
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 a single, front-loaded sentence that conveys the core action, scope, output format, and intended use without any redundant words. Every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description covers the output format and target resources, but omits the time-range parameter completely. This is a notable gap, though the overall tool is fairly simple.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'hours' is not mentioned in the description, and schema description coverage is 0%. The description adds no meaning beyond the schema's type/default/min/max, leaving the agent to infer how the parameter affects the report.
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 retrieves a human-readable Markdown health report covering MCP servers, GitHub Actions workflows, GitLab pipelines, and HTTP targets. The verb 'Get' and specific resource scope distinguish it from sibling check/report tools, and 'Markdown' adds further differentiation.
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 usage for obtaining an aggregate, human-readable report across multiple monitored resource types, and notes it can be pasted into chat or docs. It doesn't explicitly name alternatives or exclusions, but the context is clear enough for selection among granular check tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe read-only nature is known. The description adds what data is returned (status, response, TLS summary) but does not disclose additional behaviors like pagination or rate limits, which is acceptable given the low complexity.
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?
A single, front-loaded sentence with no unnecessary words or repetition. It efficiently conveys the tool's purpose and output summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the core function of listing targets and their status, but it omits mention of optional filtering by tags or status and provides no details on return structure. Given the schema captures parameters, the description is slightly incomplete for the tool's full range of capabilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the optional tags or status filter parameters. The failure to compensate for the lack of parameter information leaves the agent without guidance on how to refine the list.
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 lists registered HTTP targets and includes their latest status, response, and TLS summary. The verb 'List' plus the specific resource 'HTTP targets' clearly differentiates it from sibling tools like list_servers.
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 conveys the use case—obtaining an overview of all HTTP targets and their operational state. However, it does not explicitly mention when to use this tool over alternatives like check_http_target, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a write operation (readOnlyHint=false), so the description's 'Configure' is consistent. However, it does not disclose behavioral traits like whether setting thresholds overwrites existing ones, applies per-server, or has side effects. Some extra context is added by naming the metrics, but there is room for more.
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?
One concise sentence that is front-loaded with the verb and object, and it names the key metrics. No filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and simple annotations, the description covers the core purpose but omits important context about side effects (e.g., existing thresholds being replaced) and the requirement for a valid server name. It is adequate for a basic config tool but not fully complete.
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 coverage is 75% (3 of 4 params have descriptions). The description names the threshold types, which aligns with the schema and helps clarify consecutive_failures_before_alert (which lacks a schema description). It does not add much beyond what the schema already specifies for the other parameters.
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 ('Configure') and resource ('alert thresholds') and lists the key metrics involved. It clearly distinguishes this tool from sibling tools like check_server, get_uptime, and register_* 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.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (when you need to set alert thresholds) but provides no explicit when-to-use vs alternatives or exclusions. It doesn't mention when not to use this tool, such as when only viewing thresholds is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the annotations, such as DNS-pinned SSRF protection, bounded redirects/body reads, response assertions, and TLS-expiry diagnostics. These details inform the agent about safety measures and diagnostic capabilities, which is valuable. The annotations already declare read-only and non-destructive, so the bar is lower, but the description still provides additional useful 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 a single, focused sentence that conveys the core action and key features. It is front-loaded with the main purpose, though the technical jargon (e.g., 'DNS-pinned SSRF') might be dense. Every phrase adds value, so it earns a high score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description sufficiently explains what the tool does and what behaviors to expect (assertions, TLS diagnostics). It lacks explicit return format details, but for a read-only check tool with strong annotations, this is not a critical gap. The two-parameter schema is simple, and the description covers the core semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (only 'name' is described). The description does not mention or explain the 'timeout_ms' parameter, leaving its semantics undocumented in both schema and description. The description's mention of 'bounded redirects/body reads' only indirectly relates to timeout behavior, but it does not clarify how the parameter affects the check.
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 'Check a registered HTTP target' with a specific verb and resource, and enumerates distinct capabilities like SSRF protection and response assertions. This distinguishes it from sibling tools like check_server or check_github_actions, which target different resource types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for checking registered HTTP targets, but it does not explicitly state when to use it over alternatives or when not to use it. It lacks explicit exclusions or alternative tool references, relying on the name and context to convey usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint true and destructiveHint false, so the safety profile is covered. The description adds minor context about the contents (database activity) but does not disclose any additional behaviors such as pagination or return shape.
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 a single sentence of 12 words, concise and immediately clear. It contains no filler or repeated information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple no-parameter tool with read-only annotations, the description adequately conveys the purpose. It could be more detailed about what statistics are included, but it's sufficient for this simple tool.
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?
There are zero parameters, which sets a baseline of 4. The schema has no properties and the description doesn't need to explain parameters.
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 ('Get') and names the resource ('statistics about the health monitor itself'), clearly distinguishing it from sibling tools that target pipelines, servers, or targets. The addition 'including database activity' gives concrete scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives is provided. It doesn't reference any conditions or exclusions relative to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that it lists 'registered' targets and includes 'latest status', which provides some scoping context, but does not elaborate on filtering behavior, pagination, or return format beyond status.
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 a single, focused sentence that starts with the verb 'List' and immediately conveys the subject. No wasted words or redundant details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The core purpose is clear, and the description mentions the latest status as a return aspect, but it lacks details about what fields are returned (e.g., workflow name, ID) and does not explain how optional parameters affect results. Given the absence of an output schema, more description would be needed for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, placing the burden on the description to explain parameters. The description does not mention the 'tags' or 'status' parameters at all. While the parameter names are somewhat self-explanatory, the description adds no explicit meaning, such as clarifying that 'tags' filters by tags and 'status' filters by the up/down/unknown state.
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 ('List') and the resource ('registered GitHub Actions workflow targets') along with the additional detail of including their latest status. This distinguishes it from sibling list tools like list_gitlab_pipelines and list_http_targets.
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 implies when to use this tool: to list registered GitHub Actions workflow targets. It does not explicitly mention alternatives or exclusions, but the context is sufficiently clear given the tool name and the 'registered' qualifier, which differentiates it from other list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag the tool as destructive, and the description adds that it also removes stored check history, providing useful scope beyond the annotations. It does not mention reversibility or prerequisites, but the destructiveHint annotation covers the primary safety signal.
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 a single sentence that is front-loaded with the action verb and contains no superfluous words. Every word contributes to understanding the tool's behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter destructive tool, the description covers the core purpose and extra behavior (check history removal), but it omits parameter semantics and any note about expected outcomes or error behavior. With no output schema, some return-value context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one required parameter 'name' with 0% description coverage, and the description does not explain what 'name' refers to or provide any parameter guidance. The agent must infer from context, which is a significant gap for a tool with a single required parameter.
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 a specific verb ('Remove') and resource ('GitHub Actions workflow target'), and also notes the removal of stored check history. This distinguishes it from sibling unregister tools like unregister_gitlab_pipeline and unregister_http_target, 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 Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (when you want to remove a GitHub Actions workflow) but does not explicitly provide when-to-use vs alternatives or exclusions. The sibling list shows similar tools for other target types, but no alternative is referenced in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring readOnlyHint=true and destructiveHint=false, the description adds useful context by specifying that it returns diagnostics for failed jobs and steps, which helps the agent anticipate the output. It does not contradict any 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 a single sentence that is front-loaded with the action and resource, containing no redundant words. It is concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only check tool with no output schema, the description adequately covers the purpose and return value (failed diagnostics). Combined with the safety annotations and the simple parameter set, this is sufficient context 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.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides a description for 'name' but not for 'timeout_ms' (50% coverage). The tool description does not explain either parameter or add meaning beyond the schema, failing to compensate for the undocumented timeout_ms parameter.
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 action ('Check the latest run'), a specific resource ('registered GitHub Actions workflow'), and the return value ('failed job and step diagnostics'). This clearly distinguishes it from sibling tools like check_gitlab_pipeline or check_http_target.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for GitHub Actions workflows but does not explicitly state when to use this tool vs alternatives like check_all or check_gitlab_pipeline. No exclusions or alternative tool mentions are provided, so usage context is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, covering the safety profile. The description adds that it lists tools and measures response time, which are behavioral details beyond annotations. However, it does not disclose error conditions or what 'health' entails.
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 a single sentence that is direct and front-loaded. Every word contributes value: 'Check the health', 'registered MCP server', 'list tools', 'measure response time'. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with good annotations and no output schema, the description covers the main actions. It could include details about return format or behavior when the server is not registered, but these are not critical given the tool's simplicity and safe annotation profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes 'name' but not 'timeout_ms'. The description does not explain the timeout parameter or its relation to response time measurement. With schema coverage at 50%, the description should compensate for the missing parameter semantics, but it doesn't.
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' with resource 'registered MCP server', and explicitly lists what it does: list tools and measure response time. This clearly distinguishes it from sibling check_* tools for HTTP, GitHub Actions, and GitLab Pipelines.
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 states it checks a 'registered MCP server', giving clear context that this tool is for MCP servers specifically. It implies usage for MCP health checks but does not explicitly exclude alternatives like check_http_target or provide when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
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 valuable context about the aggregated scope (servers, workflows, pipelines, HTTP targets) and the performance/uptime stats. It does not describe return format or potential heaviness, but for a read-only dashboard with annotations, the added context is meaningful. 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence of 19 words that front-loads the verb and key content. Every word adds value, listing the covered resources and the type of statistics, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two optional parameters and no output schema, the description gives a solid high-level picture of what the dashboard includes. The main gap is the complete absence of parameter semantics (e.g., how to adjust the time window), which prevents full operational understanding, but the core purpose is well covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not mention the parameters 'hours' or 'include_tool_stats' at all. The schema only provides types/defaults, leaving their semantics entirely unstated. The agent cannot infer whether 'hours' is a time range or how 'include_tool_stats' alters the output.
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 ('Get') and clearly states the resource ('dashboard overview') plus the exact coverage ('registered MCP servers, GitHub Actions workflows, GitLab pipelines, and HTTP targets') and the kind of data included ('uptime and performance stats'). This distinguishes it from the sibling tools that target individual resources or actions.
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 by positioning this as a broad overview tool, which implicitly contrasts with the more specific sibling tools (e.g., check_server, list_http_targets). However, it does not explicitly state when to use this versus alternatives or mention exclusions, so it falls 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.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, but the description adds a concrete behavioral trait: 'and its stored check history' is removed. This provides useful side-effect 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that directly states the action and its key side effect. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter destructive tool, the description adequately covers the purpose and the important side effect. It does not need to explain return values, but it would benefit from explicitly connecting the 'name' parameter to the target being removed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the only parameter 'name', and the description does not explicitly explain that 'name' refers to the registered GitLab pipeline target name. The meaning is only indirectly inferred from the tool name and description.
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 'Remove' with a clear resource 'GitLab pipeline target' and additionally states that stored check history is removed. This clearly distinguishes the tool from siblings like unregister_github_actions and unregister_http_target.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the purpose: use when you need to remove a GitLab pipeline target. However, there is no explicit guidance about when not to use this tool or how it compares to alternatives such as unregister_http_target or checking a pipeline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, establishing a safe read-only operation. The description adds valuable context by specifying the return payload, including 'bounded trace diagnostics', which hints at a limit on trace length. It does not contradict any 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 a single, well-structured sentence that front-loads the action and resource, then lists the specific output fields. It is concise with no wasted words, conveying all key information efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists the return fields, which is helpful, but it omits explanation of the timeout_ms parameter and leaves 'bounded' vague. With no output schema and an additional undocumented parameter, the description is adequate but not fully complete for an agent to invoke correctly without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes 'name' but not 'timeout_ms', leaving 50% of parameter coverage. The tool description does not mention 'timeout_ms' at all, failing to explain its purpose or relationship to the 'bounded' diagnostics. Since schema coverage is only 50%, the description should compensate but does not.
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's action ('Check') on a specific resource ('latest registered GitLab pipeline') and enumerates the specific returned diagnostics (failed job, stage, ref, commit, URL, bounded trace diagnostics). This distinguishes it from sibling tools like list_gitlab_pipelines and unregister_gitlab_pipeline.
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 context for using this tool is clear: to retrieve failure details of the latest registered GitLab pipeline. It does not explicitly name alternatives or exclusions, but the sibling tools' names indicate different purposes (listing, unregistering), so an agent can infer when to use this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read and non-destructive mutation. The description adds context about transport constraints and runtime policy restrictions, but it does not disclose side effects (e.g., persistence, overwriting, validation) or return behavior. The policy note provides some value beyond 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?
Two sentences, front-loaded with the main action ('Register an MCP server'), followed by a compact list of transport rules. No redundant information with schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite annotations, the description lacks critical operational detail: how the server is identified, what input the tool accepts (schema is empty), what happens on success/failure, and whether registration persists. The transport guidance is useful but does not cover the overall registration workflow, leaving the tool ambiguous for an agent.
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?
The schema has zero parameters with 100% schema coverage, so the baseline is 4. The description enriches the empty schema by explaining the three transport modes (http, sse, stdio) and their appropriate use, which is not evident from the schema itself.
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 the specific verb 'Register' with the resource 'MCP server', clearly distinguishing it from sibling tools like register_http_target, register_github_actions, etc. It also adds protocol specificity (http, sse, stdio), making the scope concrete.
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 explicitly instructs when to use http, sse, or stdio based on server type, including exclusions (sse only for legacy, stdio only if policy-allowed). However, it does not explicitly name alternative tools like register_http_target, so differentiation relies on the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations state readOnlyHint=false and destructiveHint=false, but the description adds meaningful security-relevant behavior: only the token environment-variable name is stored, while token values remain in the runtime environment. This goes beyond what annotations reveal.
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 two sentences, front-loaded with the action and resource, and includes a crucial security caveat without unnecessary filler. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a registration tool with 8 parameters and no output schema. The description covers core inputs and token security but does not explain post-registration behavior, return values, or the role of parameters like check_interval_minutes and branch, leaving some contextual gaps.
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 high (88%), so the baseline is 3. The description adds minor semantic context by noting the workflow can be a file or ID and clarifying token_env behavior, but it largely relies on the schema for parameter details.
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 the specific verb 'Register' with the resource 'GitHub Actions workflow' and lists the key identifying parameters (owner, repository, workflow file or ID). This clearly distinguishes it from siblings like register_gitlab_pipeline or check_github_actions.
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 makes clear this tool is for registering GitHub Actions workflows, which implies usage context. However, it does not explicitly state when to prefer this over alternatives or provide exclusions, though sibling names fill some of that gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, and the description enhances transparency by disclosing that the operation also removes stored check history, a behavioral detail not present in the annotations. This adds useful context 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence 'Remove an HTTP target and its stored check history.' It is perfectly concise, front-loaded with the action verb, and contains no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter destructive operation with a clear annotation (destructiveHint=true) and no output schema, the description plus annotation covers the essential context. It could mention error behavior (e.g., if target not found) but this is not critical for a straightforward unregister action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter 'name' with no description (0% schema description coverage). The tool description does not mention the parameter or explain that 'name' identifies the HTTP target to remove, leaving the agent to infer this from context. Given the low coverage, the description should compensate but does not.
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 'Remove an HTTP target' with the specific verb 'Remove' and resource 'HTTP target', and adds 'stored check history' to distinguish from other unregister tools. This precisely differentiates it from siblings like unregister_server or unregister_gitlab_pipeline.
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 context is clear: this tool is for unregistering HTTP targets. However, it does not explicitly mention when not to use it or suggest alternatives, relying on the resource name to guide the agent. No exclusions are stated, so this fits a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a write (readOnlyHint=false) and non-destructive (destructiveHint=false) operation. The description adds valuable context: token values are not persisted (only the environment-variable name is stored) and self-hosted origins require HEALTH_MONITOR_GITLAB_BASE_URL_ALLOWLIST. This goes beyond the annotations to explain security-relevant behavior.
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 two short sentences: the first states the primary action, the second conveys constraints. It is front-loaded and contains no redundant words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 7 parameters, high schema coverage, and absence of an output schema, the description is sufficiently complete. It covers the core purpose and key constraints, though it could briefly mention what registration implies (e.g., enabling monitoring), but the sibling check_gitlab_pipeline tool provides that context.
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 86%, so the schema already documents most parameters clearly. The description's mention that 'only the token environment-variable name is stored' reinforces token_env semantics but is also present in the schema. No additional parameter-level meaning is added, so the baseline score 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 tool's function with a specific verb ('Register') and resource ('GitLab CI/CD project pipeline'), distinguishing it from sibling registration tools (e.g., register_github_actions, register_http_target). It also notes the default GitLab.com behavior, adding scope.
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 gives clear context for when to use this tool: to register a GitLab pipeline for monitoring. It also provides important usage constraints (GitLab.com allowed by default; self-hosted origins require allowlist). It does not explicitly name alternatives, but the specificity makes the intended use obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a write operation (readOnlyHint=false) and no destructive behavior. The description adds meaningful context beyond annotations: GET-only restriction, supported assertion types, and allowlist requirements for private origins. There is 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the verb and resource type. Every phrase provides useful information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core behavior, supported assertion types, and network constraints. It lacks explicit return-value or setup details, but no output schema exists and the tool is reasonably scoped. Sufficient for a registration tool.
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?
The input schema has zero parameters, so baseline is 4. The description mentions endpoint and assertion types, but there are no parameters to document. This is acceptable given the empty 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 clearly states the action ('Register'), the resource ('GET-only HTTP or HTTPS endpoint'), and the specific features (status, header, body, JSON, TLS-expiry assertions). This distinguishes it from sibling register tools for GitHub Actions, GitLab pipelines, and servers.
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 use for HTTP/HTTPS monitoring targets and provides context on network restrictions and prerequisites for private origins. It does not explicitly name alternatives, but sibling tools make the differentiation clear enough.
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?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds meaningful behavioral details: a bounded concurrency limit, result order preservation (MCP→GitHub→GitLab→HTTP), and that tags filter across all target kinds. This goes beyond the safety annotations and enriches the agent's understanding of execution behavior.
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?
Two sentences, heavily packed with relevant details: scope, concurrency, ordering, and tag filtering. No redundancy or filler—every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main aspects needed to invoke the tool: what it checks, ordering, concurrency, and tag filtering. It lacks an explicit statement about return format, but no output schema is present, and the description's mention of 'Results preserve... order' gives a hint. Given the simple parameter set and rich sibling context, it is nearly complete.
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 50% (only tags has a description). The tool description adds value by clarifying that tags filter all target kinds, going beyond the schema's 'Filter targets by registered server tags'. For timeout_ms, the schema provides default/min/max, so no additional semantics are needed. The description partially compensates for the coverage gap.
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 action ('Check all registered MCP servers, GitHub Actions workflows, GitLab pipelines, and HTTP targets') with a specific verb and resource scope. It distinguishes from sibling tools by covering 'all' target kinds at once, as opposed to individual check tools.
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 use for bulk checking across all target types and notes a bounded concurrency limit as a key advantage. It does not explicitly name alternatives or state when not to use, but the 'all' scope and context from sibling names provide clear usage context without exclusions.
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/oaslananka/health-monitor-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server