Skip to main content
Glama
84emllc

UptimeRobot MCP Server

by 84emllc

UptimeRobot MCP

CI License: MIT Python versions

A Model Context Protocol server for managing UptimeRobot monitors, alert contacts, and maintenance windows via the UptimeRobot API v2.


Features

  • 16 tools covering the full UptimeRobot API v2

  • Manage monitors (HTTP, Keyword, Ping, Port, Heartbeat)

  • Manage alert contacts (email, SMS, Slack, webhooks, and more)

  • Schedule and manage maintenance windows

  • Retrieve account details and monitor statistics

  • Credentials loaded from environment variables only - no secrets in code


Related MCP server: mcp-uptime-kuma

Requirements

  • Python 3.12+

  • A UptimeRobot account

  • Your UptimeRobot API key from the dashboard under Integrations & API → API

  • uv installed


Installation

Install from source

git clone https://github.com/84em/uptimerobot-mcp.git
cd uptimerobot-mcp
uv sync

Configuration

Set your UptimeRobot API key as an environment variable:

export UPTIMEROBOT_API_KEY=u123456-yourApiKeyHere

Or create a .env file in your working directory (see .env.example):

UPTIMEROBOT_API_KEY=u123456-yourApiKeyHere

Your API key is available in the UptimeRobot dashboard under Integrations & API → API in the left sidebar. A read-only API key is also available there if you only need monitoring access.


MCP Client Configuration

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "uptimerobot": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/uptimerobot-mcp", "uptimerobot-mcp"],
      "env": {
        "UPTIMEROBOT_API_KEY": "u123456-yourApiKeyHere"
      }
    }
  }
}

Cursor

Add to your Cursor MCP settings:

{
  "mcpServers": {
    "uptimerobot": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/uptimerobot-mcp", "uptimerobot-mcp"],
      "env": {
        "UPTIMEROBOT_API_KEY": "u123456-yourApiKeyHere"
      }
    }
  }
}

Zed

Add to your Zed settings:

{
  "context_servers": {
    "uptimerobot": {
      "command": {
        "path": "uv",
        "args": ["run", "--directory", "/path/to/uptimerobot-mcp", "uptimerobot-mcp"],
        "env": {
          "UPTIMEROBOT_API_KEY": "u123456-yourApiKeyHere"
        }
      }
    }
  }
}

Tools

Monitors

Tool

Description

get_monitors

List all monitors with optional status/search filtering

get_monitor

Get a single monitor by ID with logs and response times

create_monitor

Create a new monitor (HTTP, Keyword, Ping, Port, Heartbeat)

edit_monitor

Update monitor properties, or pause/resume a monitor

delete_monitor

Permanently delete a monitor

reset_monitor

Clear all historical statistics for a monitor

get_monitor_logs

Get up/down event logs for a monitor

Account

Tool

Description

get_account_details

Get account info, monitor counts, and plan limits

Alert Contacts

Tool

Description

get_alert_contacts

List all alert contacts

create_alert_contact

Add an alert contact (email, SMS, Slack, webhook, etc.)

edit_alert_contact

Update an existing alert contact

delete_alert_contact

Remove an alert contact

Maintenance Windows

Tool

Description

get_mwindows

List all maintenance windows

create_mwindow

Schedule a one-time or recurring maintenance window

edit_mwindow

Update a maintenance window's schedule or duration

delete_mwindow

Remove a maintenance window


Monitor Types

Value

Type

1

HTTP(S)

2

Keyword

3

Ping

4

Port

5

Heartbeat

Monitor Statuses

Value

Status

0

Paused

1

Not checked yet

2

Up

8

Seems down

9

Down


Development

git clone https://github.com/84em/uptimerobot-mcp.git
cd uptimerobot-mcp
uv sync --group dev
cp .env.example .env
# Add your UPTIMEROBOT_API_KEY to .env

# Lint
uv run ruff check .

# Format
uv run ruff format .

# Type check
uv run mypy src/

# Run tests
uv run pytest

License

MIT - Copyright (c) 2026 84EM LLC

Available Tools

16 tools
create_alert_contactC

