Skip to main content
Glama

ops-mcp

MCP server for managing maintenance windows across Atlassian Statuspage and Uptime Kuma from AI assistants like Claude.

Features

  • Unified maintenance scheduling — create maintenance windows on both Statuspage and Uptime Kuma in a single call

  • Statuspage management — create, update, and list incidents and scheduled maintenance

  • Uptime Kuma management — create, end, and list maintenance windows; list monitors

  • MCP protocol — works with any MCP-compatible client (Claude Desktop, Claude Code, etc.)

Related MCP server: GetMonitor MCP Server

Tools

Tool

Description

ops_schedule_maintenance

Create a maintenance window on both Statuspage and Uptime Kuma in one call

ops_create_maintenance

Create scheduled maintenance on Statuspage

ops_update_maintenance

Update or resolve a Statuspage incident/maintenance

ops_list_incidents

List Statuspage incidents and scheduled maintenance

ops_list_components

List all Statuspage components (resolve names to IDs)

ops_create_uk_maintenance

Create a maintenance window in Uptime Kuma

ops_end_uk_maintenance

End an Uptime Kuma maintenance window early

ops_list_uk_maintenance

List all Uptime Kuma maintenance windows

ops_list_uk_monitors

List all Uptime Kuma monitors with current status

Setup

Install

pip install -e .

Environment variables

Copy .env.example to .env and fill in your credentials:

STATUSPAGE_API_KEY=your_statuspage_oauth_token
STATUSPAGE_PAGE_ID=your_page_id
UPTIME_KUMA_URL=https://status.example.com
UPTIME_KUMA_USERNAME=admin
UPTIME_KUMA_PASSWORD=your_password
  • Statuspage API key: Generate at manage.statuspage.io under your user profile > API keys

  • Statuspage page ID: Found in your page URL or page settings

  • Uptime Kuma URL: The base URL of your Uptime Kuma instance

  • Uptime Kuma credentials: A user with permission to manage maintenance windows

MCP client configuration

Add to your MCP client config (e.g. .mcp.json):

{
  "mcpServers": {
    "ops-mcp": {
      "command": "ops-mcp",
      "env": {
        "STATUSPAGE_API_KEY": "your_key",
        "STATUSPAGE_PAGE_ID": "your_page_id",
        "UPTIME_KUMA_URL": "https://status.example.com",
        "UPTIME_KUMA_USERNAME": "admin",
        "UPTIME_KUMA_PASSWORD": "your_password"
      }
    }
  }
}

Usage examples

Schedule maintenance on both systems:

"Schedule a 2-hour database maintenance window starting at 2am AEST tomorrow"

The ops_schedule_maintenance tool handles both Statuspage and Uptime Kuma, so monitors are silenced and subscribers are notified in one step.

List current monitors:

"Show me all Uptime Kuma monitors and their status"

Update an incident:

"Mark incident abc123 as resolved with message 'Database migration complete'"

License

MIT

Available Tools

9 tools
ops_create_maintenanceC

Create scheduled maintenance on Statuspage

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesMaintenance title
scheduled_forYesISO 8601 start time
scheduled_untilYesISO 8601 end time
bodyNoDescription / reason
component_idsNoAffected component IDs
auto_in_progressNoAuto-transition to in_progress at start time (default true)
auto_completedNoAuto-complete at end time (default true)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Create' implies a write/mutation operation, the description doesn't address important behavioral aspects like required permissions, whether the operation is idempotent, what happens if maintenance overlaps with existing events, or what the response contains. This leaves significant gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise at just 5 words ('Create scheduled maintenance on Statuspage'). It's front-loaded with the core action and resource, with zero wasted words or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 7 parameters and no annotations or output schema, the description is insufficient. It doesn't address what happens after creation, error conditions, permissions required, or how this differs from similar sibling tools. The combination of no annotations, no output schema, and a minimal description leaves significant gaps for proper tool understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, meaning all 7 parameters are documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema, so it meets the baseline expectation but doesn't provide extra value. The description doesn't explain relationships between parameters or provide usage examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create scheduled maintenance') and the target resource ('on Statuspage'), which provides a specific verb+resource combination. However, it doesn't differentiate this tool from its sibling 'ops_schedule_maintenance' or 'ops_create_uk_maintenance', leaving some ambiguity about when to choose between these similar-sounding tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does 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 'ops_schedule_maintenance' or 'ops_create_uk_maintenance'. It also doesn't mention any prerequisites, constraints, or typical use cases for creating maintenance events on Statuspage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_create_uk_maintenanceC

