Skip to main content
Glama

Server Details

Uptime monitoring: create and manage HTTP, API, SSL, ping, port and domain checks

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

15 tools
create_api_monitorCreate API monitorAInspect

Watch a JSON or REST endpoint where the response itself matters, not only that the host answered. Use it for health endpoints, webhooks and any API whose failure would be invisible to a plain page check. For an ordinary web page, create_http_monitor is lighter and enough.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFull endpoint URL including scheme, for example https://api.example.com/v1/status.
nameYesLabel shown in the dashboard and in alerts, up to 50 characters. Something recognisable months later beats the bare hostname.
isActiveNoStart monitoring immediately (default true)
frequencyNoCheck frequency in minutes (1-1440, default 5)
requestTimeoutNoRequest timeout in seconds (1-60, default 30)

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesMonitor id, used by every other tool.
urlNo
nameNo
typeNo
isActiveNoFalse while the monitor is paused.
frequencyNoCheck interval in minutes.
statusSummaryNoCurrent state, for example GOOD or ERROR.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations declare openWorldHint=true and readOnlyHint=false, and the description appropriately explains the tool watches endpoints where the response matters but doesn't go into details like authentication requirements or rate limits. The description does add value by clarifying the semantics of what 'monitor' means here (response content matters, not just host availability), which goes beyond the annotations. However, it could have mentioned whether creation is idempotent or what happens on duplicate monitors, though the annotations cover idempotentHint=false.

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?

Three sentences total. The first states the core purpose, the second gives concrete examples, and the third provides the pointer to the sibling tool. Every word earns its place.

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 has only 5 simple parameters (all covered by schema), an output schema, and useful sibling tools, the description is complete. It explains the tool's purpose, gives usage guidance, and points to an alternative without unnecessary details about return values (since output schema exists) or parameter syntax (since schema covers them).

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 coverage is 100%, so parameters are well-documented in the schema. The description adds conceptual context for the 'name' parameter ('Something recognisable months later beats the bare hostname') and clarifies the tool focuses on response content. While the description itself doesn't enumerate parameters, it works with the fully-covered schema to give complete semantic understanding. The description could have added more behavioral details about how parameters like frequency interact with monitoring behavior, but the schema covers the basics well.

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 this tool watches JSON/REST endpoints where the response content matters, distinguishing it from a plain page check. It names the specific use case (health endpoints, webhooks, APIs) and explicitly contrasts with create_http_monitor, making the purpose and differentiation clear.

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 explicitly says when to use this tool ('for health endpoints, webhooks and any API whose failure would be invisible to a plain page check') and provides a concrete alternative ('For an ordinary web page, create_http_monitor is lighter and enough'). This is a model example of usage guidance.

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

create_domain_monitorCreate domain expiry monitorAInspect

Watch a domain registration and report how long is left before it lapses, read from WHOIS. This catches the failure no uptime check can see: everything works perfectly right up to the day the domain expires. Distinct from create_ssl_monitor, which watches the certificate rather than the registration; the two expire on different dates and both are worth watching.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesRegistrable domain, for example example.com. Use the registered domain rather than a subdomain: a subdomain has no registration date of its own.
nameYesLabel shown in the dashboard and in alerts, up to 50 characters. Something recognisable months later beats the bare hostname.
isActiveNoStart monitoring immediately (default true)

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesMonitor id, used by every other tool.
urlNo
nameNo
typeNo
isActiveNoFalse while the monitor is paused.
frequencyNoCheck interval in minutes.
statusSummaryNoCurrent state, for example GOOD or ERROR.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already indicate readOnlyHint=false (creates a resource), openWorldHint=true (external WHOIS dependency), and non-idempotent. The description adds context beyond annotations by explaining that WHOIS data is read externallyais and why this monitor is valuable (detecting expiry that uptime checks miss). It also implicitly warns about the WHOIS dependency without contradiction.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the purpose and a valuable differentiator. Every word contributes: the WHOIS source, the unique failure mode, and the explicit comparison to create_ssl_monitor. No redundant phrases or filler.

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 moderate complexity (3 params, output schema present, annotations covering read-only/destructive hints), the description covers all essential aspects: purpose, use case, differentiation from a sibling, and external behavior. The output schema handles return values, and the annotations cover safety profile, so the description is complete for agent invocation.

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 100% coverage with detailed descriptions for all three parameters (url, name, isActive). The description reinforces the meaning of 'url' by stating it reads WHOIS data, but adds no extra semantics beyond the schema's own descriptions. Since schema coverage is high, a baseline of 3 is appropriate; the description does not enrich parameter understanding further.

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 function: watching a domain registration and reporting time until expiry via WHOIS. It uses a specific verb-resource pair ('watch a domain registration') and immediately distinguishes itself from the sibling tool create_ssl_monitor by contrasting registration vs. certificate expiry. This avoids any ambiguity and makes the purpose unmistakable.

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 explicitly tells the agent when to use this tool ('catches the failure no uptime check can see') and provides a clear alternative: 'Distinct from create_ssl_monitor, which watches the certificate rather than the registration'. It also advises that both are worth watching, giving contextual rationale for choosing this over other monitor types.

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

create_http_monitorCreate HTTP monitorAInspect

Watch a web page or endpoint over HTTP/HTTPS and treat an unexpected status code, a timeout or a connection failure as downtime. This is the right type for anything a browser would open. Choose create_api_monitor instead when the response body matters as well as the status code. Checks run from probes in several countries. Call list_monitors first so you do not create a duplicate of an existing url.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFull URL including scheme, for example https://example.com/health. A bare hostname is not accepted here - use create_ping_monitor for that.
nameYesLabel shown in the dashboard and in alerts, up to 50 characters. Something recognisable months later beats the bare hostname.
isActiveNoStart monitoring immediately (default true)
frequencyNoCheck frequency in minutes (1-1440, default 5)
requestTimeoutNoRequest timeout in seconds (1-60, default 30)

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesMonitor id, used by every other tool.
urlNo
nameNo
typeNo
isActiveNoFalse while the monitor is paused.
frequencyNoCheck interval in minutes.
statusSummaryNoCurrent state, for example GOOD or ERROR.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only indicate non-read-only, open-world, non-idempotent behavior. The description adds valuable behavioral context: checks run from probes in several countries, downtime semantics, and the duplicate-risk warning. It does not mention response details, but the output schema likely covers those and no annotation contradiction exists.

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