Create a new alert contact.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesContact type. 1=SMS, 2=Email, 3=Twitter DM, 5=Webhook, 6=Pushbullet, 7=Zapier, 9=Pushover, 10=HipChat, 11=Slack.
valueYesContact destination. Email address for type 2, phone number for type 1, webhook URL for type 5, etc.
friendly_nameYesDisplay name for the contact.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior1/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states 'Create a new alert contact,' which adds nothing beyond the tool name and implies mutation but does not describe side effects, required permissions, uniqueness constraints, or error behavior.

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

Conciseness3/5

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

The description is a single sentence, which is concise, but it under-specifies the tool. It is not front-loaded with additional useful information; it simply restates the tool's purpose without 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 tool's complexity (three required parameters, no annotations, and a simple schema), the description is too sparse. It does not mention expected outcomes, dependencies, or any operational context that would help an agent determine when and how to invoke it correctly.

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 covers 100% of parameters with descriptions, so the baseline is 3. The description adds no additional parameter semantics beyond what the schema already provides.

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 action (create) and the resource (alert contact). It distinguishes from sibling tools like get_alert_contacts, edit_alert_contact, and delete_alert_contact by using a distinct verb and object.

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, such as edit_alert_contact for modifications or get_alert_contacts for listing. There is no mention of prerequisites, context, or scenarios where this tool is appropriate.

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

create_monitorB

Create a new monitor.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL or IP address to monitor.
typeNoMonitor type. 1=HTTP(S), 2=Keyword, 3=Ping, 4=Port, 5=Heartbeat.
timeoutNoTimeout in seconds (1-300, default 30).
intervalNoCheck interval in seconds (60-2592000, default 300).
post_typeNoPOST body format: "raw" or "keyvalue".
post_valueNoPOST body content.
http_methodNoHTTP method for HTTP(S) monitors. 1=HEAD, 2=GET, 3=POST, 4=PUT, 5=PATCH, 6=DELETE, 7=OPTIONS.
keyword_typeNoRequired for Keyword monitors (type=2). 1=Keyword exists, 2=Keyword not exists.
friendly_nameYesDisplay name for the monitor.
keyword_valueNoThe keyword to search for. Required for type=2.
alert_contactsNoAlert contacts to attach, format "id_threshold_recurrence". Separate multiple contacts with "-". Example: "123_0_0-456_0_0".
http_auth_typeNoHTTP authentication type. 0=None, 1=Basic, 2=Digest.
http_auth_userNoUsername for HTTP authentication.
http_auth_secretNoCredential for HTTP authentication.
ignore_ssl_errorsNoWhether to ignore SSL certificate errors.
keyword_case_typeNo0=Case insensitive, 1=Case sensitive.
post_content_typeNoContent-Type header for POST requests. Options: "application/json", "application/x-www-form-urlencoded", "text/xml", "text/plain".
custom_http_headersNoJSON string of additional request headers. Example: '{"X-Custom-Header":"value"}'.
custom_http_statusesNoCustom HTTP status code mappings. Format: "200:1_201:1_404:0" where 1=up, 0=down.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior1/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states 'Create a new monitor' without disclosing side effects, authentication requirements, or response behavior. This is insufficient 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 a single sentence with no filler. It is front-loaded and efficient, though minimal.

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?

Despite the schema richness and output schema, the description provides almost no contextual information. It lacks any behavioral or usage context, making it inadequate for a complex 19-parameter tool.

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 provides detailed descriptions for all 19 parameters, so the baseline is 3. The description adds no parameter semantics beyond the schema, but it doesn't need to given the high coverage.

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 uses the specific verb 'Create' and identifies the resource 'monitor', which clearly differentiates it from sibling tools like edit_monitor and delete_monitor. It is concise 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/5

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

No usage guidance is provided. The description does not state when to use this tool versus alternatives, nor does it mention any prerequisites or context.

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

create_mwindowC

Create a new maintenance window.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesWindow recurrence type. 1=Once, 2=Daily, 3=Weekly, 4=Monthly.
valueNoRequired for Weekly and Monthly types. Weekly (type 3): dash-separated days of week, 1=Mon through 7=Sun. Example: "1-3-5" for Mon/Wed/Fri. Monthly (type 4): dash-separated days of month. Example: "1-15" for 1st and 15th.
durationYesDuration of the window in minutes.
start_timeYesFor type 1 (Once): Unix timestamp (int) of the start time. For types 2-4 (recurring): time string in HH:MM format (e.g. "02:00").
friendly_nameYesDisplay name for the maintenance window.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior1/5

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

