Skip to main content
Glama

Cronitor MCP by usefulapi

Server Details

Manage Cronitor monitors and send telemetry pings — list, inspect, create, update, delete.

Ownership verified
Status
Healthy
Uptime
87.3% over 74 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A3.9/5.0

Scored across 6 tools

Disambiguation4/5

Most tools target a distinct action (create/delete/get/list/ping) and are easy to tell apart. The one soft spot is create_monitor vs update_monitor, since update explicitly 'creates or updates' and create is 'additive', so an agent could plausibly pick the wrong write path.

Naming Consistency5/5

All six tools follow the exact same cronitor_<verb>_monitor pattern with a consistent verb_noun structure. No mixed conventions or style drift.

Tool Count5/5

Six tools neatly cover the monitor lifecycle (create, get, list, update, delete) plus telemetry pings, with no redundant or filler tools. This is a well-scoped set.

Completeness5/5

Full CRUD lifecycle is present (create/get/list/update/delete) along with telemetry reporting via ping_monitor for run/fail/ok events. No obvious operational dead ends for managing monitors.

Available Tools

6 tools
cronitor_create_monitorCreate monitorB
Destructive
Inspect

Creates a monitor in Cronitor (additive). Cronitor API: POST /monitors. Sends only the fields you provide.

NameRequiredDescriptionDefault
keyYesUnique monitor id/key.
nameNoHuman-readable monitor name.
noteNoFree-form note stored on the monitor.
tagsNoTags to group/filter monitors.
typeYesMonitor type: job | check | heartbeat | site.
notifyNoNotification list names to alert.
requestNoFor type=check: {url, method?, headers?, body?, ...}.
scheduleNoCron expression (job) or interval string, e.g. '0 9 * * *' or 'every 5 minutes'.
assertionsNoAssertions, e.g. "response.code = 200".

TDQS

B3.1/5.0
Behavior3/5

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

Annotations supply only destructiveHint=true, so the description carries most of the burden and does add real value: 'additive', the POST /monitors endpoint, and the partial-payload semantics. It never reconciles the odd destructiveHint on a create operation, nor mentions auth requirements or what happens on duplicate keys.

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 short, front-loaded fragments with no filler; the core action leads. The 'Cronitor API: POST /monitors' line is mildly redundant with 'Creates a monitor' but is fast to scan and costs little.

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?

This is a 9-parameter, nested-object mutation tool with no output schema, yet the description says nothing about required fields (key, type), the response shape, or error behavior such as duplicate keys. With no output schema, return-value guidance is expected and absent, leaving the definition thin for its complexity.

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 schema already documents all nine properties including the enum and nested request object. The description adds one useful nuance — that omitted fields are simply not sent rather than defaulted — but no syntax or interaction detail beyond that.

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?

States a specific verb and resource ('Creates a monitor in Cronitor') plus the underlying API call, so an agent knows exactly what the tool does. It does not explicitly distinguish itself from siblings like cronitor_update_monitor or cronitor_delete_monitor, relying on the name alone for that routing.

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 when-to-use guidance at all: nothing says when to prefer create over update, that the 'key' must be unique, or what prerequisites (auth, existing monitor collision) apply. Only a behavioral aside ('Sends only the fields you provide') is offered, which is not usage guidance.

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

cronitor_delete_monitorDelete monitorA
Destructive
Inspect

PERMANENTLY deletes a monitor from Cronitor. Destructive and irreversible. Cronitor API: DELETE /monitors/{key}.