Conciseness5/5

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

Four short, information-dense sentences, each earning its place. It tackles purpose, alternative selection, probe geography, and duplicate-avoidance without verbosity.

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?

Combined with a fully self-describing schema and output schema, the description gives a complete picture for a create tool: what it creates, when to use it, how to avoid duplicates, and the geographical context. It just misses a brief note on what the successful response contains, but that is largely available through the schema structure.

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 baseline is 3. The tool-level description does not add parameter-specific semantics beyond what the schema already provides. The url field description itself adds the bare-hostname exclusion, but that is not part of the main tool description.

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: 'Watch a web page or endpoint over HTTP/HTTPS' and defines what counts as downtime ('unexpected status code, a timeout or a connection failure'). It also clearly distinguishes itself from create_api_monitor, its closest sibling.

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 gives explicit usage boundaries: 'This is the right type for anything a browser would open' and directs to create_api_monitor when the response body matters. It also tells the agent to call list_monitors first to avoid duplicates, a clear when-to-use prerequisite.

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

create_ping_monitorCreate ping monitorAInspect

Watch a host with ICMP ping: it answers whether the machine is reachable at all, and reports round-trip time and packet loss. Use it for servers, routers and anything with no web service on top. It says nothing about whether a site or service on that host is working - a box can ping perfectly while its web server is down. Some hosting providers block ICMP, in which case the monitor will read as down.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesHostname or IP address, with no scheme and no port, for example example.com or 1.2.3.4.
nameYesLabel shown in the dashboard and in alerts, up to 50 characters. Something recognisable months later beats the bare hostname.
isActiveNoStart monitoring immediately (default true)
frequencyNoCheck frequency in minutes (1-1440, default 5)

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesMonitor id, used by every other tool.
urlNo
nameNo
typeNo
isActiveNoFalse while the monitor is paused.
frequencyNoCheck interval in minutes.
statusSummaryNoCurrent state, for example GOOD or ERROR.

TDQS

A4.5/5.0
Behavior5/5

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

The description goes beyond the annotation bounds by explaining the scope of what a ping reports (network reachability only), clarifying that a host can ping while a web server is down, and revealing that providers blocking ICMP cause monitors to show 'down'. These failure-behaviors are concrete and useful.

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?

Three sentences deliver the core action, use cases, and limitations without redundant words. Each sentence adds distinct information, though the sentence listing use cases and the sentence on service status could be more tightly merged.

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?

The description fully accounts around when to choose ping vs. other personal agents and identifies real-world failure modes. Since an output schema is present, the absence of response field details is acceptable; the description lacks only an explicit pointer to the service-monitor sub-tools.

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 already covers all four parameters with rich, specific descriptions (e.g., URL no scheme/port, frequency range, name max length, isActive default). The tool description does not add new parameter-level semantics beyond the schema, so the baseline coverage score applies.

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 opens with a specific action and resource: 'Watch a host with ICMP ping' plus the exact metrics reported (round-trip time, packet loss). It clearly differentiates from service-level by stating it only checks machine reachability, distinguishing it from HTTP, port, and API monitor siblings.

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?

It explicitly says when to use the tool: 'servers, routers and anything with no web service on top,' and warns that it reveals nothing about whether a hosted service is working. The ICMP-blocking provider caveat also sets correct expectations for when the monitor may misreport.

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

create_port_monitorCreate port monitorAInspect

Watch one TCP or UDP port on a host and report it up only when the service behind it actually answers. This is the type for game servers, databases, mail and anything else that speaks its own protocol rather than HTTP - Minecraft, Rust, CS2, FiveM, Postgres, Redis, SMTP. The port must be given as part of the url. Set protocol to UDP for game servers; most of them do not answer on TCP at all.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesHost and port separated by a colon, for example example.com:443 or 1.2.3.4:25565. The port is required; without it the monitor cannot be created.
nameYesLabel shown in the dashboard and in alerts, up to 50 characters. Something recognisable months later beats the bare hostname.
isActiveNoStart monitoring immediately (default true)
protocolNoTCP is the default and fits most services. Use UDP for game servers and anything else that does not answer on TCP; on UDP the port counts as up only when the server actually replies.
frequencyNoCheck frequency in minutes (1-1440, default 5)

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesMonitor id, used by every other tool.
urlNo
nameNo
typeNo
isActiveNoFalse while the monitor is paused.
frequencyNoCheck interval in minutes.
statusSummaryNoCurrent state, for example GOOD or ERROR.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already signal that this is a non-read-only, non-destructive operation, so the description doesn't need to repeat those. It adds valuable behavioral nuance: the monitor reports 'up' only when the service actually answers, and UDP behavior is clarified (only up when the server replies). This goes beyond what annotations or schema provide.

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 three sentences, each earning its place: first the core purpose, second the concrete use cases, third the crucial port and UDP guidance. It is front-loaded and avoids redundancy.

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 complexity (5 params, 2 required, output schema present, sibling monitor tools), the description fully covers the essential context: what to monitor, when to use it, how to specify the target, and a key protocol setting. The output schema handles return values, and annotations cover safety, so no gaps remain.

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 schema already documents all parameters with 100% coverage, so a baseline of 3 applies. The description enhances the semantics by emphasizing that the port must be part of the URL and advising to set protocol to UDP for game servers, which directly aids correct usage of the 'url' and 'protocol' parameters.

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 opens with a specific action: 'Watch one TCP or UDP port on a host and report it up only when the service behind it actually answers.' This clearly distinguishes the tool from HTTP or other monitor types by specifying the protocol and the 'actually answers' behavior, and it names concrete use cases like game servers and databases.

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 explicitly explains when to use this monitor: for non-HTTP services like Minecraft, Postgres, or SMTP. It also provides an exclusion ('rather than HTTP') and gives protocol-specific advice for UDP game servers. This goes beyond a general context statement and helps the agent choose between this and sibling monitor tools.

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