No annotations are supplied, so the description carries the full burden. It provides no behavioral details such as side effects, required permissions, idempotency, error behavior, or what constitutes a successful creation. The phrase 'Create a new maintenance window' merely restates the tool's name.

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

Conciseness4/5

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

The description is a single sentence with zero verbosity, achieving high efficiency. However, given the tool's complexity (5 parameters), it is arguably too terse to be fully 'appropriately sized', but it is concise and front-loaded.

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?

Despite having an output schema, the description lacks important context such as return value semantics, prerequisites, or usage scenarios. A 5-parameter creation tool without annotations or behavioral guidance is not adequately described by a single clause.

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 each parameter having detailed descriptions (type, recurrence, start_time, etc.). The tool description itself adds no parameter information, but the schema already handles it, so a baseline of 3 is appropriate.

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 uses the specific verb 'Create' and resource 'maintenance window', clearly differentiating it from sibling tools like get_mwindows, edit_mwindow, and delete_mwindow. It unambiguously states the tool's primary function.

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. There is no mention of prerequisites, use cases, or when not to use it, so the agent receives no contextual help in selecting between create/edit/delete/get tools.

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

delete_alert_contactA

Delete an alert contact by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
contact_idYesThe alert contact ID to delete.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits itself. It only restates the action without mentioning that deletion is permanent, whether it is idempotent, or what happens if the contact doesn't exist.

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, grammatically complete sentence that front-loads the action. It contains no redundant words or filler.

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?

Technical complexity is low (one param, no enums, output schema exists), and the schema covers parameters. However, the absence of any usage context or behavioral warning leaves some gaps for an agent invoking a destructive operation.

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 single parameter contact_id is fully described in the input schema with coverage at 100%. The description's 'by ID' aligns with the schema but adds no additional semantic detail.

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?

Specific verb 'Delete' and resource 'alert contact' clearly state the action. The addition 'by ID' clarifies how the target is specified, distinguishing it from sibling CRUD tools like create_alert_contact and edit_alert_contact.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. The verb 'Delete' implies its purpose, but there is no mention of exclusions, prerequisites, or comparison with other alert contact operations.

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

delete_monitorA

Permanently delete a monitor by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
monitor_idYesThe UptimeRobot monitor ID to delete.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. The word "permanently" clearly communicates the destructive and irreversible nature of the operation, going beyond what the tool name alone conveys. However, it does not mention cascading effects or permissions.

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 concise sentence that delivers maximum information without waste. It is front-loaded and directly to the point.

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

Completeness5/5

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

The tool has a simple structure with one parameter and an output schema. The description's mention of permanent deletion covers the essential behavioral context, and return values are handled by the output schema. Nothing important is missing.

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 fully documents monitor_id with a clear description. The description's "by ID" reinforces but does not add new meaning beyond the schema, so baseline 3 is appropriate.

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 "Permanently delete a monitor by ID" uses a specific verb (delete), resource (monitor), and method (by ID). It clearly distinguishes from sibling tools like reset_monitor or edit_monitor by emphasizing the permanent removal.

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

Usage Guidelines3/5

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

The description implies use for removing a monitor, but does not explicitly state when not to use it or provide alternatives. Sibling tools like reset_monitor suggest other actions, but no direct comparison is made.

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

delete_mwindowA

Delete a maintenance window by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
mwindow_idYesThe maintenance window ID to delete.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only says 'Delete a maintenance window by ID' without mentioning side effects, irreversibility, permissions, or failure conditions. This is insufficient for a mutation tool with no annotation support.

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, concise sentence that immediately states the action and target. No wasted words or redundant 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?

The tool is simple with one well-documented parameter and an output schema. However, the description lacks behavioral context such as whether deletion is permanent or if there are any preconditions, making it slightly incomplete for an agent to fully anticipate consequences.

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 provides 100% coverage for the single parameter, mwindow_id, with a clear description. The tool description adds nothing beyond what the schema already states ('by ID' matches the parameter), so the baseline of 3 is appropriate.

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 action (Delete), the resource (maintenance window), and the method (by ID). This distinguishes it from sibling tools like create_mwindow, edit_mwindow, and get_mwindows.

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

Usage Guidelines3/5

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

