uptime-kuma-mcp-server
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool targets a distinct resource/action: monitors are separated into list/get/create/edit/delete/pause/resume, while health data is split into heartbeats, status, and metrics. Notifications and status pages are clearly separate read-only listing tools, so there is little risk of misselection.
Naming Consistency5/5All tools follow the same uptime_kuma_ prefix with a consistent verb_noun structure in snake_case: list_monitors, get_monitor, create_monitor, edit_monitor, delete_monitor, pause_monitor, resume_monitor. The naming pattern is uniform and predictable.
Tool Count5/5Twelve tools is well-scoped for an Uptime Kuma server, covering monitor lifecycle, operational controls, health data, notifications, status pages, and metrics. Each tool fills a distinct role with no obvious redundancy.
Completeness4/5Monitor CRUD, pause/resume, heartbeats, uptime status, and metrics provide strong lifecycle coverage for core monitoring workflows. The main gap is that notifications and status pages only have list operations, with no create/update/delete tools, though this is workable for read-oriented usage.
Average 4.2/5 across 12 of 12 tools scored. Lowest: 3.5/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 2 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
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 indicate this is a mutating, idempotent, non-destructive operation. The description adds the useful precondition that the monitor should be paused, but does not disclose additional behavior such as what happens if the monitor is already running or whether the monitor immediately resumes checking.
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 very short and front-loads the core action clearly. The 'Args: monitor_id' line is slightly redundant with the schema, but the overall definition contains no fluff and is easy to parse.
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 one-parameter tool with annotations covering idempotency and destructiveness, the description is largely sufficient. It clearly states the action and the required identifier, though it could have added a brief note about the expected behavior or response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with monitor_id described as 'Monitor ID'. The description only repeats 'Args: monitor_id' and adds no meaning beyond the schema, so it earns the baseline score for high schema coverage.
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 gives a specific verb ('Resume') and a specific resource ('a paused monitor'), clearly identifying the tool's action. It is unambiguously distinct from its sibling pause_monitor because it targets the opposite state, so an agent can differentiate the tools without inspecting schemas.
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 explicit guidance is given about when to use this tool versus alternatives. The phrase 'a paused monitor' implies the tool is for monitors that are currently paused, but the description does not state exclusions or direct the agent to pause_monitor for the opposite operation.
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, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds useful behavior by noting that uptime and avgPing may be 'computed from heartbeats if needed', which hints at a fallback computation path beyond simple stored-value retrieval.
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 compact and front-loaded, with a purpose sentence, an Args list, and a Returns line. It contains no fluff, though the Args list partially duplicates the schema's already-available parameter documentation.
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?
There is no output schema, so the description appropriately states the return values (uptime as 0-1, avgPing in ms, and the heartbeat computation note). For a low-complexity read-only tool, this is sufficient context; missing edge-case or error behavior is not critical here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage and documents monitor_id, period_hours, and response_format with types, defaults, and bounds. The description only restates the parameter names and the period_hours default, adding no extra semantic detail 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 states a specific operation: get uptime ratio and avg ping for a monitor over a period. This is clear and distinct from sibling tools like listing monitors or fetching raw heartbeats, though it does not explicitly name or contrast any alternative.
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 aggregate uptime/ping queries over a time window, but it gives no explicit when-to-use or when-not-to-use guidance. Sibling tools such as uptime_kuma_get_heartbeats or uptime_kuma_get_metrics are not referenced, so an agent must infer the boundary.
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=false, idempotentHint=true, and destructiveHint=false, so the safety and mutation profile is known. The description adds the specific behavioral detail that the tool sets active=false, which is helpful, but it does not disclose potential side effects such as whether paused monitors stop all notifications or whether pausing an already-paused monitor errors. No contradiction with annotations exists.
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 short and front-loaded, stating the primary action and exact state change in the first sentence. The 'Args: monitor_id' line is somewhat redundant with the schema, so it does not fully earn its place, but the overall length is appropriate and easily scannable.
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 single-parameter, state-changing tool with rich annotations and a clear sibling set, the description provides enough information for an agent to invoke it correctly. It might benefit from explicitly noting that pausing is reversible via resume_monitor, but the core behavior, parameter usage, and mutation profile are adequately covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully documents the single parameter monitor_id with type, minimum, and description, so schema coverage is 100%. The description only repeats 'Args: monitor_id' without adding meaning beyond the schema, which meets the baseline of 3 but does not exceed it.
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 ('Pause') and resource ('heartbeat checks for a monitor'), and the parenthetical 'sets active=false' makes the operational effect unambiguous. This distinguishes it from sibling tools like delete or edit, because pausing is a reversible state change rather than a destructive or structural modification.
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 purpose is clear enough that an agent can infer when to use it: when a monitor should be temporarily suspended from heartbeat checks. However, the description does not explicitly mention when not to use it, nor does it point to the sibling resume_monitor as the counterpart for re-enabling. The usage context is implied rather than stated.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the returned fields and confirms it lists configured channels, but it does not disclose deeper behavior such as pagination, ordering, or response structure beyond the field names.
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?
Three short, front-loaded sentences: what the tool does, what it returns, and when to use it. Every sentence earns its place with no fluff or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with one optional parameter, the description is complete: it states the resource, the return fields, and the intended use. The output schema is absent, but the described return fields fill that gap adequately, and annotations cover safety semantics.
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?
There is only one parameter, response_format, and the schema already describes it fully with an enum and default ('markdown or json'). The description adds no additional parameter meaning, so the baseline of 3 applies given 100% schema description coverage.
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 names a specific verb and resource: 'List notification channels ... configured in Uptime Kuma.' It also lists what is returned (id/name/type/active), which makes the operation unmistakable and distinguishes it from sibling monitor-focused 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?
'Use when wiring monitor to notification' gives a clear, concrete trigger for when this tool is relevant. It does not explicitly name alternatives or when-not-to-use conditions, but the resource distinction is clear enough from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly discloses that the operation is destructive, irreversible, and deletes heartbeat history as well as the monitor. This goes beyond the destructiveHint annotation by specifying exactly what is destroyed and that confirmation is required. No contradiction with annotations exists.
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 extremely compact and front-loads the most critical fact (destructive deletion plus heartbeat history). The Args block is minimal and every sentence contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter deletion tool with full schema coverage and annotations covering the safety profile, the description provides everything needed: the target, the side effect, the irreversibility, and the confirmation requirement. No output schema exists, so no return-value details are required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully documents monitor_id with a description and minimum value, and schema description coverage is 100%. The description merely repeats the parameter with '(int)', adding no meaningful semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Delete a monitor and its heartbeat history.' This clearly differentiates the tool from siblings like pause, resume, or edit by explicitly naming the destructive scope and the data affected.
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 usage is implied by the tool name and description, but there is no explicit guidance on when to choose delete over alternatives like pause or edit. The 'Requires confirmation' note is a workflow prerequisite, not a comparative usage guideline.
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 annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds useful behavioral detail beyond annotations: results are returned newest-first, with a lookback period and limit.
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 compact and well-structured: a one-line purpose, a brief argument summary, and a clear return/usage note. It is front-loaded with the core action and uses only a few purposeful lines.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with straightforward parameters and no output schema, the description adequately explains what is returned (newest-first list with status/ping/msg/time) and gives practical query examples. It is complete enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all four parameters. The description repeats parameter names and ranges rather than adding deeper semantic context, so it meets the baseline but does not exceed it.
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 names a specific verb and resource: "Get recent heartbeats for a monitor," and lists the returned fields (status, ping, msg, time). This clearly distinguishes it from sibling tools like list monitors or get metrics.
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 explicit example queries that signal when to use it, such as "show recent checks for monitor 5" and "why was it down?". It lacks an explicit exclusion or comparison with sibling tools, but the use cases are clear enough.
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 establish read-only, idempotent, non-destructive behavior. The description adds useful information beyond the annotations by revealing the exact return shape (id/slug/title/published) and restricting the scope to public pages. 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 two sentences with no filler: the action is front-loaded and the return fields are stated concisely. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity optional-parameter list tool, the description provides enough context: the action, the scope, and the absence of an output schema is compensated by listing returned fields. The annotation set covers safety and idempotence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, response_format, is fully described in the schema with a default and enum; schema coverage is 100%. The description adds no parameter-level detail, but none is needed because the schema already carries the meaning.
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 ('List') and a distinct resource ('public status pages'), and it specifies the returned fields (id/slug/title/published). This is enough to distinguish it from sibling tools like uptime_kuma_list_monitors or uptime_kuma_get_status.
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 intended use is clear: call this tool to enumerate public status pages. It does not state when not to use it or name alternatives, but the resource is unique among the siblings, so an agent can select it without ambiguity.
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 key line 'Only provided fields are updated' discloses partial-update/patch behavior, which is important and not available in the annotations. Annotations already indicate this is a non-read-only, non-destructive, idempotent mutation, so the description adds meaningful behavior beyond them.
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 compact and front-loaded: the core action, the key patch behavior, the arg summary, and the main use cases all appear in a few short lines. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple partial-update tool, the description covers the main behavior and typical use cases, and the schema fills in parameter details. It could slightly improve by noting whether id is immutable or how this relates to pause/resume, but those gaps are minor given the annotations and sibling context.
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 description coverage is 100%, so the schema already documents each parameter well. The description adds global patch semantics with 'Only provided fields are updated,' which clarifies that omitted optional fields will not be reset or changed.
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 edits an existing monitor, which is a specific verb and resource. The phrase 'existing monitor' plus 'renaming, changing URL/interval' differentiates it from create, delete, pause, and resume siblings.
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 includes a direct 'Use when: renaming, changing URL/interval' section, giving an agent clear context for when to invoke it. It does not explicitly mention alternative tools or exclusion cases, but the provided use cases are enough to route common scenarios correctly.
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, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by listing the returned fields ('type, url, interval, status, tags') and framing the tool as a supporting read before mutations. It does not add further details like error behavior, but the annotations lower the burden.
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 tight, front-loaded with the core purpose, and structured into clear sections: the one-line summary, args, returns, and a usage hint. Every sentence is useful and no filler exists.
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 tool is a simple read-only fetch with only two parameters and no output schema, the description covers inputs, output fields, and the decision context. It stops short of addressing not-found or error behavior, which would make it fully complete, but the low complexity and rich annotations make this acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds semantic value beyond the schema by noting monitor_id is 'ID from list_monitors,' which tells the agent where to source valid IDs. The response_format parameter is simply restated, matching the schema, so not much extra there.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Get single monitor details by ID.' It distinguishes the tool from sibling list_monitors by specifying 'single' and requiring an ID, so an agent can immediately tell this tool provides item-level detail rather than a collection listing.
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 states a use case: 'Use when: need edit/delete/pause context.' This gives clear decision guidance. However, it does not explicitly mention when not to use the tool or name alternative tools, such as list_monitors for overviews or get_heartbeats for time-series data.
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, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by stating that results are paginated and include has_more/next_offset, which is not visible in the input schema or annotations. No contradictions found.
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 compact and well-structured: a one-sentence summary, a concise parameter list, a short return note, and clear usage guidance. Each section earns its place and the most important usage guidance is front-loaded.
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 compensates by noting the paginated return shape with has_more/next_offset and the response_format option. It provides enough context for an agent to understand what the tool returns, though it does not enumerate monitor fields in the response; this is a minor gap for a list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters accurately. The description briefly restates limit, offset, search, and response_format, which helps readability but adds no meaning beyond the schema. Baseline 3 is appropriate for high schema coverage.
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?
Clearly states the tool lists monitors from Uptime Kuma with pagination and optional search, and the description explicitly distinguishes it from uptime_kuma_get_monitor by noting that single-monitor details should use the sibling tool. The specific verb-resource pair leaves no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit 'Use when' examples ('show my monitors', 'list http monitors') and a direct 'Don't use when' clause naming uptime_kuma_get_monitor provide unambiguous selection criteria. This is exactly the level of guidance needed for an agent to choose between siblings.
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 mark the operation read-only, idempotent, and non-destructive; the description adds genuine extra context by disclosing the auth requirement (API key or username/password) and the raw Prometheus exposition return format. No behavioral surprises are hidden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: endpoint, auth, return format, use case, and parameter count. The most important facts are front-loaded and the whole description is compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only fetch with no output schema, the description is complete: it names the endpoint, states the authentication needed, describes the return format, and gives a parsing use case. Nothing essential is missing.
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 tool has zero parameters and the schema properties are empty, so there is no parameter meaning to add. The explicit 'No params' statement reinforces the schema and leaves no ambiguity for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Fetch Prometheus metrics from /metrics'. This clearly distinguishes the tool from siblings like uptime_kuma_get_monitor or uptime_kuma_get_heartbeats, which target individual monitors or heartbeat history rather than the Prometheus exposition endpoint.
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?
'Useful for AI to parse monitor_status, monitor_response_time' gives concrete context for when to call this tool. It does not explicitly name alternatives or state when not to use it, but the use case is clear enough for routing.
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 marking this as readOnly=false and idempotent=false, the description's key additional behavioral disclosure is that it returns the new monitorID. It does not contradict the annotations and provides useful extra context that compensates for the missing output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and return value, followed by a terse parameter summary and a single routing note. No sentence is wasted; the argument list uses compact notation that adds value without reproducing the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 11-parameter creation tool with no output schema, the description plus annotations cover the essentials: creation behavior, return value, type-dependent parameters, defaults, and the relationship to edit_monitor. The schema handles the remaining field-level details, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is met. The description adds value by summarizing type-specific parameter requirements ('url/hostname/port/keyword as required by type'), providing defaults for type and interval, and showing the shape of notificationIDList. This goes beyond the schema descriptions without being verbose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Create a new monitor,' naming the specific action and resource, and states it returns the new monitorID. This clearly distinguishes it from sibling tools like uptime_kuma_edit_monitor and uptime_kuma_list_monitors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides an explicit use case ('monitor https://exampl.com every 60s'), covers when to create, and explicitly says not to use it for edits, routing to edit_monitor. That is clear when/when-not guidance with a named alternative.
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/mehbul/uptime-kuma-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server