create_ssl_monitorCreate SSL certificate monitorAInspect

Watch a TLS certificate: whether it is valid, who issued it, and how many days remain before it expires. This is about the certificate, not about the site being reachable - pair it with create_http_monitor when you want both. Note that such a monitor carries two independent states, one for reachability and one for expiry, so a certificate can be days from expiring while the check still reads up.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesDomain whose certificate to inspect, for example example.com. No scheme, no path.
nameYesLabel shown in the dashboard and in alerts, up to 50 characters. Something recognisable months later beats the bare hostname.
isActiveNoStart monitoring immediately (default true)

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesMonitor id, used by every other tool.
urlNo
nameNo
typeNo
isActiveNoFalse while the monitor is paused.
frequencyNoCheck interval in minutes.
statusSummaryNoCurrent state, for example GOOD or ERROR.

TDQS

A4.4/5.0
Behavior4/5

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

Adds meaningful behavioral nuance beyond the annotations by explaining that the monitor carries two independent states (reachability and expiry), so a certificate can be nearly expired while the check still appears up. It does not contradict the readOnlyHint=false or openWorldHint annotations.

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

Conciseness5/5

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

Three tight sentences, each earning its place: the core purpose, the distinction from HTTP monitoring, and a non-obvious behavioral caveat. No fluff or repetition of schema content.

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?

The description is complete enough for a create tool with a full output schema and well-covered parameters. It explains the key conceptual caveat and provides usage context, though it does not mention prerequisites or post-creation effect details, which are partly covered by annotations.

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 already provides full descriptions for all three parameters, so the description adds little parameter-level detail. It does give useful context about certificate-focused semantics, but that is not parameter-specific enough to raise the score above the baseline.

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?

Describes exactly what the tool does: watches a TLS certificate for validity, issuer, and days to expiry. It clearly distinguishes itself from HTTP/site-reachability monitoring by explicitly scoping it to the certificate.

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?

Provides explicit guidance on when to use this tool versus an alternative: it is about the certificate, not site reachability, and recommends pairing with create_http_monitor when both aspects are needed. This is strong sibling differentiation.

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

delete_monitorDelete monitorA
DestructiveIdempotent
Inspect

Permanently delete a monitor together with its entire check history, incidents and statistics. This cannot be undone and there is no trash to restore from. Confirm with the user before calling it, and prefer pause_monitor whenever the intent is only to stop the checking for a while.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMonitor id to delete, as returned by list_monitors. Deletion is irreversible.

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageNo
successYes

TDQS

A4.7/5.0
Behavior5/5

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

Goes beyond the destructiveHint annotation by detailing what is destroyed (entire check history, incidents, statistics), explicitly stating irreversibility and lack of trash, and adding a safety guideline to confirm. No contradiction with annotations.

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

Conciseness5/5

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

Two sentences with no wasted words. All information is essential, front-loaded with the core purpose and then critical caveats.

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?

For a destructive action, the description covers consequences, confirmation requirement, and alternative tool. With output schema present and only one fully-described parameter, it is 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 id parameter is fully described in the schema (with 'Monitor id to delete, as returned by list_monitors. Deletion is irreversible.'), and the tool description adds no additional parameter semantics beyond that. Baseline 3 for high schema 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 clearly states the tool 'Permanently delete a monitor' and specifies what is deleted (check history, incidents, statistics), distinguishing it from sibling tools like pause_monitor which only temporarily stop checking.

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?

Explicitly says to prefer pause_monitor when only temporary stopping is intended, and instructs to confirm with the user before calling, providing clear when-to-use and when-not-to-use guidance.

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

get_incidentsGet incidentsA
Read-onlyIdempotent
Inspect

Read the downtime history of one monitor: when each outage began, when it ended, how long it lasted and what the failure actually was - HTTP status, error text, and which probe saw it. This is the tool for "what happened" and "how often does this break". For the shape of response times around an outage, follow up with get_stats_hourly.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, 1-based. Defaults to 1.
monitorIdYesMonitor id, as returned by list_monitors.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYesThe rows on this page.
totalItemsNoTotal across all pages, not just this one.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds behavioral value by disclosing the specific failure details returned, including probe attribution and error text, which goes beyond the structured annotations.

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

Conciseness5/5

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

Three sentences, front-loaded with the core purpose, followed by concrete data points and a single useful redirect to a sibling tool. No filler or repetition of schema details.

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?

For a read-only two-parameter tool with an output schema and full annotation coverage, the description is complete: it explains what data is returned, when to use it, and what to use for complementary data. No meaningful gaps remain.

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 both parameters (monitorId and page) have clear descriptions. The tool description reinforces 'one monitor' but does not add meaning beyond the schema's parameter documentation, 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 states a specific verb and resource: 'Read the downtime history of one monitor', enumerating exact data returned (outage start/end, duration, HTTP status, error text, probe). It clearly distinguishes this from sibling tools by contrasting with get_stats_hourly.

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?

Explicitly frames when to use: 'This is the tool for "what happened" and "how often does this break"', and names the alternative for response-time shape: 'follow up with get_stats_hourly'. This gives clear decision guidance.

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