The description implies usage (delete when the maintenance window is no longer needed), but it does not explicitly provide when-to-use/when-not-to-use guidance or mention alternatives. The context of siblings suggests a delete operation, but no exclusions are stated.

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

edit_alert_contactC

Edit an existing alert contact.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueNoNew contact destination (email, phone, URL, etc.).
contact_idYesThe alert contact ID to edit.
friendly_nameNoNew display name.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior1/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 simply states 'Edit an existing alert contact' with no mention of side effects, irreversibility, permission requirements, or error behavior. This is a significant transparency gap 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 a single, focused sentence that directly conveys the tool's purpose. There is no redundant or extraneous information, and the structure is appropriately concise for a simple CRUD operation.

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?

An output schema is present and the input schema fully documents parameters, so the description does not need to explain return values or parameter details. However, the minimal description leaves out behavioral context, such as what happens when the contact_id does not exist or whether all fields are optional. For a low-complexity edit tool, this is marginally sufficient but not fully complete.

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 provides 100% coverage of the parameters, each with clear descriptions. The description adds no additional semantic meaning beyond what the schema already states. This aligns with 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 uses a clear verb ('Edit') with a specific resource ('alert contact'), and it is distinct from sibling tools like create_alert_contact and delete_alert_contact. However, it lacks additional scope details, such as which fields can be edited, so it's slightly above average but not maximally informative.

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 does not mention prerequisites, use cases, or contrast with create/delete sibling tools. The name weakly implies it is for modifying existing contacts, but no explicit usage context is given.

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

edit_monitorA

Edit an existing monitor. Only provided fields are updated.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoNew URL to monitor.
statusNoChange monitor state. 0=Pause, 1=Resume.
timeoutNoNew timeout in seconds.
intervalNoNew check interval in seconds.
monitor_idYesThe UptimeRobot monitor ID to edit.
http_methodNoNew HTTP method (1-7, see create_monitor).
keyword_typeNoNew keyword match type (1=exists, 2=not exists).
friendly_nameNoNew display name.
keyword_valueNoNew keyword to search for.
alert_contactsNoNew alert contacts string (replaces all existing).
http_auth_typeNoNew auth type (0=None, 1=Basic, 2=Digest).
http_auth_userNoNew HTTP auth username.
http_auth_secretNoNew HTTP auth credential.
ignore_ssl_errorsNoWhether to ignore SSL errors.
custom_http_headersNoNew custom headers JSON string.
custom_http_statusesNoNew custom status code mappings.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/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 usefully discloses that only provided fields are updated, a critical detail for a mutation tool. However, it does not mention permissions, idempotency, validation, or effects on related resources. The presence of an output schema covers return values, but other behavioral aspects remain undisclosed.

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 two short sentences with no redundant information. The core action is front-loaded in the first sentence, and the second sentence adds essential behavioral context without unnecessary elaboration.

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

Completeness4/5

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

Given the tool's high complexity (16 parameters), the description is adequately complete because the schema fully documents each parameter and an output schema exists to explain return values. The description adds the crucial partial-update behavior. It could have included a note about required authorization or error cases, but the current content is sufficient for an agent to select and invoke the tool correctly.

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?

Schema description coverage is 100%, providing per-parameter descriptions, so the baseline is 3. The description adds value by clarifying that only provided fields are updated, which implies that null or omitted parameters are ignored rather than set to null. This semantic is important for correctly using the many nullable parameters and goes beyond the schema's 'default: null' notation.

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 uses the specific verb 'Edit' with the resource 'monitor', clearly indicating a modification operation on an existing entity. It distinguishes from siblings like create_monitor, delete_monitor, and reset_monitor by focusing on editing, and the phrase 'Only provided fields are updated' adds precision about the update 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/5

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

The description clearly states the tool is for editing an existing monitor, which implies when to use it. The key guidance 'Only provided fields are updated' communicates the partial-update semantics, helping the agent avoid overwriting unspecified fields. However, it does not explicitly mention alternatives or when not to use this tool, though the context is clear given sibling names.

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

edit_mwindowB

Edit an existing maintenance window.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueNoNew recurrence value (days for weekly/monthly windows).
durationNoNew duration in minutes.
mwindow_idYesThe maintenance window ID to edit.
start_timeNoNew start time. Unix timestamp (int) for one-time windows, HH:MM string for recurring windows.
friendly_nameNoNew display name.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior1/5

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