Create a maintenance window in Uptime Kuma

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesMaintenance title
descriptionNoReason / details
startYesStart datetime (e.g. '2026-03-29 02:00:00')
endYesEnd datetime (e.g. '2026-03-29 04:00:00')

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Create' implies a write/mutation operation, it doesn't specify required permissions, whether the operation is idempotent, error handling, or what happens on success/failure. For a creation tool with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the core functionality without any wasted words. It's appropriately sized and front-loaded with the essential information, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what constitutes a successful creation, what gets returned (if anything), error conditions, or how this tool differs from similar sibling tools. The description should provide more context given the tool's complexity and lack of structured metadata.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% description coverage, providing clear documentation for all 4 parameters. The description adds no additional parameter information beyond what's already in the schema. According to scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create') and resource ('a maintenance window in Uptime Kuma'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this tool from sibling tools like 'ops_create_maintenance' or 'ops_schedule_maintenance', which appear to serve similar functions in different contexts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does 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 'ops_create_maintenance' or 'ops_schedule_maintenance'. It lacks context about prerequisites, target system (Uptime Kuma), or any explicit when-to-use/when-not-to-use instructions, leaving the agent to infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_end_uk_maintenanceC

End (pause) an Uptime Kuma maintenance window early

ParametersJSON Schema
NameRequiredDescriptionDefault
maintenance_idYesMaintenance ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool ends or pauses a maintenance window early, implying a mutation action, but doesn't cover critical aspects like whether this requires specific permissions, if the change is reversible, what happens to associated data, or error conditions. For a mutation tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action and resource. There is no wasted text, and it directly communicates the tool's purpose without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a mutation tool (ending a maintenance window) with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., effects, permissions), usage context, and return values, which are essential for an agent to invoke it correctly and safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'maintenance_id' documented as 'Maintenance ID'. The description adds no additional meaning beyond this, such as how to obtain the ID or format requirements. With high schema coverage, the baseline is 3, as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('End (pause)') and resource ('an Uptime Kuma maintenance window early'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'ops_update_maintenance' or 'ops_create_uk_maintenance', which might also modify maintenance windows, so it doesn't fully distinguish from alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does 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. It doesn't mention prerequisites (e.g., that a maintenance window must be active), exclusions, or compare it to siblings like 'ops_update_maintenance' for modifying other aspects. This leaves the agent with little context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_list_componentsB

List all Statuspage components (resolve names to IDs)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It states the tool lists components and resolves names to IDs, but lacks details on behavioral traits such as pagination, rate limits, authentication requirements, or what 'resolve names to IDs' entails operationally.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action ('List all Statuspage components') and adds a clarifying note ('resolve names to IDs') without any wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 0 parameters, no annotations, and no output schema, the description is minimally adequate. It states what the tool does but lacks completeness in usage guidelines, behavioral details, and output information, leaving gaps for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description adds value by mentioning 'resolve names to IDs', which provides context beyond the empty schema, though it's not a parameter-specific detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and resource 'Statuspage components', making the purpose evident. However, it doesn't explicitly differentiate from sibling tools like 'ops_list_incidents' or 'ops_list_uk_maintenance', which also list resources but different 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/5

Does 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. The description mentions 'resolve names to IDs', which hints at a use case for mapping, but doesn't specify when this is needed or contrast with other listing tools like 'ops_list_incidents'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_list_incidentsB

List Statuspage incidents and scheduled maintenance

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter: 'scheduled', 'unresolved', or omit for all
limitNoMax results (default 10)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but doesn't mention whether this is a read-only operation, potential rate limits, authentication requirements, pagination behavior, or what format the results return. For a list operation with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the core purpose without any wasted words. It's appropriately sized for a simple list operation and front-loads the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with 2 well-documented parameters and no output schema, the description provides the basic purpose but lacks important context. Without annotations or output schema, it should ideally mention that this is a read operation, what the response format looks like, or any system constraints. It's minimally adequate but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. This meets the baseline expectation when the schema does the heavy lifting, but doesn't provide additional context about parameter interactions or usage patterns.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resources 'Statuspage incidents and scheduled maintenance', providing a specific purpose. However, it doesn't explicitly differentiate this tool from its sibling 'ops_list_uk_maintenance' which appears to be a UK-specific variant, leaving some ambiguity about when to use one versus the other.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does 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 'ops_list_uk_maintenance' or 'ops_list_components'. It doesn't mention prerequisites, context for filtering, or any explicit when/when-not scenarios, leaving the agent to infer usage from tool names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_list_uk_maintenanceB

List all Uptime Kuma maintenance windows

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states the action without disclosing behavioral traits. It doesn't mention if this is a read-only operation, potential rate limits, authentication needs, or what the output format might be, which is a significant gap for a tool with no structured safety hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function without any wasted words. It is appropriately sized and front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of listing maintenance windows, no annotations, and no output schema, the description is incomplete. It doesn't explain what data is returned, how results are structured, or any limitations, which leaves the agent without enough context to use the tool effectively beyond its basic purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description doesn't need to add parameter details, and it correctly implies no inputs are required, aligning with the schema. Baseline 4 is appropriate as it doesn't contradict or add unnecessary information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('all Uptime Kuma maintenance windows'), making the purpose specific and understandable. However, it doesn't distinguish this tool from its sibling 'ops_list_components' or 'ops_list_incidents' which also list different resources, so it misses explicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does 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 'ops_list_uk_monitors' or 'ops_create_uk_maintenance'. It lacks context on prerequisites, timing, or exclusions, leaving usage decisions ambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_list_uk_monitorsB

List all Uptime Kuma monitors with their current status

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a read operation ('List'), but doesn't cover critical aspects like whether it requires authentication, has rate limits, returns paginated results, or what format the output takes. The description is minimal and lacks necessary behavioral context for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose without any wasted words. It directly states what the tool does and includes the key detail about current status, making it appropriately sized for its simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (zero parameters, no output schema, no annotations), the description is minimally adequate. It specifies the resource and what information is returned, but lacks behavioral details like output format or operational constraints. For a simple list tool, it's passable but could be more informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema description coverage is 100% (since there are no parameters to describe). The description doesn't need to add parameter semantics, so it meets the baseline expectation. No additional value is required or provided beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List all') and resource ('Uptime Kuma monitors'), including the scope of information returned ('with their current status'). It distinguishes itself from siblings like ops_list_components or ops_list_incidents by specifying the resource type. However, it doesn't explicitly differentiate from ops_list_uk_maintenance, which is a closely related sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does 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. It doesn't mention prerequisites, timing considerations, or compare it to siblings like ops_list_components for broader status checks or ops_list_uk_maintenance for maintenance-specific listings. Usage is implied only by the tool name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_schedule_maintenanceA