get_monitorGet one monitorA
Read-onlyIdempotent
Inspect

Read one monitor in full: its configuration, current status, and the type-specific detail the list view omits - expected status codes for HTTP, port and protocol for PORT, certificate or registration expiry date for SSL and DOMAIN. Use it after list_monitors when the answer depends on how the check is configured, for instance whether a timeout is too tight or which port is actually being watched.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMonitor id, as returned by list_monitors.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesMonitor id, used by every other tool.
urlNo
nameNo
typeNo
isActiveNoFalse while the monitor is paused.
frequencyNoCheck interval in minutes.
statusSummaryNoCurrent state, for example GOOD or ERROR.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare it as read-only, idempotent, and non-destructive. The description adds behavioral context beyond annotations by detailing that it returns type-specific fields (HTTP status codes, port/protocol, expiry dates) that the list view omits, which is valuable for expected side effects on response content.

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?

Two sentences, front-loaded with the primary action and purpose, then provides usage context. No redundant phrasing or filler; every sentence earns its place.

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 single parameter, rich annotations, and existence of an output schema, the description covers the purpose, usage context, and additional behavioral detail (type-specific fields) sufficiently. It does not need to explain return values because the output schema covers that.

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?

There is only one parameter (id) with full schema description ('Monitor id, as returned by list_monitors.'). The description does not add further meaning beyond the schema, but since schema coverage is 100%, 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 it reads a single monitor in full, including configuration, status, and type-specific details omitted by the list view. It distinguishes from list_monitors and other monitor tools by specifying exactly what extra information it returns.

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 explicitly says to use it after list_monitors when the answer depends on how the check is configured, giving concrete examples like timeout tightness or watched port. This provides clear when-to-use guidance and implies the alternative.

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

get_notificationsGet notification historyA
Read-onlyIdempotent
Inspect

Read the alerts this account has sent, across email, Telegram, webhook and the web interface, with the delivery outcome of each. Use it to answer "was I actually told about this outage" and to find a channel that is silently failing - a monitor can be detecting downtime correctly while its webhook has been rejecting every delivery. Covers the whole account, not one monitor.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, 1-based. Defaults to 1.
statusNoReturn only alerts with this delivery status.
channelNoReturn only alerts sent through this channel. Omit for all channels.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYesThe rows on this page.
totalItemsNoTotal across all pages, not just this one.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, and non-destructive. The description adds context about delivery outcome and whole-account scope, enriching the behavioral picture without contradicting annotations.

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

Conciseness5/5

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

Three sentences, front-loaded with the primary action, then usage examples, then scope. Every sentence serves a purpose, with no filler or redundancy.

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?

With an output schema present and strong annotations, the description covers purpose, use cases, and scope thoroughly. It doesn't need to repeat return details or safety hints. Complete for a read-only query 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?

Schema description coverage is 100%, so all parameters are documented. The description adds context (e.g., channels, delivery outcome) but doesn't significantly enhance parameter understanding beyond the schema. Baseline of 3 applies.

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 it reads alerts sent by the account across all channels with delivery outcomes. It distinguishes from siblings by focusing on notifications rather than monitors, and explicitly says it covers the whole account, not one monitor.

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?

It gives explicit use cases: answering 'was I actually told about this outage' and finding silently failing channels. It also contrasts with monitor detection issues, implying when this tool is appropriate, and clarifies it is not monitor-specific.

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

get_stats_dailyGet daily statisticsA
Read-onlyIdempotent
Inspect

Response time and uptime for one monitor aggregated per day, with min, max, average and p95. This is the tool for reports and trends over weeks or months, and for comparing one monitor against another over the same window. When a single day looks wrong, zoom into it with get_stats_hourly.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, 1-based. Defaults to 1.
dateToNoLast day to include, as YYYY-MM-DD. Defaults to today.
dateFromNoFirst day to include, as YYYY-MM-DD. Defaults to the start of available history.
monitorIdYesMonitor id, as returned by list_monitors.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYesThe rows on this page.
totalItemsNoTotal across all pages, not just this one.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare this as a safe read/idempotent operation, and the description adds meaningful behavioral context: daily aggregation, the included metrics (min, max, average, p95), and the suggested zoom-in workflow with hourly stats. It does not discuss pagination, but the output schema and parameter descriptions partially cover operational details.

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?

Two sentences pack the core purpose, metrics, use case, and the relationship to the hourly tool with no filler. The most important information is front-loaded.

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 output schema exists, the complete parameter schema, and the strong usage guidance, the description is sufficient for an agent to select and invoke the tool correctly. It covers what the tool returns, when to use it, and how it relates to the sibling hourly 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?

Schema description coverage is 100%, so the parameters are already well documented with defaults and types. The description adds context around date windows for reports/trends, but it does not add meaningfully new details for individual parameters beyond what the schema 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 aggregates response time and uptime per day with min, max, average, and p95, identifying the resource as monitor statistics. It also distinguishes itself from get_stats_hourly by specifying daily aggregation.

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 explicitly says this is the tool for reports and trends over weeks or months and for comparing monitors over the same window. It also gives a concrete exclusion: when a single day looks wrong, use get_stats_hourly instead.

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

get_stats_hourlyGet hourly statisticsA
Read-onlyIdempotent
Inspect

Response time and uptime for one monitor broken down by hour, with min, max, average and p95 per bucket. Use it to see the shape of a problem: whether a service degrades before it fails, whether outages cluster at a particular time of day, or how long a single incident really lasted. Best over hours or days; for weeks and months use get_stats_daily instead, which returns far fewer rows.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, 1-based. Defaults to 1.
dateToNoLast day to include, as YYYY-MM-DD. Defaults to today.
dateFromNoFirst day to include, as YYYY-MM-DD. Defaults to the start of available history.
monitorIdYesMonitor id, as returned by list_monitors.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYesThe rows on this page.
totalItemsNoTotal across all pages, not just this one.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, which broadly cover safety. The description adds valuable behavioral context by explaining what the data can reveal (e.g., 'shape of a problem', outage clustering), which goes beyond the annotations. For a read-only analytics tool, this is sufficient transparency, though it doesn't detail pagination or row limits (which are partially covered by the schema and output schema).

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