With no annotations, the description carries full burden for behavioral disclosure, but it provides none. It simply restates the action 'edit' without revealing partial update semantics, side effects, or reversibility, leaving the agent blind to the operation'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 sentence with no wasted words, directly stating the action and resource. It is well-structured and front-loaded, making it easy to parse.

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?

Despite having a complete schema and output schema, the description gives no contextual information about the operation's behavior, such as partial update semantics or implications for recurring windows. This is too inadequate for a five-parameter mutation tool, leaving the agent without essential context.

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%, and each parameter has a detailed description (e.g., 'New start time. Unix timestamp (int) for one-time windows, HH:MM string for recurring windows'). The tool description adds no additional parameter meaning, so the baseline of 3 is appropriate.

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 'Edit an existing maintenance window' uses a specific verb and resource, clearly distinguishing it from siblings like create_mwindow and delete_mwindow. It unambiguously states the tool's core function.

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

Usage Guidelines3/5

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

No explicit usage guidelines are provided. The description implies the tool is for modifying an existing maintenance window, but it does not mention when to choose this over alternatives or any prerequisites like the window's existence.

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

get_account_detailsA

Get UptimeRobot account details.

Returns account information including email, monitor limits, and counts of up, down, and paused monitors.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior3/5

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

There are no annotations, so the description carries the full burden. It communicates that the tool returns account information, which implies a read-only operation, but it does not explicitly state that it has no side effects, nor does it mention authentication needs or rate limits. The absence of any parameter-related side effects mitigates this, but the description could be more explicit about safety and operational characteristics.

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 two sentences, front-loaded with the tool's purpose, and every sentence adds relevant information. There is no redundant or filler content.

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

Completeness5/5

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

Given the tool's simplicity (no parameters) and the presence of an output schema, the description is complete enough. It spells out what data the agent can expect (email, limits, counts) and is well aligned with the sibling context, making the integration context fully understandable.

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 accepts zero parameters, so there is no parameter semantics burden on the description. Per the scoring baseline for 0-parameter tools, a score of 4 is appropriate. The description does not need to add parameter-level detail.

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 uses a specific verb and resource: 'Get UptimeRobot account details.' It clearly distinguishes itself from sibling tools like get_monitors and get_alert_contacts by focusing on account-level information. It also enumerates the return content (email, monitor limits, monitor counts), leaving no ambiguity about its purpose.

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

Usage Guidelines4/5

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

The description makes the context clear: use this tool when you need account-level details. There is no sibling tool that overlaps with 'account details,' so no exclusions or alternatives are strictly necessary. However, it does not explicitly state 'when to use this vs. others,' so it stops short of a perfect score.

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

get_alert_contactsC

Get all alert contacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of contacts to return, max 50 (default 50).
offsetNoPagination offset (default 0).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior. It only says 'Get all alert contacts' without mentioning read-only nature, pagination behavior, or that 'all' is constrained by limit/offset. This is a notable transparency gap.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no filler. It is appropriately concise for a simple list operation, though it borders on under-specification.

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?

While an output schema exists, so return values need not be explained, the description lacks critical behavioral context. It says 'all' but the schema implies pagination, and no annotations exist. This incomplete context could mislead the agent.

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 provides full parameter descriptions for limit and offset (100% coverage), so the description need not add parameter meaning. It does not, and the baseline for high schema coverage is 3.

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 'Get all alert contacts' clearly states the action (get) and resource (alert contacts). It is distinct from sibling tools because it's the read operation for alert contacts, though it doesn't explicitly differentiate from other get 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?

No guidance is provided on when to use this tool versus alternatives such as get_monitors or create_alert_contact. The intended use is only implied by the name, with no explicit context or exclusions.

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

get_monitorA

Get a single monitor by ID with detailed information.

