{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "tool": {
    "slug": "cronitor-mcp",
    "name": "Cronitor MCP server",
    "vendor": "Cronitor",
    "vendorUrl": "https://cronitor.io",
    "kind": "mcp",
    "category": "observability",
    "summary": "Cronitor's hosted MCP server lets an agent create and manage cron job, heartbeat and uptime monitors, issues, status pages, alert integrations and metrics in a Cronitor account, over OAuth or an API key.",
    "url": "https://www.anchorterminal.com/tools/cronitor-mcp",
    "markdownUrl": "https://www.anchorterminal.com/tools/cronitor-mcp.md",
    "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cronitor-mcp.min.md",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cronitor-mcp.json",
    "dns": "cronitor-mcp.grade.anchorterminal.com",
    "transports": [
      "streamable-http"
    ],
    "remoteUrl": "https://cronitor.io/mcp",
    "packages": [],
    "auth": "oauth",
    "authNotes": "OAuth through protected-resource metadata, with sign-in and consent in a browser; the token carries the user's role, capped at the SDK Integration key's permissions, with no scope selection. An API key in a header works for headless clients, with the key's granular read or write scopes.",
    "pricing": "freemium",
    "pricingNotes": "Free forever for 5 monitors. Business is $2 a monitor and $5 a user a month after a 14-day trial (checked 2026-11-07).",
    "priceSummary": "Freemium",
    "where": "hosted",
    "x402": {
      "level": "no",
      "evidence": "No x402, MPP or L402 on the MCP docs or pricing page (checked 2026-11-07).",
      "endpoints": []
    },
    "toolCount": 71,
    "popularity": {
      "githubStars": null,
      "npmWeekly": null,
      "pypiWeekly": null,
      "asOf": "2026-11-07"
    },
    "docsUrl": "https://cronitor.io/docs/mcp-server",
    "llmsTxt": "https://cronitor.io/llms.txt",
    "registryName": "io.cronitor/cronitor",
    "capabilities": [
      "observability.incidents",
      "observability.metrics",
      "events.schedule",
      "agent.tools"
    ],
    "tags": [
      "official",
      "hosted",
      "mcp",
      "remote-mcp",
      "oauth",
      "api-key",
      "freemium",
      "free-tier",
      "status-page",
      "llms-txt",
      "mcp-registry"
    ],
    "graded": true,
    "anchor": {
      "graded": true,
      "score": 59.1,
      "grade": "C",
      "agentReady": false,
      "rank": 718,
      "ranked": true,
      "rankOf": 1510,
      "categoryRank": 7,
      "methodology": "0.7",
      "run": "2026-10-01",
      "scores": {
        "ergonomics": 73,
        "maintenance": 55,
        "payments": 40,
        "reliability": 55,
        "schema": 80,
        "security": 58,
        "transparency": 37
      },
      "pending": [
        "performance",
        "tasks"
      ],
      "breakdown": [
        {
          "key": "reliability",
          "name": "Reliability",
          "weight": 16,
          "effectiveWeight": 20,
          "score": 55,
          "points": 11,
          "reason": "Status page at status.cronitor.io with components for the APIs and telemetry regions (20). No history was readable (history.rss 404, uptime 'No data available') (5). Rate limits are returned with limit and window in the error data, but no numbers are published (5 of 15). Rate-limit errors carry retry_after_seconds, bulk deletes validate every key first, and the docs say which repeated calls are safe (15). No SLA found (0). Not labelled beta (10). 20 + 5 + 5 + 15 + 0 + 10 = 55.",
          "checked": "2026-11-07"
        },
        {
          "key": "performance",
          "name": "Performance",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
        },
        {
          "key": "schema",
          "name": "Schema \u0026 documentation",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 80,
          "points": 13,
          "reason": "Every tool's input schema declares additionalProperties false, and the docs call tools/list the field-level reference (25). llms.txt and .md pages for agents (10). Detailed tool guidance, including which to start with and what not to request (18 of 20). Typed inputs with enums, required combinations and no untyped data objects (15). A table of JSON-RPC error codes with their data fields, and worked calls (12 of 15). No public changelog found (404) (0). 25 + 10 + 18 + 15 + 12 + 0 = 80.",
          "checked": "2026-11-07"
        },
        {
          "key": "ergonomics",
          "name": "Agent ergonomics",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 73,
          "points": 11.86,
          "reason": "71 tools (5), with four task-oriented tools and summary modes that cap list output (5 back). Summary mode defaults to 25 rows, allows 100 and returns next_page (20). Documented, recoverable errors (18 of 20). Safety metadata in each tool schema and documented repeat behaviour (15 of 20). setup_monitor takes few fields; SDKs and a CLI (10 of 15). 10 + 20 + 18 + 15 + 10 = 73.",
          "checked": "2026-11-07"
        },
        {
          "key": "security",
          "name": "Security \u0026 auth",
          "weight": 14,
          "effectiveWeight": 17.5,
          "score": 58,
          "points": 10.15,
          "reason": "OAuth bounded by role with no scope choice, or scoped API keys (22 of 30). Read-only users get only read tools; write tools follow the role (14 of 20). The docs warn that event messages, command output and request bodies can hold customer data or secrets, and tell the agent to ask before expanding them; secrets are redacted (12 of 15). No audit log of MCP calls found (0). The security page covers encryption and relies on AWS's certifications; no security.txt (404) and no disclosure policy found (10 of 20). 22 + 14 + 12 + 0 + 10 = 58.",
          "checked": "2026-11-07"
        },
        {
          "key": "payments",
          "name": "Payments \u0026 pricing",
          "weight": 10,
          "effectiveWeight": 12.5,
          "score": 40,
          "points": 5,
          "reason": "No machine payment protocol (0). Per-monitor and per-user prices public (20). Free plan for 5 monitors, no card mentioned (20). A person signs up or signs in through a browser (0). 0 + 20 + 20 + 0 = 40.",
          "checked": "2026-11-07"
        },
        {
          "key": "tasks",
          "name": "Task success",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
        },
        {
          "key": "maintenance",
          "name": "Maintenance \u0026 community",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 55,
          "points": 4.81,
          "reason": "Registry entry io.cronitor/cronitor updated 3 November 2026 (30). No dated changelog found to count (0). Support page and docs; no public changelog (10 of 15). Official registry entry under its own namespace, and official SDKs (15). No package to read (0). 30 + 0 + 10 + 15 + 0 = 55. Registry presence read from Anchor Terminal's own daily import of the official MCP registry (/api/v1/registry.json, 6 November 2026), not the registry's API.",
          "checked": "2026-11-07"
        },
        {
          "key": "transparency",
          "name": "Transparency \u0026 trust",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 37,
          "points": 3.24,
          "note": "editorial 25, provenance 48",
          "reason": "robots.txt disallows the terms and privacy pages, so neither was read (5 of 30, terms exist but weren't readable). Data handling only from the security page (encryption, backups) (10 of 30). No deprecation policy found; the docs version the error codes by protocol revision (5 of 20). Subprocessors not found (5 of 20). 5 + 10 + 5 + 5 = 25.",
          "checked": "2026-11-07"
        }
      ],
      "assessment": {
        "date": "2026-11-07",
        "basis": "public evidence",
        "confidence": "medium",
        "notes": {
          "ergonomics": "71 tools (5), with four task-oriented tools and summary modes that cap list output (5 back). Summary mode defaults to 25 rows, allows 100 and returns next_page (20). Documented, recoverable errors (18 of 20). Safety metadata in each tool schema and documented repeat behaviour (15 of 20). setup_monitor takes few fields; SDKs and a CLI (10 of 15). 10 + 20 + 18 + 15 + 10 = 73.",
          "maintenance": "Registry entry io.cronitor/cronitor updated 3 November 2026 (30). No dated changelog found to count (0). Support page and docs; no public changelog (10 of 15). Official registry entry under its own namespace, and official SDKs (15). No package to read (0). 30 + 0 + 10 + 15 + 0 = 55. Registry presence read from Anchor Terminal's own daily import of the official MCP registry (/api/v1/registry.json, 6 November 2026), not the registry's API.",
          "payments": "No machine payment protocol (0). Per-monitor and per-user prices public (20). Free plan for 5 monitors, no card mentioned (20). A person signs up or signs in through a browser (0). 0 + 20 + 20 + 0 = 40.",
          "reliability": "Status page at status.cronitor.io with components for the APIs and telemetry regions (20). No history was readable (history.rss 404, uptime 'No data available') (5). Rate limits are returned with limit and window in the error data, but no numbers are published (5 of 15). Rate-limit errors carry retry_after_seconds, bulk deletes validate every key first, and the docs say which repeated calls are safe (15). No SLA found (0). Not labelled beta (10). 20 + 5 + 5 + 15 + 0 + 10 = 55.",
          "schema": "Every tool's input schema declares additionalProperties false, and the docs call tools/list the field-level reference (25). llms.txt and .md pages for agents (10). Detailed tool guidance, including which to start with and what not to request (18 of 20). Typed inputs with enums, required combinations and no untyped data objects (15). A table of JSON-RPC error codes with their data fields, and worked calls (12 of 15). No public changelog found (404) (0). 25 + 10 + 18 + 15 + 12 + 0 = 80.",
          "security": "OAuth bounded by role with no scope choice, or scoped API keys (22 of 30). Read-only users get only read tools; write tools follow the role (14 of 20). The docs warn that event messages, command output and request bodies can hold customer data or secrets, and tell the agent to ask before expanding them; secrets are redacted (12 of 15). No audit log of MCP calls found (0). The security page covers encryption and relies on AWS's certifications; no security.txt (404) and no disclosure policy found (10 of 20). 22 + 14 + 12 + 0 + 10 = 58.",
          "transparency": "robots.txt disallows the terms and privacy pages, so neither was read (5 of 30, terms exist but weren't readable). Data handling only from the security page (encryption, backups) (10 of 30). No deprecation policy found; the docs version the error codes by protocol revision (5 of 20). Subprocessors not found (5 of 20). 5 + 10 + 5 + 5 = 25."
        },
        "sources": [
          {
            "what": "MCP server docs",
            "url": "https://cronitor.io/docs/mcp-server",
            "seen": "2026-11-07"
          },
          {
            "what": "MCP landing page",
            "url": "https://cronitor.io/mcp",
            "seen": "2026-11-07"
          },
          {
            "what": "pricing",
            "url": "https://cronitor.io/pricing",
            "seen": "2026-11-07"
          },
          {
            "what": "security docs",
            "url": "https://cronitor.io/docs/security.md",
            "seen": "2026-11-07"
          },
          {
            "what": "status page",
            "url": "https://status.cronitor.io",
            "seen": "2026-11-07"
          },
          {
            "what": "llms.txt",
            "url": "https://cronitor.io/llms.txt",
            "seen": "2026-11-07"
          },
          {
            "what": "lead, awesome-remote-mcp-servers pull request #3869",
            "url": "https://github.com/punkpeye/awesome-remote-mcp-servers/pull/3869",
            "seen": "2026-11-07"
          }
        ],
        "openQuestions": [
          "Terms and privacy weren't read (robots.txt)",
          "Incident history not readable",
          "People, ownership and investors not researched"
        ]
      },
      "negative": 0,
      "verdict": "Cronitor's MCP server is one of the most carefully documented we've read, with strict input schemas, summary modes, typed error codes and clear advice on secrets in monitor output. It has 71 tools, publishes no changelog, and its terms and privacy pages are closed to crawlers, so data handling couldn't be checked.",
      "bestFor": "Teams who monitor cron jobs, heartbeats and sites with Cronitor and want an agent to set up and triage monitoring.",
      "strengths": [
        "Strict input schemas (additionalProperties false) with enums and required combinations",
        "Summary modes with paging keep list output small",
        "JSON-RPC error codes with retry_after_seconds and required_scope",
        "Clear guidance on secrets in event messages and output",
        "Free plan for 5 monitors"
      ],
      "weaknesses": [
        "71 tools, a heavy context load",
        "No public changelog",
        "Terms and privacy closed to crawlers, so unread",
        "No audit log of agent calls found"
      ],
      "agentNotes": [
        "Start with list_monitors and list_issues in summary mode",
        "Ask the user before expanding event messages, command output or request bodies",
        "On a rate-limit error, wait retry_after_seconds",
        "Over the plan's monitor limit, new monitors are saved but disabled"
      ],
      "metrics": {
        "kind": "remote",
        "measured": false
      },
      "reviewCount": 0,
      "avgRating": 0,
      "history": [
        {
          "basis": "public evidence",
          "confidence": "medium",
          "grade": "C",
          "methodology": "0.7",
          "pending": [
            "performance",
            "tasks"
          ],
          "run": "2026-10-01",
          "runLabel": "October 2026 research run",
          "score": 59.1
        }
      ],
      "editorialScores": {
        "ergonomics": 73,
        "maintenance": 55,
        "payments": 40,
        "reliability": 55,
        "schema": 80,
        "security": 58,
        "transparency": 25
      },
      "provenanceScore": 48,
      "checked": {
        "categories": {
          "ergonomics": "2026-11-07",
          "maintenance": "2026-11-07",
          "payments": "2026-11-07",
          "reliability": "2026-11-07",
          "schema": "2026-11-07",
          "security": "2026-11-07",
          "transparency": "2026-11-07"
        },
        "last": "2026-11-07",
        "oldest": "2026-11-07",
        "stale": false,
        "staleAfterDays": 90
      },
      "scoreHistory": [
        {
          "date": "2026-11-07",
          "grade": "C",
          "kind": "listed",
          "method": "0.7",
          "score": 59.1
        }
      ]
    },
    "connect": {
      "claudeCode": "claude mcp add cronitor --transport http https://cronitor.io/mcp",
      "config": {
        "mcpServers": {
          "cronitor": {
            "url": "https://cronitor.io/mcp"
          }
        }
      }
    },
    "letme": {
      "capability": "https://letme.dev/observability.incidents",
      "tool": "https://letme.dev/cronitor-mcp"
    },
    "notable": [
      "71 tools, four task-oriented, three discovery and 64 resource operations mirroring the Cronitor CLI (https://cronitor.io/docs/mcp-server)",
      "Every input schema declares additionalProperties false (https://cronitor.io/docs/mcp-server)",
      "OAuth tokens carry the user's role with no scope selection; API keys keep granular scopes (https://cronitor.io/docs/mcp-server)",
      "Free plan for 5 monitors; Business $2 a monitor and $5 a user a month (https://cronitor.io/pricing)"
    ],
    "area": "developer",
    "details": [
      {
        "label": "Surface listed",
        "value": "The hosted MCP server at cronitor.io/mcp, read from cronitor.io and status.cronitor.io on 7 November 2026. Only an MCP initialize was sent, which asked for sign-in"
      },
      {
        "label": "Not read",
        "value": "cronitor.io/robots.txt disallows /terms and /privacy, so neither was fetched"
      }
    ],
    "provenance": {
      "legalEntity": "Cronitor",
      "domain": "cronitor.io",
      "domainRegistered": "",
      "domainNote": "Not looked up: RDAP isn't requested under the 1 November 2026 rules.",
      "endpointOnVendorDomain": true,
      "terms": "",
      "privacy": "",
      "statusPage": "https://status.cronitor.io",
      "changelog": "",
      "securityTxt": "none",
      "checked": "2026-11-07",
      "notes": [
        "robots.txt disallows the terms and privacy pages, so the legal entity wasn't read.",
        "security.txt answered 404."
      ],
      "score": 48,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "Cronitor",
          "points": 20,
          "max": 20,
          "state": "ok"
        },
        {
          "check": "Domain age",
          "value": "cronitor.io, no registry record we could read",
          "points": 0,
          "max": 15,
          "state": "no"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": "cronitor.io",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Terms of service",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "Privacy policy",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "Status page",
          "value": "status.cronitor.io",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Changelog",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "security.txt",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "People named",
          "value": "not researched yet",
          "points": 0,
          "max": 0,
          "state": "na"
        },
        {
          "check": "Support route",
          "value": "help pages",
          "points": 5,
          "max": 5,
          "state": "ok"
        }
      ]
    },
    "humans": {
      "slug": "cronitor-mcp",
      "checked": "2026-11-07",
      "company": "Cronitor",
      "peopleNote": "People, ownership and investors weren't researched in this batch (7 November 2026, leads from the awesome-remote-mcp-servers pull requests).",
      "companySocial": {},
      "support": {
        "urls": [
          "https://cronitor.io/docs/mcp-server"
        ]
      },
      "sources": [
        "https://cronitor.io/docs/mcp-server"
      ]
    },
    "pageJsonUrl": "https://www.anchorterminal.com/tools/cronitor-mcp.json",
    "live": {
      "slug": "cronitor-mcp",
      "probe": {
        "target": "https://cronitor.io/mcp",
        "method": "mcp-initialize",
        "lastAt": "2026-11-08T00:43:29.891125498Z",
        "lastOk": true,
        "lastStatus": 401,
        "lastMs": 627,
        "lastNote": "asks for credentials",
        "authRequired": true,
        "uptime24h": 100,
        "uptime30d": 100,
        "p50ms24h": 629,
        "p95ms24h": 703,
        "samples24h": 61,
        "samples30d": 61,
        "days": [
          {
            "date": "2026-11-07",
            "probes": 53,
            "ok": 53
          },
          {
            "date": "2026-11-08",
            "probes": 8,
            "ok": 8
          }
        ]
      },
      "vendorStatus": {
        "page": "https://status.cronitor.io",
        "indicator": "unknown",
        "summary": "no machine-readable status found",
        "checkedAt": "2026-11-08T00:31:11.053343459Z"
      },
      "updatedAt": "2026-11-08T00:43:29.891125498Z"
    }
  }
}
