Cronitor MCP by usefulapi

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

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
98%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,266Tokens (tool definitions)
~1.8 KBTypical response size
Moderate attention impact (0.99% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "cronitor": {
      "url": "https://cronitor.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://cronitor.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢cronitor_list_monitors(page, pageSize)

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

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number (1-based). Default 1.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "pageSize": {
      "description": "Monitors per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢cronitor_get_monitor(key)

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

Input Schema

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "minLength": 1,
      "description": "Monitor key/id (unique identifier)."
    }
  },
  "required": [
    "key"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴cronitor_create_monitor(key, type, name, schedule, notify, ...)

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

Input Schema

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "minLength": 1,
      "description": "Unique monitor id/key."
    },
    "type": {
      "type": "string",
      "enum": [
        "job",
        "check",
        "heartbeat",
        "site"
      ],
      "description": "Monitor type: job | check | heartbeat | site."
    },
    "name": {
      "description": "Human-readable monitor name.",
      "type": "string"
    },
    "schedule": {
      "description": "Cron expression (job) or interval string, e.g. '0 9 * * *' or 'every 5 minutes'.",
      "type": "string"
    },
    "notify": {
      "description": "Notification list names to alert.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "assertions": {
      "description": "Assertions, e.g. \"response.code = 200\".",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "request": {
      "description": "For type=check: {url, method?, headers?, body?, ...}.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "tags": {
      "description": "Tags to group/filter monitors.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "note": {
      "description": "Free-form note stored on the monitor.",
      "type": "string"
    }
  },
  "required": [
    "key",
    "type"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴cronitor_update_monitor(key, type, name, schedule, notify, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "minLength": 1,
      "description": "Monitor key/id to create or update."
    },
    "type": {
      "description": "Monitor type: job | check | heartbeat | site.",
      "type": "string",
      "enum": [
        "job",
        "check",
        "heartbeat",
        "site"
      ]
    },
    "name": {
      "description": "Human-readable monitor name.",
      "type": "string"
    },
    "schedule": {
      "description": "Cron expression (job) or interval string, e.g. '0 9 * * *' or 'every 5 minutes'.",
      "type": "string"
    },
    "notify": {
      "description": "Notification list names to alert.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "assertions": {
      "description": "Assertions, e.g. \"response.code = 200\".",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "request": {
      "description": "For type=check: {url, method?, headers?, body?, ...}.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "tags": {
      "description": "Tags to group/filter monitors.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "note": {
      "description": "Free-form note stored on the monitor.",
      "type": "string"
    },
    "paused": {
      "description": "Set true to pause the monitor, false to resume.",
      "type": "boolean"
    }
  },
  "required": [
    "key"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴cronitor_delete_monitor(key)

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

Input Schema

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "minLength": 1,
      "description": "Monitor key/id to delete."
    }
  },
  "required": [
    "key"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴cronitor_ping_monitor(key, state, message, metric, host, ...)

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=...

Input Schema

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "minLength": 1,
      "description": "Monitor key/id to ping."
    },
    "state": {
      "type": "string",
      "enum": [
        "run",
        "complete",
        "fail",
        "ok",
        "pause"
      ],
      "description": "Telemetry state: run | complete | fail | ok | pause."
    },
    "message": {
      "description": "Optional message attached to the event.",
      "type": "string"
    },
    "metric": {
      "description": "Optional metric, e.g. \"count:1\" or \"duration:30\".",
      "type": "string"
    },
    "host": {
      "description": "Optional host identifier.",
      "type": "string"
    },
    "series": {
      "description": "Optional series id to correlate run/complete pings.",
      "type": "string"
    }
  },
  "required": [
    "key",
    "state"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
failed observationversion not recorded—
failed observationversion not recorded—