ParametersJSON Schema
NameRequiredDescriptionDefault
logs_limitNoNumber of log entries to return (default 25).
monitor_idYesThe UptimeRobot monitor ID.
include_logsNoInclude up/down event logs (default True).
include_mwindowsNoInclude attached maintenance windows (default True).
response_times_limitNoNumber of response time entries to return (default 24).
include_alert_contactsNoInclude attached alert contacts (default True).
include_response_timesNoInclude response time history (default True).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description must carry the full burden of behavioral disclosure. It only says 'with detailed information', failing to mention that it can include logs, response times, alert contacts, or maintenance windows, nor any default behaviors or potential performance implications. It is not misleading but is minimally informative.

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 sentence with no redundant words. It is front-loaded with the action ('Get a single monitor by ID') and efficiently communicates the core purpose.

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 output schema exists, return values are documented. The description covers the essential purpose, though it does not explicitly mention the optional embedded sub-resources (logs, response times, etc.) that are available via parameters. It is adequate but not rich for a tool with 7 optional parameters.

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 provides 100% description coverage for all 7 parameters, including defaults and purpose. The tool description adds no additional meaning beyond the schema, so the baseline of 3 for full schema coverage is appropriate.

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 states 'Get a single monitor by ID' with a specific verb and resource. It clearly distinguishes from sibling 'get_monitors' (plural) and other monitor-related operations, leaving no ambiguity about its singleton scope.

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

Usage Guidelines3/5

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

The description implies use for fetching a specific monitor's details, but it does not explicitly state when to choose this over get_monitors or get_monitor_logs, nor does it provide exclusions or alternative guidance. The context is clear enough, but the guidance remains 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.

get_monitor_logsA

Get up/down event logs for a specific monitor.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of log entries to return (default 25).
offsetNoPagination offset (default 0).
monitor_idYesThe UptimeRobot monitor ID.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/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. It states 'get' which implies a read operation, but it does not disclose any behavioral details such as pagination behavior, rate limits, permissions, or what exactly the logs contain beyond the verb. The description adds minimal transparency beyond the obvious.

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, concise sentence that gets straight to the point. There is no filler or redundant information, making it appropriately sized and front-loaded.

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?

The description covers the core purpose but lacks additional context that would be useful, such as warning that logs are historical or that pagination is supported. However, the presence of an output schema and the detailed parameter schema mitigate some of this, making the description minimally complete but not rich.

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 provides descriptions for all three parameters (monitor_id, limit, offset), so schema coverage is 100%. The description adds no extra meaning to the parameters beyond what the schema already documents, meeting the baseline but not exceeding it.

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 tool retrieves up/down event logs for a specific monitor, with a specific verb and resource. It distinguishes itself from sibling tools like get_monitor and get_monitors by focusing on logs rather than monitor details or lists.

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

Usage Guidelines3/5

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

The description implies use for retrieving event logs but does not explicitly state when to use this tool versus alternatives. There is no mention of exclusions or direct comparison to get_monitor (current status) or other monitoring tools, leaving the usage context implicit.

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

get_monitorsA

Get all monitors with optional filtering.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of monitors to return, max 50 (default 50).
offsetNoPagination offset (default 0).
searchNoFilter monitors by friendly name (partial match).
statusesNoFilter by status codes, dash-separated. Values: 0=Paused, 1=Not checked yet, 2=Up, 8=Seems down, 9=Down. Example: "2-9" returns up and down monitors only.
include_logsNoInclude up/down event logs in response.
include_mwindowsNoInclude attached maintenance windows in response.
include_alert_contactsNoInclude attached alert contacts in response.
include_response_timesNoInclude response time history in response.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/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, but it only says 'Get all monitors with optional filtering.' It does not mention pagination, rate limits, default inclusion of logs, or any side effects. This is a read operation, but the description adds minimal context beyond the name.

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, compact sentence that conveys the core purpose. It has no unnecessary words or repetition, and the information is front-loaded.

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 (8 parameters, no annotations, and an output schema), the description is minimal but not misleading. It does not explicitly mention pagination limits or the include flags, though those are covered in the schema. It is adequate for a straightforward list tool but lacks some behavioral context.

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%, so the parameters are fully documented. The description's phrase 'optional filtering' only generically references the filter parameters without adding specific meaning beyond what the schema already provides.

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 tool's action ('Get') and resource ('monitors'), with 'all' indicating the scope of fetching multiple monitors. This distinguishes it from the sibling 'get_monitor', which presumably targets a single monitor.

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

Usage Guidelines3/5

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

The description implies usage for retrieving a list of monitors, possibly with filters, but does not explicitly state when to use this tool instead of alternatives like 'get_monitor'. There is no mention of exclusions or preferred scenarios, so guidance is only implied.

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

get_mwindowsB