Create a maintenance window on BOTH Statuspage and Uptime Kuma in a single call. Returns IDs from both systems.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesMaintenance title (e.g. 'Database upgrade')
start_timeYesISO 8601 start time (e.g. '2026-03-29T02:00:00+11:00')
duration_minutesYesDuration in minutes
reasonYesDescription of the maintenance work
component_idsNoStatuspage component IDs to mark (optional)

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool creates maintenance windows and returns IDs from both systems, which covers the basic operation and output. However, it lacks details on permissions required, error handling, rate limits, or whether the action is reversible/destructive. For a mutation tool with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded, consisting of only two sentences that efficiently convey the tool's purpose, scope, and output. Every word earns its place, with no redundant or vague phrasing, making it easy for an agent to parse and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (mutation across two systems, 5 parameters) and lack of annotations or output schema, the description is moderately complete. It covers the dual-system operation and return values (IDs), but misses details like error scenarios, authentication needs, or side effects. For a mutation tool with no structured safety hints, more behavioral context would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all parameters well-documented in the input schema (e.g., 'name' as maintenance title, 'start_time' in ISO 8601 format). The description adds no additional parameter semantics beyond what the schema provides, such as explaining interactions between parameters or usage nuances. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Create a maintenance window'), the resources involved ('BOTH Statuspage and Uptime Kuma'), and the scope ('in a single call'). It explicitly distinguishes this tool from its siblings by emphasizing the dual-system operation, unlike tools like 'ops_create_maintenance' or 'ops_create_uk_maintenance' which target individual systems.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool: when maintenance needs to be scheduled on both Statuspage and Uptime Kuma simultaneously. It implicitly suggests alternatives by naming the sibling tools (e.g., 'ops_create_maintenance' for Statuspage-only or 'ops_create_uk_maintenance' for Uptime Kuma-only), helping the agent choose the right tool based on the required coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_update_maintenanceC