NameRequiredDescriptionDefault
keyYesMonitor key/id to delete.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, so the bar is lower, but the description adds meaningful context: the deletion is PERMANENT and irreversible, and it names the underlying API operation. It stops short of describing failure modes (e.g. missing key) or side effects on dependent checks.

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 short, front-loaded sentences: the destructive warning and the resource come first, followed by the API mapping. Every sentence earns its place with no filler.

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 single-parameter delete tool with annotations covering the destructive profile and no output schema, this is nearly complete. Only the absence of usage context/alternatives and any error behavior keeps it from being fully sufficient.

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% for the single 'key' parameter, so the schema already documents it fully. The description only echoes the identifier in the API path template and adds no new semantics, which matches the baseline 3 when the schema does the heavy lifting.

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 — 'PERMANENTLY deletes a monitor from Cronitor' — which is unambiguous against the create/get/list/update/ping siblings. The added API path (DELETE /monitors/{key}) reinforces the exact operation.

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 says nothing about when to use this versus alternatives such as cronitor_update_monitor or deactivating a monitor, nor any prerequisites. 'Destructive and irreversible' is a warning, not usage guidance, so the agent must infer the context itself.

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

cronitor_get_monitorGet monitorA
Read-only
Inspect

Get full detail for one monitor (latest_event, latest_invocations, passing status) — the 'is X healthy right now?' tool. Cronitor API: GET /monitors/{key}.

NameRequiredDescriptionDefault
keyYesMonitor key/id (unique identifier).

TDQS

A4.2/5.0
Behavior4/5

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

With readOnlyHint=true already declaring the safety profile and no output schema present, the description usefully discloses the shape of what comes back (latest event, latest invocations, passing status). It stops short of mentioning auth, rate limits, or error behavior, but it carries the return-value burden reasonably well.

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 tight sentences: the purpose and payload come first, the mental model second, and the API endpoint last. Nothing is wasted and nothing important is buried.

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 read-only single-resource fetch with no output schema, the description covers the essentials including the returned fields. Slightly incomplete only on error/not-found behavior and whether the status is computed live versus cached.

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% for the single 'key' parameter, so the schema already documents it fully; the description adds no format or acquisition guidance (e.g. where to get the key). Baseline 3 is appropriate when the schema does the work.

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 ('Get full detail for one monitor') and enumerates the key payload contents (latest_event, latest_invocations, passing status), which cleanly separates it from cronitor_list_monitors and the mutation siblings.

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

Usage Guidelines4/5

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

The framing 'is X healthy right now?' gives a clear situational context for when to reach for this tool, but it never names the alternatives (e.g. use cronitor_list_monitors for a roll-up) or any exclusions, so routing still requires inference.

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

cronitor_list_monitorsList monitorsA
Read-only
Inspect

List monitors and their current passing/failing status. Cronitor API: GET /monitors (paginated via page + pageSize).

NameRequiredDescriptionDefault
pageNoPage number (1-based). Default 1.
pageSizeNoMonitors per page.

TDQS

A3.6/5.0
Behavior3/5

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

readOnlyHint=true already declares the safety profile, so the bar is lower. The description adds useful context — that results are paginated and include pass/fail status — but says nothing about rate limits, default page size, or ordering.

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 tight sentences: purpose first, API mechanics second. No filler, nothing redundant.

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 paginated read-only list with full schema coverage and annotations covering safety, the description is nearly sufficient. It correctly tells the agent what each entry contains; only the absence of an output schema leaves the exact response shape implicit.

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 both parameters are already documented in the schema (page is 1-based, default 1; pageSize). The description merely restates that pagination uses page + pageSize, adding no new semantics.

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+resource ('List monitors') and adds the distinguishing payload ('current passing/failing status'), making it clearly distinct from cronitor_get_monitor (singular) and the create/delete/update/ping siblings.

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 on when to use this over cronitor_get_monitor or how to iterate pages. The pagination mention is mechanical (endpoint/params) rather than contextual advice about when listing is appropriate.

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

cronitor_ping_monitorPing monitor (telemetry)A
Destructive
Inspect

Reports a telemetry event (run/complete/fail/ok/pause) for a monitor — records job/heartbeat activity and can clear or trigger alerts. Cronitor telemetry: GET {telemetryUrl}/p/{apiKey}/{monitorKey}?state=...

NameRequiredDescriptionDefault
keyYesMonitor key/id to ping.
hostNoOptional host identifier.
stateYesTelemetry state: run | complete | fail | ok | pause.
metricNoOptional metric, e.g. "count:1" or "duration:30".
seriesNoOptional series id to correlate run/complete pings.
messageNoOptional message attached to the event.