Get all maintenance windows.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of windows to return, max 50 (default 50).
offsetNoPagination offset (default 0).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description is the sole source of behavioral info, but it only restates the tool name. It does not mention pagination, output format, ordering, or any side effects, leaving the agent without insight beyond the verb 'Get'.

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

Conciseness4/5

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

A single sentence with no wasted words, making it concise and front-loaded. However, it is so brief that it borders on under-specification, though it remains efficient for a simple listing tool.

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 straightforward paginated listing with an output schema and fully documented parameters, the description is adequate. It lacks any usage context or differentiation from siblings, but given the tool's simplicity, it is minimally complete.

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 provides full descriptions for both parameters (limit and offset) with defaults and types, achieving 100% coverage. Therefore the schema carries the parameter semantics, and the description adds no extra meaning, aligning with the baseline of 3.

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 uses a specific verb ('Get') and resource ('maintenance windows'), clearly distinguishing it from create/edit/delete sibling tools. The meaning is immediately obvious 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/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, and there are no exclusions or context. The description simply states the operation without any situational advice.

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

reset_monitorA

Reset a monitor, clearing all historical statistics and logs.

ParametersJSON Schema
NameRequiredDescriptionDefault
monitor_idYesThe UptimeRobot monitor ID to reset.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

The description discloses the key destructive effect—'clearing all historical statistics and logs'—which is critical with no annotations present. However, it does not mention irreversibility, potential impact on current monitoring status, or any permissions needed. The main behavioral trait is stated, but other important details are omitted.

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 sentence that is front-loaded with the action verb 'Reset' and immediately explains the consequence. Every word adds value, with no unnecessary filler or repetition.

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

Completeness4/5

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

Given the tool's simplicity (one parameter, no nested objects) and the presence of an output schema, the description is largely complete. It states the action and its effect, which is sufficient for basic invocation. However, it lacks usage differentiation and deeper consequence details, preventing a perfect score.

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 already fully documents the single parameter (monitor_id) with a clear description. The tool description adds no additional meaning about the parameter, so it provides no value beyond the schema, warranting the baseline score of 3.

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 uses the specific verb 'reset' on the resource 'monitor' and clarifies what reset means: 'clearing all historical statistics and logs.' This clearly distinguishes it from siblings like edit_monitor (changes settings) and delete_monitor (removes the monitor), 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/5

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

The description implies usage context (when you need to clear a monitor's history) but provides no explicit guidance on when to choose this tool over alternatives, nor does it mention any prerequisites or scenarios to avoid. The context is sufficient for an agent to infer the main use case but lacks explicit direction.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 16 tool updatesv1.0.0
    • First observedcreate_alert_contact
    • First observedcreate_monitor
    • First observedcreate_mwindow
    • First observeddelete_alert_contact
    • First observeddelete_monitor
    • First observeddelete_mwindow
    • First observededit_alert_contact
    • First observededit_monitor
    • First observededit_mwindow
    • First observedget_account_details
    • First observedget_alert_contacts
    • First observedget_monitor
    • First observedget_monitor_logs
    • First observedget_monitors
    • First observedget_mwindows
    • First observedreset_monitor

TDQS

A3.6/5.0

Scored across 16 tools

Disambiguation5/5

Each tool maps to a distinct resource and action, such as monitors, alert contacts, and maintenance windows. The separation between list, get, create, edit, delete, and specialized operations like reset or logs is clear.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern, using plural nouns for list operations and singular nouns for single-item operations. The naming is uniform across all three resource types.

Tool Count4/5

At 16 tools, the set is slightly above the ideal 3-15 range but still well-scoped for the domain. Each tool addresses a meaningful operation, and the count feels justified rather than bloated.

Completeness4/5

The tool surface covers full CRUD for monitors, alert contacts, and maintenance windows, plus useful extras like monitor logs and account details. Minor gaps exist (e.g., single alert contact retrieval, monitor pause/resume), but core workflows are complete.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    MCP server for Uptime Kuma that enables monitoring and management of uptime monitors, heartbeats, notifications, tags, and maintenance windows via natural language.
    31
    1,129 npm
    49
    MIT
  • A
    license
    C
    quality
    B
    maintenance
    Enables natural language interaction with Thruk monitoring systems, allowing users to query hosts/services, schedule downtimes, acknowledge problems, and more via MCP-compatible clients.
    65
    1
    MIT