Conciseness5/5

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

The description is a compact three sentences, front-loaded with the core purpose and metrics, then usage hints and alternative. Every sentence adds value, with no filler. It meets the standard of 'every sentence earns its place'.

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 moderate complexity (4 params, 1 required), full schema coverage, rich annotations, and an output schema, the description is complete. It covers purpose, usage scenarios, and alternatives, leaving no critical gaps 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.

Parameters3/5

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

Schema description coverage is 100%, so all 4 parameters are documented in the schema. The description adds a high-level note about the time range ('hour' granularity, 'days' as best) but does not elaborate on parameter formats or interactions beyond the schema. 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 uses a specific verb ('Get') and resource ('response time and uptime for one monitor broken down by hour'), clearly distinguishing it from siblings like get_stats_daily. It also enumerates the metrics (min, max, average, p95) and the time granularity, leaving no ambiguity about what the tool returns.

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 explicitly states when to use it ('Best over hours or days') and when not to ('for weeks and months use get_stats_daily instead'), naming the alternative tool. This is a model of clear usage guidance, providing both context and exclusion.

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

list_monitorsList monitorsA
Read-onlyIdempotent
Inspect

List the monitors on the account, newest first, 30 per page. Each entry carries the id needed by every other tool, plus name, url, type, current status, check frequency and the uptime percentage over the last 24 hours. Start here when the request names a monitor by name rather than by id, and when asked what is broken - filtering by status "down" answers that in one call. Returns an empty list rather than an error when nothing matches.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, 1-based. Defaults to 1.
typeNoReturn only monitors of this type. Omit for all types.
statusNoReturn only monitors in this state. "pending" means created but not yet checked; "paused" means checking is switched off, so it is neither up nor down.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYesThe rows on this page.
totalItemsNoTotal across all pages, not just this one.

TDQS

A4.9/5.0
Behavior5/5

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

The description enriches the annotations (readOnlyHint, idempotentHint) with non-obvious details: default page size (30), sorting (newest first), fields included (id, name, url, type, status, check frequency, uptime), and notably that an empty list is returned instead of an error when no monitors match. This goes well beyond what annotations convey.

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 three sentences long, each adding unique value: core function, entry field details, and usage guidance plus edge behavior. It's front-loaded with the primary purpose and wastes no words.

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?

For a read-only list tool with well-annotated parameters and a provided output schema, the description covers all necessary aspects: pagination, sorting, filtering capabilities, entry fields, and error behavior. It leaves no significant gaps for an agent to understand how to use the tool effectively.

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 already documents all three parameters with clear descriptions and enums, giving 100% coverage. The description adds value by stating the default page size ('30 per page') and the empty-list behavior for no matches, which are not in the schema. However, these are minor additions relative to the schema's completeness.

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 purpose: 'List the monitors on the account, newest first, 30 per page.' It further distinguishes itself by noting the returned 'id needed by every other tool' and provides a concrete use case for the status filter. This makes it highly specific and separates it from sibling tools like get_monitor.

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 explicitly states when to use this tool: 'Start here when the request names a monitor by name rather than by id, and when asked what is broken - filtering by status "down" answers that in one call.' It provides clear contextual guidance, even though it doesn't mention alternatives by name. The 'start here' and specific use case give strong usage direction.

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

pause_monitorPause monitorA
Idempotent
Inspect

Stop checking a monitor without deleting it. History and configuration survive, and resume_monitor puts it back to work. Use this around planned maintenance so the downtime does not land in the uptime figures or fire alerts. A paused monitor reports neither up nor down, so it is easy to forget one is off.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMonitor id to pause, as returned by list_monitors.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesMonitor id, used by every other tool.
urlNo
nameNo
typeNo
isActiveNoFalse while the monitor is paused.
frequencyNoCheck interval in minutes.
statusSummaryNoCurrent state, for example GOOD or ERROR.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false, destructive=false, and idempotent=true. The description adds that the monitor is not deleted, history/config survive, and it reports neither up nor down while paused. This enriches beyond the annotations.

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

Conciseness5/5

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

The description is concise, three sentences, each adding value: what it does, when to use it, and behavioral nuance. No fluff.

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), the description adequately covers purpose, usage, and behavior. The output schema exists, so return values are presumably covered there. It's complete enough.

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 describes the 'id' parameter (100% coverage) with a clear description. The tool description doesn't add much beyond that, but since schema coverage is high, 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 clearly states it stops checking a monitor without deleting it, while preserving history and configuration. It distinguishes itself from delete_monitor and resume_monitor by explicitly mentioning these sibling tools.

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

Usage Guidelines4/5

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

It provides context for use around planned maintenance to avoid downtime affecting uptime figures or triggering alerts. It doesn't explicitly exclude other tools or state when not to use, but the context implies use cases. Sibling tools are listed, giving alternatives.

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

resume_monitorResume monitorA
Idempotent
Inspect

Start checking a paused monitor again, with the configuration it had before. The first check runs immediately rather than after the usual interval, so the current state is known within moments. Safe to call on a monitor that is already running.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMonitor id to resume, as returned by list_monitors.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesMonitor id, used by every other tool.
urlNo
nameNo
typeNo
isActiveNoFalse while the monitor is paused.
frequencyNoCheck interval in minutes.
statusSummaryNoCurrent state, for example GOOD or ERROR.

TDQS

A4.4/5.0
Behavior5/5

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

Adds transparency beyond annotations by noting immediate check and safe on running monitor, consistent with idempotent and non-destructive 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?