Update or resolve a Statuspage incident/maintenance

ParametersJSON Schema
NameRequiredDescriptionDefault
incident_idYesIncident ID
statusYesNew status: investigating, identified, monitoring, resolved, scheduled, in_progress, verifying, completed
bodyNoUpdate message

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates this is a mutation tool ('Update or resolve'), but fails to mention critical aspects like required permissions, whether changes are reversible, rate limits, or what the response looks like (no output schema exists). This leaves significant gaps for an agent to understand the tool's 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/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a mutation tool with no annotations, no output schema, and multiple sibling tools, the description is incomplete. It doesn't address behavioral risks, response expectations, or differentiation from similar tools. For a tool that modifies system state, more context about permissions and consequences would be needed for safe use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so parameters are well-documented there. The description adds no additional meaning beyond what the schema provides about 'incident_id', 'status', or 'body'. According to scoring rules, this earns the baseline score of 3 when schema coverage is high.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Update or resolve' and the resource 'Statuspage incident/maintenance', making the purpose immediately understandable. However, it doesn't explicitly distinguish this tool from sibling tools like 'ops_create_maintenance' or 'ops_schedule_maintenance', which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does 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 'ops_create_maintenance' for new incidents or 'ops_end_uk_maintenance' for UK-specific resolutions. It also doesn't mention prerequisites such as needing an existing incident ID, leaving usage context implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.4/5.0
Disambiguation4/5

Most tools have distinct purposes targeting different systems (Statuspage vs Uptime Kuma) and actions (create, list, update). However, 'ops_create_maintenance' and 'ops_schedule_maintenance' could cause confusion as both create maintenance, with the latter being a combined operation for both systems. The descriptions help clarify this overlap, but agents might initially misselect between them.

Naming Consistency5/5

All tools follow a consistent 'ops_verb_noun' pattern with snake_case throughout. The verbs (create, list, update, end, schedule) are clear and predictable, and the nouns (maintenance, components, incidents, monitors) accurately describe the resources. This uniformity makes the tool set easy to navigate and understand.

Tool Count5/5

With 9 tools, this server is well-scoped for managing maintenance and incidents across Statuspage and Uptime Kuma. Each tool serves a specific function without redundancy, covering key operations like listing, creating, updating, and ending maintenance. The count is appropriate for the domain, providing comprehensive coverage without being overwhelming.

Completeness4/5

The tool set offers strong coverage for maintenance and incident management across two systems, including CRUD-like operations (create, list, update/end). Minor gaps exist, such as no tool to delete or update Uptime Kuma maintenance specifically, and no direct incident creation for Statuspage. However, agents can work around these using the available tools, and core workflows are well-supported.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

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/Sydney-Robotics-Academy/ops-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server