TDQS

A3.8/5.0
Behavior4/5

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

Only destructiveHint=true is provided, so the description must carry behavioral weight — and it does add real context beyond the annotation: that this 'can clear or trigger alerts' and that pings hit a specific telemetry endpoint. It stops short of explaining the effect of individual states (e.g. that 'pause' halts monitoring) or auth needs.

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?

Two compact sentences that front-load purpose, then behavior, then the endpoint template. Slightly dense but every clause (states, alert side-effects, URL shape) earns its place.

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?

With 6 parameters, no output schema, and only a destructiveHint annotation, the description covers purpose but omits per-state semantics (what 'pause'/'fail' do to alert state) and any auth/URL-key requirement. Adequate to invoke, but thin for a state-driven alerting mutation.

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 every parameter including host, metric, series, and message is already documented. The description only restates the state enum and the state= query fragment, adding no syntax or format meaning beyond the schema — the baseline 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?

States a specific verb and resource ('Reports a telemetry event ... for a monitor'), enumerates the exact state values, and the telemetry-ping role is clearly distinct from the CRUD siblings (create/get/list/update/delete_monitor). An agent can select this over any sibling without opening the schema.

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?

Usage is implied by 'records job/heartbeat activity' and the state list, but it never states when to choose this over cronitor_update_monitor or that it is the only tool for reporting runtime events. No explicit when-not or alternative routing is given.

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

cronitor_update_monitorUpdate monitorA
Destructive
Inspect

Creates or updates a monitor by key (e.g. change schedule, pause via paused:true). Cronitor API: PUT /monitors with a single monitor object. Sends only the fields you provide.

NameRequiredDescriptionDefault
keyYesMonitor key/id to create or update.
nameNoHuman-readable monitor name.
noteNoFree-form note stored on the monitor.
tagsNoTags to group/filter monitors.
typeNoMonitor type: job | check | heartbeat | site.
notifyNoNotification list names to alert.
pausedNoSet true to pause the monitor, false to resume.
requestNoFor type=check: {url, method?, headers?, body?, ...}.
scheduleNoCron expression (job) or interval string, e.g. '0 9 * * *' or 'every 5 minutes'.
assertionsNoAssertions, e.g. "response.code = 200".

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only supply destructiveHint=true; the description adds genuine behavioral context beyond that by disclosing the PUT/upsert model and the partial-update contract ('sends only the fields you provide'). It stops short of warning that list-valued fields like tags/notify/assertions are replaced wholesale, which is relevant given the destructive hint.

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 with no padding: the upsert behavior is front-loaded, followed by a concrete usage example and the API/partial-update contract. Every clause carries information the agent can act on.

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 10-parameter, nested-object mutation tool with a single required key, the description covers the essential upsert and partial-update semantics (no output schema means return values need not be explained). The remaining gap is the absence of any mention of how array fields are handled on update.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 10 parameters including examples for schedule and paused. The description repeats the paused:true and schedule examples but adds no syntax or format detail beyond what the schema provides, so baseline 3 applies.

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?

States a specific verb+resource (create/update a monitor by key) and captures the upsert nature via PUT semantics, which is meaningful because the key is required. It does not, however, differentiate itself from the sibling cronitor_create_monitor, leaving the agent to infer whether create should route here or there.

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?

Usage is implied through examples ('change schedule', 'pause via paused:true') but there is no explicit when-to-use or when-not guidance relative to cronitor_create_monitor or cronitor_get_monitor. The agent must infer the upsert-vs-create distinction on its own.

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

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
    10 npm
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI agents to manage cron job and scheduled task monitoring through the WatchCron API. Supports listing, creating, updating, pausing, and deleting monitors, retrieving ping URLs and ping/incident history, and listing notification channels.
    9
    317 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    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
    A
    maintenance
    Connects MCP-capable AI clients to a monitoring API to inspect cron and recurring-task checks, with opt-in mutations for pings, integrations, and check changes.
    3
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.