Three concise sentences with no redundancy. Clear and well-structured.

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?

Covers the effect, immediate behavior, and safety. Does not mention error scenarios, but that's not critical for this simple 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?

Schema already fully describes the id parameter. Description adds no extra parameter details, so baseline score 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?

Clearly states the action: resumes a paused monitor and specifies immediate first check. Distinguishes from pause_monitor (sibling) implicitly.

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?

Provides guidance on safety when already running, but does not explicitly compare with alternatives or state when not to use. Still clear enough.

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. Dates show when Glama detected each change.

  1. 4 tool updates
    • Changedget_incidents1 field changed
      • changedInput schema / properties / page / description
        Previous value: -"Page number"New value: +"Page number, 1-based. Defaults to 1."
    • Changedget_notifications1 field changed
      • changedInput schema / properties / page / description
        Previous value: -"Page number"New value: +"Page number, 1-based. Defaults to 1."
    • Changedget_stats_daily1 field changed
      • changedInput schema / properties / page / description
        Previous value: -"Page number"New value: +"Page number, 1-based. Defaults to 1."
    • Changedget_stats_hourly1 field changed
      • changedInput schema / properties / page / description
        Previous value: -"Page number"New value: +"Page number, 1-based. Defaults to 1."
  2. 15 tool updates
    • Changedcreate_api_monitor3 fields changed
      • changedInput schema / properties / name / description
        Previous value: -"Monitor name (max 50 chars)"New value: +"Label shown in the dashboard and in alerts, up to 50 characters. Something recognisable months later beats the bare hostname."
      • changedInput schema / properties / url / description
        Previous value: -"API endpoint URL"New value: +"Full endpoint URL including scheme, for example https://api.example.com/v1/status."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "frequency": {
        +      "description": "Check interval in minutes.",
        +      "type": "integer"
        +    },
        +    "id": {
        +      "description": "Monitor id, used by every other tool.",
        +      "type": "integer"
        +    },
        +    "isActive": {
        +      "description": "False while the monitor is paused.",
        +      "type": "boolean"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "statusSummary": {
        +      "description": "Current state, for example GOOD or ERROR.",
        +      "type": "string"
        +    },
        +    "type": {
        +      "enum": [
        +        "PING",
        +        "HTTP",
        +        "API",
        +        "SSL",
        +        "DOMAIN",
        +        "PORT"
        +      ],
        +      "type": "string"
        +    },
        +    "url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id"
        +  ],
        +  "type": "object"
        +}
    • Changedcreate_domain_monitor3 fields changed
      • changedInput schema / properties / name / description
        Previous value: -"Monitor name (max 50 chars)"New value: +"Label shown in the dashboard and in alerts, up to 50 characters. Something recognisable months later beats the bare hostname."
      • changedInput schema / properties / url / description
        Previous value: -"Domain to monitor expiry (e.g. example.com)"New value: +"Registrable domain, for example example.com. Use the registered domain rather than a subdomain: a subdomain has no registration date of its own."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "frequency": {
        +      "description": "Check interval in minutes.",
        +      "type": "integer"
        +    },
        +    "id": {
        +      "description": "Monitor id, used by every other tool.",
        +      "type": "integer"
        +    },
        +    "isActive": {
        +      "description": "False while the monitor is paused.",
        +      "type": "boolean"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "statusSummary": {
        +      "description": "Current state, for example GOOD or ERROR.",
        +      "type": "string"
        +    },
        +    "type": {
        +      "enum": [
        +        "PING",
        +        "HTTP",
        +        "API",
        +        "SSL",
        +        "DOMAIN",
        +        "PORT"
        +      ],
        +      "type": "string"
        +    },
        +    "url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id"
        +  ],
        +  "type": "object"
        +}
    • Changedcreate_http_monitor3 fields changed
      • changedInput schema / properties / name / description
        Previous value: -"Monitor name (max 50 chars)"New value: +"Label shown in the dashboard and in alerts, up to 50 characters. Something recognisable months later beats the bare hostname."
      • changedInput schema / properties / url / description
        Previous value: -"Full URL to monitor (e.g. https://example.com)"New value: +"Full URL including scheme, for example https://example.com/health. A bare hostname is not accepted here - use create_ping_monitor for that."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "frequency": {
        +      "description": "Check interval in minutes.",
        +      "type": "integer"
        +    },
        +    "id": {
        +      "description": "Monitor id, used by every other tool.",
        +      "type": "integer"
        +    },
        +    "isActive": {
        +      "description": "False while the monitor is paused.",
        +      "type": "boolean"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "statusSummary": {
        +      "description": "Current state, for example GOOD or ERROR.",
        +      "type": "string"
        +    },
        +    "type": {
        +      "enum": [
        +        "PING",
        +        "HTTP",
        +        "API",
        +        "SSL",
        +        "DOMAIN",
        +        "PORT"
        +      ],
        +      "type": "string"
        +    },
        +    "url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id"
        +  ],
        +  "type": "object"
        +}
    • Changedcreate_ping_monitor3 fields changed
      • changedInput schema / properties / name / description
        Previous value: -"Monitor name (max 50 chars)"New value: +"Label shown in the dashboard and in alerts, up to 50 characters. Something recognisable months later beats the bare hostname."
      • changedInput schema / properties / url / description
        Previous value: -"Hostname or IP to ping (e.g. example.com, 1.2.3.4)"New value: +"Hostname or IP address, with no scheme and no port, for example example.com or 1.2.3.4."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "frequency": {
        +      "description": "Check interval in minutes.",
        +      "type": "integer"
        +    },
        +    "id": {
        +      "description": "Monitor id, used by every other tool.",
        +      "type": "integer"
        +    },
        +    "isActive": {
        +      "description": "False while the monitor is paused.",
        +      "type": "boolean"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "statusSummary": {
        +      "description": "Current state, for example GOOD or ERROR.",
        +      "type": "string"
        +    },
        +    "type": {
        +      "enum": [
        +        "PING",
        +        "HTTP",
        +        "API",
        +        "SSL",
        +        "DOMAIN",
        +        "PORT"
        +      ],
        +      "type": "string"
        +    },
        +    "url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id"
        +  ],
        +  "type": "object"
        +}
    • Changedcreate_port_monitor4 fields changed
      • changedInput schema / properties / name / description
        Previous value: -"Monitor name (max 50 chars)"New value: +"Label shown in the dashboard and in alerts, up to 50 characters. Something recognisable months later beats the bare hostname."
      • addedInput schema / properties / protocol
        Added value: +{
        +  "description": "TCP is the default and fits most services. Use UDP for game servers and anything else that does not answer on TCP; on UDP the port counts as up only when the server actually replies.",
        +  "enum": [
        +    "TCP",
        +    "UDP"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / url / description
        Previous value: -"Host:port to check (e.g. example.com:443)"New value: +"Host and port separated by a colon, for example example.com:443 or 1.2.3.4:25565. The port is required; without it the monitor cannot be created."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "frequency": {
        +      "description": "Check interval in minutes.",
        +      "type": "integer"
        +    },
        +    "id": {
        +      "description": "Monitor id, used by every other tool.",
        +      "type": "integer"
        +    },
        +    "isActive": {
        +      "description": "False while the monitor is paused.",
        +      "type": "boolean"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "statusSummary": {
        +      "description": "Current state, for example GOOD or ERROR.",
        +      "type": "string"
        +    },
        +    "type": {
        +      "enum": [
        +        "PING",
        +        "HTTP",
        +        "API",
        +        "SSL",
        +        "DOMAIN",
        +        "PORT"
        +      ],
        +      "type": "string"
        +    },
        +    "url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id"
        +  ],
        +  "type": "object"
        +}
    • Changedcreate_ssl_monitor3 fields changed
      • changedInput schema / properties / name / description
        Previous value: -"Monitor name (max 50 chars)"New value: +"Label shown in the dashboard and in alerts, up to 50 characters. Something recognisable months later beats the bare hostname."
      • changedInput schema / properties / url / description
        Previous value: -"Domain to check SSL for (e.g. example.com)"New value: +"Domain whose certificate to inspect, for example example.com. No scheme, no path."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "frequency": {
        +      "description": "Check interval in minutes.",
        +      "type": "integer"
        +    },
        +    "id": {
        +      "description": "Monitor id, used by every other tool.",
        +      "type": "integer"
        +    },
        +    "isActive": {
        +      "description": "False while the monitor is paused.",
        +      "type": "boolean"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "statusSummary": {
        +      "description": "Current state, for example GOOD or ERROR.",
        +      "type": "string"
        +    },
        +    "type": {
        +      "enum": [
        +        "PING",
        +        "HTTP",
        +        "API",
        +        "SSL",
        +        "DOMAIN",
        +        "PORT"
        +      ],
        +      "type": "string"
        +    },
        +    "url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id"
        +  ],
        +  "type": "object"
        +}
    • Changeddelete_monitor2 fields changed
      • changedInput schema / properties / id / description
        Previous value: -"Monitor ID to delete"New value: +"Monitor id to delete, as returned by list_monitors. Deletion is irreversible."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "message": {
        +      "type": "string"
        +    },
        +    "success": {
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "success"
        +  ],
        +  "type": "object"
        +}
    • Changedget_incidents2 fields changed
      • changedInput schema / properties / monitorId / description
        Previous value: -"Monitor ID"New value: +"Monitor id, as returned by list_monitors."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "items": {
        +      "description": "The rows on this page.",
        +      "items": {
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "totalItems": {
        +      "description": "Total across all pages, not just this one.",
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "items"
        +  ],
        +  "type": "object"
        +}
    • Changedget_monitor2 fields changed
      • changedInput schema / properties / id / description
        Previous value: -"Monitor ID"New value: +"Monitor id, as returned by list_monitors."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "frequency": {
        +      "description": "Check interval in minutes.",
        +      "type": "integer"
        +    },
        +    "id": {
        +      "description": "Monitor id, used by every other tool.",
        +      "type": "integer"
        +    },
        +    "isActive": {
        +      "description": "False while the monitor is paused.",
        +      "type": "boolean"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "statusSummary": {
        +      "description": "Current state, for example GOOD or ERROR.",
        +      "type": "string"
        +    },
        +    "type": {
        +      "enum": [
        +        "PING",
        +        "HTTP",
        +        "API",
        +        "SSL",
        +        "DOMAIN",
        +        "PORT"
        +      ],
        +      "type": "string"
        +    },
        +    "url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id"
        +  ],
        +  "type": "object"
        +}
    • Changedget_notifications3 fields changed
      • changedInput schema / properties / channel / description
        Previous value: -"Filter by notification channel"New value: +"Return only alerts sent through this channel. Omit for all channels."
      • changedInput schema / properties / status / description
        Previous value: -"Filter by status"New value: +"Return only alerts with this delivery status."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "items": {
        +      "description": "The rows on this page.",
        +      "items": {
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "totalItems": {
        +      "description": "Total across all pages, not just this one.",
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "items"
        +  ],
        +  "type": "object"
        +}
    • Changedget_stats_daily4 fields changed
      • changedInput schema / properties / dateFrom / description
        Previous value: -"Start date (YYYY-MM-DD)"New value: +"First day to include, as YYYY-MM-DD. Defaults to the start of available history."
      • changedInput schema / properties / dateTo / description
        Previous value: -"End date (YYYY-MM-DD)"New value: +"Last day to include, as YYYY-MM-DD. Defaults to today."
      • changedInput schema / properties / monitorId / description
        Previous value: -"Monitor ID"New value: +"Monitor id, as returned by list_monitors."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "items": {
        +      "description": "The rows on this page.",
        +      "items": {
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "totalItems": {
        +      "description": "Total across all pages, not just this one.",
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "items"
        +  ],
        +  "type": "object"
        +}
    • Changedget_stats_hourly4 fields changed
      • changedInput schema / properties / dateFrom / description
        Previous value: -"Start date (YYYY-MM-DD)"New value: +"First day to include, as YYYY-MM-DD. Defaults to the start of available history."
      • changedInput schema / properties / dateTo / description
        Previous value: -"End date (YYYY-MM-DD)"New value: +"Last day to include, as YYYY-MM-DD. Defaults to today."
      • changedInput schema / properties / monitorId / description
        Previous value: -"Monitor ID"New value: +"Monitor id, as returned by list_monitors."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "items": {
        +      "description": "The rows on this page.",
        +      "items": {
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "totalItems": {
        +      "description": "Total across all pages, not just this one.",
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "items"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_monitors4 fields changed
      • changedInput schema / properties / page / description
        Previous value: -"Page number (default 1)"New value: +"Page number, 1-based. Defaults to 1."
      • changedInput schema / properties / status / description
        Previous value: -"Filter by status"New value: +"Return only monitors in this state. \"pending\" means created but not yet checked; \"paused\" means checking is switched off, so it is neither up nor down."
      • changedInput schema / properties / type / description
        Previous value: -"Filter by monitor type"New value: +"Return only monitors of this type. Omit for all types."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "items": {
        +      "description": "The rows on this page.",
        +      "items": {
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "totalItems": {
        +      "description": "Total across all pages, not just this one.",
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "items"
        +  ],
        +  "type": "object"
        +}
    • Changedpause_monitor2 fields changed
      • changedInput schema / properties / id / description
        Previous value: -"Monitor ID to pause"New value: +"Monitor id to pause, as returned by list_monitors."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "frequency": {
        +      "description": "Check interval in minutes.",
        +      "type": "integer"
        +    },
        +    "id": {
        +      "description": "Monitor id, used by every other tool.",
        +      "type": "integer"
        +    },
        +    "isActive": {
        +      "description": "False while the monitor is paused.",
        +      "type": "boolean"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "statusSummary": {
        +      "description": "Current state, for example GOOD or ERROR.",
        +      "type": "string"
        +    },
        +    "type": {
        +      "enum": [
        +        "PING",
        +        "HTTP",
        +        "API",
        +        "SSL",
        +        "DOMAIN",
        +        "PORT"
        +      ],
        +      "type": "string"
        +    },
        +    "url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id"
        +  ],
        +  "type": "object"
        +}
    • Changedresume_monitor2 fields changed
      • changedInput schema / properties / id / description
        Previous value: -"Monitor ID to resume"New value: +"Monitor id to resume, as returned by list_monitors."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "frequency": {
        +      "description": "Check interval in minutes.",
        +      "type": "integer"
        +    },
        +    "id": {
        +      "description": "Monitor id, used by every other tool.",
        +      "type": "integer"
        +    },
        +    "isActive": {
        +      "description": "False while the monitor is paused.",
        +      "type": "boolean"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "statusSummary": {
        +      "description": "Current state, for example GOOD or ERROR.",
        +      "type": "string"
        +    },
        +    "type": {
        +      "enum": [
        +        "PING",
        +        "HTTP",
        +        "API",
        +        "SSL",
        +        "DOMAIN",
        +        "PORT"
        +      ],
        +      "type": "string"
        +    },
        +    "url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id"
        +  ],
        +  "type": "object"
        +}
  3. 15 tool updates
    • First observedcreate_api_monitor
    • First observedcreate_domain_monitor
    • First observedcreate_http_monitor
    • First observedcreate_ping_monitor
    • First observedcreate_port_monitor
    • First observedcreate_ssl_monitor
    • First observeddelete_monitor
    • First observedget_incidents
    • First observedget_monitor
    • First observedget_notifications
    • First observedget_stats_daily
    • First observedget_stats_hourly
    • First observedlist_monitors
    • First observedpause_monitor
    • First observedresume_monitor

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Uptime monitoring for websites, APIs, SSL certificates, domain expiry, ping and TCP/UDP ports. 15 tools to list, create, pause and delete monitors, pull incident timelines with error codes, and read hourly or daily uptime and response-time statistics.
    15
    155
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Official Hyperping MCP server for uptime, API, cron and server monitoring. 26 tools covering monitors, outages and timelines, uptime, response time, MTTR and MTTA, on-call schedules and escalation policies, over a remote Streamable HTTP endpoint with Bearer token auth and no install.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Six-layer website monitoring (uptime, performance, SSL, DNS, visual regression, content change) from Claude, Cline, and Cursor. Free tools (DNS lookup, SSL check, speed test, website checker) work without an account; monitor, incident, alert, and status-page tools use a personal API key.
    16
    18
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose. The six monitor creation tools are explicitly differentiated in their descriptions (e.g., HTTP vs API vs SSL vs domain), and lifecycle tools like delete, pause, resume, and list are unambiguous. Overlap is minimal and explicitly addressed.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (e.g., create_http_monitor, get_stats_hourly, pause_monitor). No mixed conventions or vague verbs; the pattern is uniform and predictable.

Tool Count4/5

15 tools is on the higher end of the ideal range, but each tool earns its place. The count reflects a comprehensive monitoring surface without unnecessary redundancy. Slightly over the typical sweet spot, but justified by the domain.

Completeness4/5

The tool surface covers creation, deletion, pause/resume, listing, retrieval, incident history, and two levels of statistics, plus notifications. A notable gap is the absence of an update/edit tool for existing monitors, which agents may need to adjust configurations. Otherwise, the lifecycle is well covered.

Resources