Skip to main content
Glama

Create a check

updown_create_check
Destructive

Add a new monitoring check. The type (http, https, tcp, tcps, icmp) is inferred from the URL scheme; pass type 'pulse' (and no URL) for a cron/heartbeat check. Each check consumes updown credits while enabled. Requires the read/write API key. updown: POST /api/checks.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoThe URL to monitor, e.g. https://example.com, tcp://host:port, icmp://host. Omit for pulse checks.
typeNoCheck type; inferred from the URL by default — mainly useful for 'pulse'.
aliasNoHuman-readable name for the check.
periodNoInterval in seconds. Regular checks: 15, 30, 60, 120, 300, 600, 1800 or 3600 (default 60). Pulse checks: anywhere from 15 s to 1 month.
apdex_tNoAPDEX threshold in seconds: 0.125, 0.25, 0.5, 1.0, 2.0, 4.0 or 8.0 (default 0.5).
enabledNoWhether the check runs. false pauses it (reversible).
http_bodyNoHTTP body sent with the request.
http_verbNoHTTP verb for the request (default GET/HEAD).
publishedNoWhether the check's public status page is visible (default false).
mute_untilNoMute notifications until a time (ISO8601, e.g. 2026-10-01T08:00:00Z), or 'recovery', or 'forever'.
recipientsNoAlert recipient ids to select, e.g. ['email:12345', 'sms:67890'] (from updown_list_recipients).
string_matchNoText that must appear in the response. For TCP/TCPS checks, '<closed>' inverts the check (alert if the port is open).
custom_headersNoHTTP headers updown sends with each request, e.g. { "X-Api-Key": "..." }.
disabled_locationsNoMonitoring locations to disable: lan, mia, tor, rbx, fra, cap, hel, sin, tok, syd.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Goes beyond the sparse annotations (only destructiveHint=true) by disclosing that each check consumes updown credits while enabled and that the read/write API key is required — practical operational context an agent cannot infer from the schema. It omits what the response returns, but the credit/consumption and auth disclosures are genuinely 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?

Four compact sentences, front-loaded with purpose and the type-inference rule, then auth/credit constraints. The trailing API breadcrumb ('updown: POST /api/checks') is slightly extraneous but not disruptive.

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?

For a 14-parameter create tool with no required params, the description covers the key decision logic (type vs URL, pulse mode) and side effects (credits, auth). The notable gap is not describing what is returned (e.g., the new check id) when no output schema exists, which an agent would need for follow-up calls.

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 baseline is 3, but the description adds cross-parameter meaning the schema only partially conveys: that type is inferred from the URL scheme and that 'pulse' requires omitting the URL entirely. This clarifies the relationship between url and type rather than just restating field docs.

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?

States a specific verb and resource ('Add a new monitoring check') and immediately covers the two primary modes of creation: URL-derived type inference and the URL-less 'pulse' cron/heartbeat case. It is clearly distinguishable from siblings like updown_update_check, updown_get_check, and updown_list_checks.

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?

Gives clear conditional guidance — pass type 'pulse' with no URL for heartbeat checks, otherwise let the type be inferred from the URL scheme — and states the read/write API key requirement. It does not explicitly contrast with updown_update_check or note limits on check count, but the creation context is well established.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.