{
  "data": {
    "a": {
      "slug": "better-stack",
      "name": "Better Stack",
      "vendor": "Better Stack, Inc.",
      "vendorUrl": "https://betterstack.com",
      "kind": "mcp",
      "category": "observability",
      "summary": "Better Stack is a hosted observability and incident management service from Better Stack, Inc. with uptime monitors, on-call, status pages, logs, metrics, traces and error tracking, reached through REST APIs and a remote MCP server.",
      "url": "https://www.anchorterminal.com/tools/better-stack",
      "markdownUrl": "https://www.anchorterminal.com/tools/better-stack.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/better-stack.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/better-stack.json",
      "dns": "better-stack.grade.anchorterminal.com",
      "repo": "https://github.com/BetterStackHQ/claude-plugin",
      "license": "Proprietary hosted service under the Better Stack Terms of Use. The Claude, Cursor and Codex plugins and the Terraform providers on GitHub are MIT",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.betterstack.com",
      "packages": [],
      "auth": "mixed",
      "authNotes": "OAuth sign-in in the browser is the documented default for the MCP server, with a Full access level chosen at consent for writes. Unattended agents send an API token as a Bearer header. Tokens are minted in the web app under API tokens, either global (every team) or team-based (Incidents API or Telemetry API tokens), with Read \u0026 write or read access per the MCP docs. No scopes finer than that and no key expiry were found. Access is self-serve after a browser signup.",
      "pricing": "freemium",
      "pricingNotes": "The MCP server and APIs carry no separate charge. The Free plan has 10 monitors and heartbeats, one status page, 3 GB of logs and traces kept 3 days, 30 GB of metrics and 100,000 errors a month, with no card mentioned on the signup page. Responders cost $34 a month ($29 yearly), telemetry is priced per GB by region ($0.10 ingestion and $0.05 retention per GB in Europe, $0.15 and $0.08 in the US, $0.35 and $0.18 in Singapore) or in bundles from $30 a month, and audit logs are a $250 a month add-on (https://betterstack.com/pricing, checked 2026-11-03).",
      "priceSummary": "$34 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the pricing page, the API docs or the MCP docs (checked 2026-11-03). Plans are paid by card through the web app.",
        "endpoints": []
      },
      "toolCount": 148,
      "popularity": {
        "githubStars": 6,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://betterstack.com/docs/getting-started/integrations/mcp/",
      "capabilities": [
        "observability.logs",
        "observability.incidents",
        "work.oncall",
        "observability.metrics",
        "observability.traces",
        "observability.errors"
      ],
      "tags": [
        "official",
        "hosted",
        "closed-source",
        "mcp",
        "remote-mcp",
        "oauth",
        "api-key",
        "toolsets",
        "free-tier",
        "freemium",
        "eu-hosted",
        "status-page",
        "audit-log",
        "soc2",
        "webhooks"
      ],
      "lastRelease": "2026-11-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.2,
        "grade": "C",
        "agentReady": false,
        "rank": 811,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 7,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 55,
          "maintenance": 71,
          "payments": 40,
          "reliability": 50,
          "schema": 46,
          "security": 60,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "One remote MCP server reaches incidents, on-call, monitors, status pages, logs, metrics, traces and errors with OAuth or a team-scoped token, and two headers cut its 148 tools down. Tool schemas and rate limits aren't published, there is no SLA, and audit logs of token use are a paid add-on.",
        "bestFor": "An agent that investigates incidents, queries logs and metrics with SQL, manages monitors and posts status page updates for a team already on Better Stack, with the Claude plugin as the shortest route.",
        "strengths": [
          "148 tools across incidents, on-call, monitors, heartbeats, status pages, catalogue, telemetry queries, dashboards, alerts, errors and team members, on one remote endpoint",
          "X-MCP-Tools-Only and X-MCP-Tools-Except headers give a read-only or task-sized subset, and OAuth consent or a token can be read-level",
          "Audit logs record API token requests with the token's name and the actor type, and can be streamed to a source or any URL",
          "Free plan with 10 monitors, a status page and 3 GB of logs, and per-GB prices published by region",
          "Dated changelog entries on 10 August, 9 September, 1 October, 15 October and 29 October 2026, and a plugin release on 2 November 2026"
        ],
        "weaknesses": [
          "No rate limit numbers in the API docs, and the only 429 guidance is to wait before retrying",
          "The MCP tool schemas are not published, the REST API has no OpenAPI file and the docs have no llms.txt",
          "No SLA. The terms supply the service as is, and the enterprise page lists SLA reporting as a feature",
          "Delayed Telemetry data processing in the Europe region ran from 3 to 6 September 2026 in entries of 6 hours to 1 day",
          "Audit logs cost $250 a month, and no security.txt, bug bounty or disclosure policy was found"
        ],
        "agentNotes": [
          "Connect with `claude mcp add betterstack --transport http https://mcp.betterstack.com` and sign in, or send a team-based API token as `Authorization: Bearer`; pick Read access unless the task writes",
          "Send `X-MCP-Tools-Only: monitors,monitor,incidents` or a similar list to keep the 148-tool list out of context, and `X-MCP-Tools-Except: remove_dashboard,remove_chart` to block deletes",
          "Call `Get query instructions` or `Plan query windows` before `Execute query`, since long time ranges are split into windows and nothing documents a result size limit",
          "No rate limit is published. Back off on a 429 and don't retry writes blindly, because there are no idempotency keys; `Upsert catalog records` is the one write documented as safe to repeat",
          "Reopening an incident only works within 24 hours of its resolution, and a comment can only be edited or removed by its author or an API token"
        ],
        "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": 54.2
          }
        ],
        "editorialScores": {
          "ergonomics": 55,
          "maintenance": 71,
          "payments": 40,
          "reliability": 50,
          "schema": 46,
          "security": 60,
          "transparency": 48
        },
        "provenanceScore": 89,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -H \"Authorization: Bearer $BETTERSTACK_API_TOKEN\" https://incidents.betterstack.com/api/v2/monitors",
        "claudeCode": "claude mcp add betterstack --transport http https://mcp.betterstack.com",
        "config": {
          "mcpServers": {
            "betterstack": {
              "type": "http",
              "url": "https://mcp.betterstack.com"
            }
          }
        },
        "headless": {
          "mcpServers": {
            "betterstack": {
              "headers": {
                "Authorization": "Bearer $TOKEN"
              },
              "type": "http",
              "url": "https://mcp.betterstack.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/observability.logs",
        "tool": "https://letme.dev/better-stack"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Responder seat",
          "unit": "seat-month",
          "usd": 34,
          "note": "$29 a month billed yearly; team members without incident access are free"
        },
        {
          "item": "Logs and traces ingestion, Europe",
          "unit": "gb",
          "usd": 0.1,
          "note": "$0.15 in the US and $0.35 in Singapore, plus retention from $0.05 per GB a month"
        },
        {
          "item": "Telemetry Nano bundle, Europe",
          "unit": "month",
          "usd": 30,
          "note": "40 GB each of logs, traces and metrics with 30-day retention; $45 in the US"
        },
        {
          "item": "Additional status page",
          "unit": "month",
          "usd": 15,
          "note": "one page included; $12 billed yearly"
        },
        {
          "item": "Audit logs add-on",
          "unit": "month",
          "usd": 250,
          "note": "$208 billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Better Stack, Inc.",
        "domain": "betterstack.com",
        "domainRegistered": "2013-02-08",
        "endpointOnVendorDomain": true,
        "terms": "https://betterstack.com/terms",
        "privacy": "https://betterstack.com/privacy",
        "statusPage": "https://status.betterstack.com/",
        "changelog": "https://betterstack.com/tag/changelog",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The Terms of Use (last updated 14 February 2025) and the privacy policy (25 November 2022) name Better Stack, Inc., a Delaware corporation, under New York law. The DPA (25 February 2025) and its schedules (14 February 2025) list nine subprocessors.",
          "The terms contain no clause on automated access to the site or the API. They forbid monitoring systems the user doesn't own and allow Better Stack to impose quotas and time limits.",
          "betterstack.com/robots.txt disallows nothing and carries Content-Signal search=yes, ai-input=yes, ai-train=yes. status.betterstack.com/robots.txt is empty.",
          "The MCP server answers at mcp.betterstack.com and the APIs at incidents.betterstack.com, telemetry.betterstack.com and betterstack.com, all vendor subdomains. The ClickHouse query endpoint is on betterstackdata.com.",
          "betterstack.com/.well-known/security.txt returns 404. The security page gives security@betterstack.com and names no bug bounty or disclosure policy.",
          "RDAP gives betterstack.com a registration date of 8 February 2013, before the company's 2021 founding per its careers page, so the domain was acquired."
        ],
        "score": 89
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/better-stack.json",
      "live": {
        "slug": "better-stack",
        "probe": {
          "target": "https://mcp.betterstack.com",
          "method": "mcp-initialize",
          "lastAt": "2026-11-04T20:46:35.119337454Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 90,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 91,
          "p95ms24h": 195,
          "samples24h": 55,
          "samples30d": 55,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 55,
              "ok": 55
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.betterstack.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T15:31:22.214208643Z"
        },
        "githubStars": 6,
        "securityTxt": {
          "url": "https://betterstack.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:52:41.12669976Z"
        },
        "updatedAt": "2026-11-04T20:46:35.119337454Z"
      }
    },
    "answer": "incident.io API scores 68.9 (B) on agent readiness against Better Stack's 54.2 (C), and leads in 6 of 7 scored categories. Better Stack leads on payments \u0026 pricing.",
    "b": {
      "slug": "incident-io",
      "name": "incident.io API",
      "vendor": "Pineapple Technology Ltd. (incident.io)",
      "vendorUrl": "https://incident.io",
      "kind": "http-api",
      "category": "observability",
      "summary": "incident.io is an incident response, on-call, alerting and status page service. Agents reach it through a REST API at api.incident.io with an OpenAPI description and seven SDKs, a hosted MCP server and the `inc` CLI.",
      "url": "https://www.anchorterminal.com/tools/incident-io",
      "markdownUrl": "https://www.anchorterminal.com/tools/incident-io.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/incident-io.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/incident-io.json",
      "dns": "incident-io.grade.anchorterminal.com",
      "repo": "https://github.com/incident-io/sdk-ts",
      "license": "Proprietary service under incident.io's Terms and Conditions. The SDKs, the `inc` CLI and the skills plugin on GitHub are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://mcp.incident.io/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@incident-io/sdk"
        },
        {
          "registry": "pypi",
          "name": "incident-io"
        }
      ],
      "auth": "mixed",
      "authNotes": "The REST API takes an API key as a Bearer token. An admin creates an organisation key in Settings and picks its permissions, 13 of which can be limited to named teams. A user key has its owner's current role. Keys are shown once and do not expire. The MCP server takes the same keys, or OAuth with PKCE for a person, which an admin must enable and which lasts 28 days. Access is self-serve on a paid plan, with no app review.",
      "pricing": "paid",
      "pricingNotes": "API, webhooks and MCP are not included in the free Basic plan. Team is $19 per user a month for incident response ($15 with the annual discount) plus $10 for on-call. Pro is $25 plus $20 for on-call, billed yearly through sales. Enterprise is quoted. API calls are not metered. The terms define a 14-day trial, which the docs say sales sets up for Pro and Enterprise. No sandbox below Enterprise (checked 2026-10-09).",
      "priceSummary": "$19 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API reference, the OpenAPI description or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 1318,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.incident.io/api-reference/introduction",
      "llmsTxt": "https://docs.incident.io/llms.txt",
      "openapi": "https://api.incident.io/v1/openapiV3.json",
      "capabilities": [
        "observability.incidents",
        "work.oncall"
      ],
      "tags": [
        "hosted",
        "rest",
        "openapi",
        "llms-txt",
        "mcp",
        "api-key",
        "oauth",
        "incidents",
        "on-call",
        "status-pages",
        "cli",
        "typescript",
        "python",
        "go",
        "status-page",
        "sla",
        "soc2"
      ],
      "lastRelease": "2026-10-31",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.9,
        "grade": "B",
        "agentReady": false,
        "rank": 242,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 83,
          "payments": 10,
          "reliability": 90,
          "schema": 88,
          "security": 64,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-11-01"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-04-09, 2026-06-26 and 2026-09-30: the API changelog records the request property `time_to_ack_seconds` removed from `POST /v2/escalation_paths`, the request property `version` removed from `POST /v2/alert_routes`, and the response property `layer_id` removed from `GET /v2/schedules`, each with no earlier deprecation entry in a changelog that starts on 5 January 2026. The docs say existing endpoints get no breaking changes. Whether customers were told another way was not established, so the deduction is 2 (https://docs.incident.io/api-reference/changelog)."
        ],
        "verdict": "The REST API has a public OpenAPI description with 284 operations, numeric rate limits, `Retry-After` on 429 and required idempotency keys on seven create calls. API and MCP access need the Team plan or higher, so the free Basic plan cannot be used by an agent, and audit logs are Enterprise only.",
        "bestFor": "Agents that declare and update incidents, page people, read on-call schedules and post status page incidents in an organisation that already pays for incident.io.",
        "strengths": [
          "OpenAPI 3.0.3 description with 284 operations, per-resource description files, llms.txt and Markdown twins of every docs page",
          "API keys carry chosen permissions, 13 of the 36 scopable to named teams, and user keys take the owner's role",
          "Default limit of 1,200 requests a minute per key, `X-RateLimit-*` headers on every response and `Retry-After` on 429",
          "`idempotency_key` is required on seven create calls, among them incidents, escalations and status page incidents",
          "API changelog generated from the description file, with 53 dated entries between 3 August and 30 October 2026"
        ],
        "weaknesses": [
          "The pricing page marks API, webhooks and MCP as not included in the free Basic plan. Team starts at $19 per user a month",
          "Audit logs are Enterprise only and reach the customer by CSV export or log stream, with no API to read them",
          "Alert event and heartbeat endpoints accept the alert source token in a `token` query parameter",
          "The changelog records three removals from live endpoints in 2026 with no earlier deprecation entry",
          "The security FAQ says no data leaves Europe, while the sub-processor list of 27 July 2026 names 17 processors in the United States"
        ],
        "agentNotes": [
          "Send `Authorization: Bearer \u003ckey\u003e` to https://api.incident.io and call `GET /v1/identity` first to read the key's roles",
          "Send a fresh `idempotency_key` with every create call for incidents, incident updates, timeline items, escalations and status page incidents. A repeated key returns the first result",
          "Page with `page_size` and `after` until no cursor comes back. Do not stop at a short or empty page",
          "Keep `GET /v2/incidents` under 60 requests a minute and wait the seconds in `Retry-After` on 429",
          "Incident creation is limited to 10 an hour per key when a Slack or Teams channel is created, 300 an hour otherwise"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.9
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 83,
          "payments": 10,
          "reliability": 90,
          "schema": 88,
          "security": 64,
          "transparency": 72
        },
        "provenanceScore": 81,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-10-27",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install @incident-io/sdk",
        "http": "curl --request GET https://api.incident.io/v1/identity --header 'Authorization: Bearer \u003cYOUR_API_KEY\u003e'",
        "claudeCode": "claude mcp add incident-io --transport http https://mcp.incident.io/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/observability.incidents",
        "tool": "https://letme.dev/incident-io"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Team plan, incident response",
          "unit": "seat-month",
          "usd": 19,
          "note": "$15 with the annual discount. On-call adds $10"
        },
        {
          "item": "Pro plan, incident response",
          "unit": "seat-month",
          "usd": 25,
          "note": "billed yearly through sales. On-call adds $20"
        },
        {
          "item": "On-call only",
          "unit": "seat-month",
          "usd": 20,
          "note": "sold through sales"
        }
      ],
      "provenance": {
        "legalEntity": "Pineapple Technology Ltd.",
        "domain": "incident.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://incident.io/legal/terms",
        "privacy": "https://incident.io/legal/privacy",
        "statusPage": "https://status.incident.io",
        "changelog": "https://docs.incident.io/api-reference/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-09",
        "notes": [
          "The site footer and the legal pages carry the copyright of Pineapple Technology Ltd. The terms are governed by the laws of England and Wales. No company number was found on the pages read.",
          "The Terms and Conditions are effective 1 August 2026 and are served at incident.io/legal and incident.io/legal/terms. Orders before that date fall under legacy terms.",
          "The API answers at api.incident.io and the MCP server at mcp.incident.io.",
          "incident.io/.well-known/security.txt names security@incident.io and the vulnerability disclosure policy, and expires on 15 July 2027.",
          "rdap.org answered 404 for incident.io, so the registration date is not recorded."
        ],
        "score": 81
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/incident-io.json",
      "live": {
        "slug": "incident-io",
        "probe": {
          "target": "https://mcp.incident.io/mcp",
          "method": "get",
          "lastAt": "2026-11-04T20:46:52.636183651Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 139,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 99.98,
          "p50ms24h": 41,
          "p95ms24h": 118,
          "samples24h": 246,
          "samples30d": 6560,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 252
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 214,
              "ok": 214
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.incident.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-04T20:39:18.284861448Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "incident-io/sdk-ts",
            "version": "v2.44.0",
            "released": "2026-11-03",
            "seenAt": "2026-11-04T20:25:47.638456935Z"
          },
          {
            "registry": "npm",
            "name": "@incident-io/sdk",
            "version": "2.44.0",
            "seenAt": "2026-11-04T20:25:46.512759662Z"
          },
          {
            "registry": "pypi",
            "name": "incident-io",
            "version": "2.42.0",
            "released": "2026-11-03",
            "seenAt": "2026-11-04T20:25:47.406223117Z"
          }
        ],
        "githubStars": 30,
        "npmWeekly": 2483,
        "pypiWeekly": 1551,
        "securityTxt": {
          "url": "https://incident.io/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-07-15T12:00:00Z",
          "checkedAt": "2026-11-04T15:52:35.552097196Z"
        },
        "llmsTxt": {
          "url": "https://docs.incident.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-04T15:23:14.076302576Z"
        },
        "domain": {
          "domain": "incident.io",
          "checkedAt": "2026-11-01T14:07:48.376564034Z"
        },
        "pages": [
          {
            "url": "https://docs.incident.io/api-reference/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-04T08:21:19.199489093Z",
            "changedAt": "2026-11-04T08:21:19.199489093Z",
            "fingerprint": "4692ccdbd479"
          },
          {
            "url": "https://incident.io/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-04T08:25:28.312861672Z",
            "changedAt": "2026-11-03T07:51:42.100888416Z",
            "fingerprint": "757e9a065481"
          },
          {
            "url": "https://incident.io/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-04T08:25:30.600950726Z",
            "changedAt": "2026-11-03T07:51:44.324802404Z",
            "fingerprint": "674cd6dffe94"
          }
        ],
        "github": {
          "repo": "incident-io/sdk-ts",
          "checkedAt": "2026-11-02T08:56:00.298728069Z",
          "stars": 30,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-01T23:36:41Z",
          "openIssues": 0,
          "openPRs": 1,
          "issuesOpened90d": 1,
          "issuesClosed90d": 1,
          "prsMerged90d": 2,
          "ci": {
            "branch": "master",
            "runs": 6,
            "success": 6,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-09-30T17:23:19Z"
          },
          "replies": {
            "sampled": 1,
            "unanswered": 0,
            "medianDays": 0.2
          }
        },
        "updatedAt": "2026-11-04T20:46:52.636183651Z"
      }
    },
    "edges": [
      {
        "by": 42,
        "category": "schema",
        "leads": "incident-io",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "The server is closed and tools/list needs sign-in, so the tool schemas were not read, and no OpenAPI file was found for the REST APIs in the docs, the GitHub organisation or a search. Partial credit for a typed contract that exists but isn't public (10 of 25). No llms.txt on betterstack.com or its docs, and no Markdown twins (0). The MCP docs page gives one line per tool and says when some apply, such as Reopen incident within 24 hours and the instruction tools to call before Execute query. The REST reference pages describe each endpoint in a sentence (12 of 20). Inputs are typed only in the REST docs, with parameter tables, monitor types and status values listed in prose, and no schema to validate against (7 of 15). Every REST page carries a curl example and a 200 body; Create monitor documents a 422 with errors keyed by field, the Usage API a 401 and a 429, and no error code list exists (9 of 15). The APIs are versioned v2 in the path. The changelog is a product feed of 19 entries since March 2025 with the MCP server among them, with no API changelog and no deprecation notes (8 of 15). 10 + 0 + 12 + 7 + 9 + 8 = 46.",
          "b": "OpenAPI 3.0.3 description, public at api.incident.io/v1/openapiV3.json per the docs and read from docs.incident.io/openapi/latest.json, 284 operations and 777 schemas (25). llms.txt and a Markdown twin of every docs page (10). Every operation has a description, but the median is 65 characters and few say when not to use a call. List incidents is the exception, with worked filter examples (12). 262 enums, required fields marked and two free-form objects in the whole file (13). 4,014 example values and thirteen error statuses on every operation, though the shared error example pairs an unrelated code and message (13). Versions sit in the path per resource and the changelog is generated from the description file (15)."
        },
        "scores": {
          "a": 46,
          "b": 88
        }
      },
      {
        "by": 40,
        "category": "reliability",
        "leads": "incident-io",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines and scored on the remote MCP server at mcp.betterstack.com, which fronts the same service as the Incidents and Telemetry APIs. status.betterstack.com runs on Better Stack's own status page product with three components and a 90-day history (20). Between 5 August and 3 November 2026 it records delayed Telemetry data processing in the Europe region from 3 to 6 September in entries of 6 hours 19 minutes, 10 hours 10 minutes, 19 hours 13 minutes, 21 hours 45 minutes and 1 day, a 9-minute Telemetry degradation on 20 August, 39 minutes of wrong downtime notifications on 21 October and 8 minutes of dashboard unavailability on 2 November, every one labelled degraded, plus two migrations labelled maintenance (11 hours 13 minutes on 9 August and 17 hours). About four days of delayed log processing in one region is more than trivial and less than an outage of the API, so between minor-only and one major (15). No rate limit numbers were found in the API or MCP docs (0). The Usage API documents a 429 with the instruction to wait before retrying, with no Retry-After, no backoff guidance and no idempotency keys. `Upsert catalog records` is documented as not creating duplicates when repeated (5 of 15). No SLA. The terms supply the service as is, and the enterprise page lists SLA reporting as a feature (0). The MCP server was announced on 15 September 2025 and carries no beta label (10). 20 + 15 + 0 + 5 + 0 + 10 = 50.",
          "b": "Scored as a hosted API. status.incident.io lists components with history, API and MCP among them (20). The feed, re-read on 1 November 2026, has four incidents in the 90 days from 3 August, each on one component. Opsgenie webhook delays on 3 August, alert listing in the public API and dashboard on 18 August until a rollback (no duration given), Microsoft Teams latency from 13:00 to 15:08 UTC on 20 August and Slack Enterprise Grid login errors for a subset of customers on 2 October. All partial, nothing since 2 October (20). Limits are published with numbers, 1,200 requests a minute per key and lower figures for eight endpoints (15). 429 carries `Retry-After`, the body recommends exponential backoff, and seven create calls require an `idempotency_key` (15). The SLA commits to 99.9 per cent a month on Pro and Enterprise (10). The API carries no beta label (10)."
        },
        "scores": {
          "a": 50,
          "b": 90
        }
      },
      {
        "by": 30,
        "category": "payments",
        "leads": "better-stack",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "Read with the hosted rubric. No x402, MPP or L402 (0). Per-unit prices are public without login, by GB and region for telemetry, per responder, per status page and per phone number (20). The Free plan has 10 monitors, a status page and 3 GB of logs, the signup page says Sign up for free and names no card, and we did not run the signup flow (20). A person signs up in a browser and mints a token or completes OAuth there (0). 0 + 20 + 20 + 0 = 40.",
          "b": "No x402, MPP or L402 (0). Plan prices per seat are public, Team at $19 and Pro at $25 a user a month, with no per-call price (10). The Basic plan is free, but the pricing page marks API, webhooks and MCP as not included, and the docs route trials through sales (0). A person signs up, pays and creates a key in the dashboard (0)."
        },
        "scores": {
          "a": 40,
          "b": 10
        }
      },
      {
        "by": 20,
        "category": "ergonomics",
        "leads": "incident-io",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "148 tools are named on the docs page, more than 30 (5). X-MCP-Tools-Only and X-MCP-Tools-Except narrow the list to a subset or a read-only set, documented for that purpose, and the server has no default toolset (add 10, so 15). REST lists take page and per_page up to 250 with first, last, prev and next links, and filters by url, pronounceable_name and team_name. Plan query windows splits a long telemetry query into windows, and Execute query takes SQL with its own LIMIT. No field selection (16 of 20). 422 bodies name the field that failed and 401 gives a message, but no error code list exists and MCP errors are not documented (10 of 20). No idempotency keys. `Upsert catalog records` avoids duplicates, Reopen incident is limited to 24 hours, and the annotations on the tools couldn't be read (6 of 20). Get workspace style defaults are not described. Two Terraform providers and logging clients exist, but no official API SDK in any language, and the Claude plugin's 16 skills carry the query recipes (8 of 15). 15 + 16 + 10 + 6 + 8 = 55.",
          "b": "Scored for the REST API. `page_size` sets response size, but no field selection was found and incident objects are large. The description file is 5.4 MB, with per-resource files as the smaller route (12). Cursor pagination on 41 list operations and operator filters such as `status_category[one_of]` (18). Errors carry a code, a message, the field at fault and a `request_id` (18). `idempotency_key` is required on seven create calls, and updates by PUT have no key (14). Seven official SDKs and a CLI with JSON output, with `idempotency_key` and `visibility` required to create an incident (13)."
        },
        "scores": {
          "a": 55,
          "b": 75
        }
      },
      {
        "by": 12,
        "category": "maintenance",
        "leads": "incident-io",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed service. The Claude plugin reached 1.3.12 on 2 November 2026 and the changelog's newest entry is 29 October 2026 (30). Changelog entries on 10 August, 9 September, 1 October, 15 October and 29 October 2026 (20). Public changelog, hello@betterstack.com with a stated reply within a few hours, and a community site. GitHub issues on the plugin repositories were not read (10 of 15). The MCP server is not in the official MCP registry under a verified namespace, the only entries matching the name being third-party scrapers, and there is no official API SDK. The Claude, Cursor, Codex and Antigravity plugins and two Terraform providers are current (5 of 15). The Claude plugin repository is MIT with 12 commit days since June 2026, and we didn't read its CI (6 of 10). 30 + 20 + 10 + 5 + 6 = 71.",
          "b": "The API changelog's newest entry is 30 October 2026 (30). 53 dated entries between 3 August and 30 October 2026 (20). A public changelog, support by email and a Slack community, with reply times not checked (10). Seven official SDKs generated from the description file, TypeScript 2.40.0 and Python 2.39.0 both tagged 31 October 2026, and both READMEs say a schema check stops any break from shipping as a minor version (15). The SDK and CLI repositories have test workflows, and the two SDKs read were first tagged in September 2026 and reached a second major version within two weeks (8)."
        },
        "scores": {
          "a": 71,
          "b": 83
        }
      },
      {
        "by": 8,
        "category": "transparency",
        "leads": "incident-io",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service under Terms of Use (14 February 2025) that name Better Stack, Inc., a Delaware corporation, under New York law. The plugins and Terraform providers are MIT (15 of 30). The privacy policy (25 November 2022) gives no retention periods and says data is processed primarily in the EU, while the DPA (25 February 2025) names the United States and other locations and promises return or destruction on termination. Telemetry retention is a plan term (3 days free, 30 days in bundles). OpenAI is a subprocessor and nothing says whether customer data is used for model training (14 of 30). No deprecation policy. The terms allow changes at Better Stack's discretion with continued use as acceptance, and the changelog carries no deprecation notices (3 of 20). Schedule A of the DPA lists nine subprocessors with locations, the security page says data is stored in EU regions by default with custom locations for enterprise, and no notice period for new subprocessors is given (16 of 20). 15 + 14 + 3 + 16 = 48.",
          "b": "Closed service under published Terms and Conditions effective 1 August 2026, with the SDKs, CLI and skills plugin under MIT (17). Privacy policy, DPA, sub-processor list and an AI data handling page are public. The terms limit training on customer content to the customer's own benefit. The security FAQ's statement that no data leaves Europe disagrees with a sub-processor list naming 17 processors in the United States, and retention is stated in general terms (20). Deprecated endpoints carry a removal date in their descriptions and the docs give integrators three months, but the changelog shows removals with no earlier entry (17). 20 sub-processors with locations and purposes, hosting regions named, 15 days' notice of changes in the DPA (18)."
        },
        "scores": {
          "a": 69,
          "b": 77
        }
      }
    ],
    "facts": [
      {
        "a": "MCP server",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Better Stack, Inc.",
        "b": "Pineapple Technology Ltd. (incident.io)",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.betterstack.com",
        "b": "https://mcp.incident.io/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "not published",
        "b": "$19 per seat per month",
        "name": "Price for incidents"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted service under the Better Stack Terms of Use. The Claude, Cursor and Codex plugins and the Terraform providers on GitHub are MIT",
        "b": "Proprietary service under incident.io's Terms and Conditions. The SDKs, the `inc` CLI and the skills plugin on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "148",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-02",
        "b": "2026-10-31",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-08-01",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2024-02-15",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "6 stars",
        "b": "1.3k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "incident.io API scores 68.9 (B) on agent readiness against Better Stack's 54.2 (C), and leads in 6 of 7 scored categories. Better Stack leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Better Stack or incident.io API?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Better Stack and incident.io API need an API key?"
      },
      {
        "answer": "Yes. Better Stack has a hosted endpoint at https://mcp.betterstack.com and incident.io API at https://mcp.incident.io/mcp.",
        "question": "Can an agent call Better Stack and incident.io API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 40 against 10"
        ],
        "also": null,
        "goodFor": "An agent that investigates incidents, queries logs and metrics with SQL, manages monitors and posts status page updates for a team already on Better Stack, with the Claude plugin as the shortest route.",
        "slug": "better-stack",
        "watchFor": "No rate limit numbers in the API docs, and the only 429 guidance is to wait before retrying"
      },
      {
        "aheadOn": [
          "Reliability, 90 against 50",
          "Schema \u0026 documentation, 88 against 46",
          "Agent ergonomics, 75 against 55",
          "Maintenance \u0026 community, 83 against 71",
          "Transparency \u0026 trust, 77 against 69"
        ],
        "also": null,
        "goodFor": "Agents that declare and update incidents, page people, read on-call schedules and post status page incidents in an organisation that already pays for incident.io.",
        "slug": "incident-io",
        "watchFor": "The pricing page marks API, webhooks and MCP as not included in the free Basic plan. Team starts at $19 per user a month"
      }
    ],
    "history": {
      "better-stack": null,
      "incident-io": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0,
          "from": 68.9,
          "fromGrade": "B",
          "to": 68.9,
          "toGrade": "B"
        }
      ]
    },
    "job": {
      "capability": "observability.incidents",
      "name": "Incidents"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/axiom-vs-incident-io.json",
        "title": "Axiom MCP Server vs incident.io API",
        "url": "https://www.anchorterminal.com/compare/axiom-vs-incident-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/better-stack-vs-pagerduty-mcp.json",
        "title": "Better Stack vs PagerDuty MCP Server",
        "url": "https://www.anchorterminal.com/compare/better-stack-vs-pagerduty-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/better-stack-vs-rootly-mcp.json",
        "title": "Better Stack vs Rootly MCP Server",
        "url": "https://www.anchorterminal.com/compare/better-stack-vs-rootly-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/causely-vs-incident-io.json",
        "title": "Causely MCP server vs incident.io API",
        "url": "https://www.anchorterminal.com/compare/causely-vs-incident-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/datadog-mcp-vs-incident-io.json",
        "title": "Datadog MCP Server vs incident.io API",
        "url": "https://www.anchorterminal.com/compare/datadog-mcp-vs-incident-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grafana-mcp-server-vs-incident-io.json",
        "title": "Grafana MCP Server vs incident.io API",
        "url": "https://www.anchorterminal.com/compare/grafana-mcp-server-vs-incident-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/incident-io-vs-new-relic.json",
        "title": "incident.io API vs New Relic MCP Server",
        "url": "https://www.anchorterminal.com/compare/incident-io-vs-new-relic"
      },
      {
        "json": "https://www.anchorterminal.com/compare/incident-io-vs-pagerduty-mcp.json",
        "title": "incident.io API vs PagerDuty MCP Server",
        "url": "https://www.anchorterminal.com/compare/incident-io-vs-pagerduty-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/incident-io-vs-rootly-mcp.json",
        "title": "incident.io API vs Rootly MCP Server",
        "url": "https://www.anchorterminal.com/compare/incident-io-vs-rootly-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/axiom-vs-better-stack.json",
        "title": "Axiom MCP Server vs Better Stack",
        "url": "https://www.anchorterminal.com/compare/axiom-vs-better-stack"
      },
      {
        "json": "https://www.anchorterminal.com/compare/better-stack-vs-causely.json",
        "title": "Better Stack vs Causely MCP server",
        "url": "https://www.anchorterminal.com/compare/better-stack-vs-causely"
      },
      {
        "json": "https://www.anchorterminal.com/compare/better-stack-vs-datadog-mcp.json",
        "title": "Better Stack vs Datadog MCP Server",
        "url": "https://www.anchorterminal.com/compare/better-stack-vs-datadog-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/better-stack-vs-grafana-mcp-server.json",
        "title": "Better Stack vs Grafana MCP Server",
        "url": "https://www.anchorterminal.com/compare/better-stack-vs-grafana-mcp-server"
      },
      {
        "json": "https://www.anchorterminal.com/compare/better-stack-vs-honeycomb-mcp.json",
        "title": "Better Stack vs Honeycomb MCP",
        "url": "https://www.anchorterminal.com/compare/better-stack-vs-honeycomb-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/better-stack-vs-new-relic.json",
        "title": "Better Stack vs New Relic MCP Server",
        "url": "https://www.anchorterminal.com/compare/better-stack-vs-new-relic"
      },
      {
        "json": "https://www.anchorterminal.com/compare/better-stack-vs-sentry-mcp.json",
        "title": "Better Stack vs Sentry MCP",
        "url": "https://www.anchorterminal.com/compare/better-stack-vs-sentry-mcp"
      }
    ],
    "panel": null,
    "scores": [
      {
        "better-stack": 50,
        "by": 40,
        "edge": "incident-io",
        "incident-io": 90,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "better-stack": 46,
        "by": 42,
        "edge": "incident-io",
        "incident-io": 88,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "better-stack": 55,
        "by": 20,
        "edge": "incident-io",
        "incident-io": 75,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "better-stack": 60,
        "by": 4,
        "edge": "incident-io",
        "incident-io": 64,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "better-stack": 40,
        "by": 30,
        "edge": "better-stack",
        "incident-io": 10,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "better-stack": 71,
        "by": 12,
        "edge": "incident-io",
        "incident-io": 83,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "better-stack": 69,
        "by": 8,
        "edge": "incident-io",
        "incident-io": 77,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "incident.io API scores 68.9 (B) on agent readiness against Better Stack's 54.2 (C), and leads in 6 of 7 scored categories. Better Stack leads on payments \u0026 pricing. Both do incidents.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "better-stack": "One remote MCP server reaches incidents, on-call, monitors, status pages, logs, metrics, traces and errors with OAuth or a team-scoped token, and two headers cut its 148 tools down. Tool schemas and rate limits aren't published, there is no SLA, and audit logs of token use are a paid add-on.",
      "incident-io": "The REST API has a public OpenAPI description with 284 operations, numeric rate limits, `Retry-After` on 429 and required idempotency keys on seven create calls. API and MCP access need the Team plan or higher, so the free Basic plan cannot be used by an agent, and audit logs are Enterprise only."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/better-stack-vs-incident-io",
    "json": "https://www.anchorterminal.com/compare/better-stack-vs-incident-io.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/better-stack-vs-incident-io.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/better-stack-vs-incident-io.min.md"
  },
  "markdown": "incident.io API scores 68.9 (B) on agent readiness against Better Stack's 54.2 (C), and leads in 6 of 7 scored categories. Better Stack leads on payments \u0026 pricing. Both do incidents.\n\n- Better Stack: grade C, 54.2/100, rank #811 of 1349. Markdown https://www.anchorterminal.com/tools/better-stack.md · JSON https://www.anchorterminal.com/api/v1/tools/better-stack.json\n- incident.io API: grade B, 68.9/100, rank #242 of 1349. Markdown https://www.anchorterminal.com/tools/incident-io.md · JSON https://www.anchorterminal.com/api/v1/tools/incident-io.json\n- Best observability and incident tools for AI agents: https://www.anchorterminal.com/best/observability/index.md\n- All 49 observability comparisons: https://www.anchorterminal.com/compare/observability/index.md\n\n## Which one, for what\n\n### Better Stack (C)\n\nGood for: An agent that investigates incidents, queries logs and metrics with SQL, manages monitors and posts status page updates for a team already on Better Stack, with the Claude plugin as the shortest route.\n\nAhead on:\n- Payments \u0026 pricing, 40 against 10\n\nWatch for: No rate limit numbers in the API docs, and the only 429 guidance is to wait before retrying\n\n### incident.io API (B)\n\nGood for: Agents that declare and update incidents, page people, read on-call schedules and post status page incidents in an organisation that already pays for incident.io.\n\nAhead on:\n- Reliability, 90 against 50\n- Schema \u0026 documentation, 88 against 46\n- Agent ergonomics, 75 against 55\n- Maintenance \u0026 community, 83 against 71\n- Transparency \u0026 trust, 77 against 69\n\nWatch for: The pricing page marks API, webhooks and MCP as not included in the free Basic plan. Team starts at $19 per user a month\n\n\n## Why the edge\n\n### Schema \u0026 documentation: incident.io API +42\n\n- Better Stack (46): The server is closed and tools/list needs sign-in, so the tool schemas were not read, and no OpenAPI file was found for the REST APIs in the docs, the GitHub organisation or a search. Partial credit for a typed contract that exists but isn't public (10 of 25). No llms.txt on betterstack.com or its docs, and no Markdown twins (0). The MCP docs page gives one line per tool and says when some apply, such as Reopen incident within 24 hours and the instruction tools to call before Execute query. The REST reference pages describe each endpoint in a sentence (12 of 20). Inputs are typed only in the REST docs, with parameter tables, monitor types and status values listed in prose, and no schema to validate against (7 of 15). Every REST page carries a curl example and a 200 body; Create monitor documents a 422 with errors keyed by field, the Usage API a 401 and a 429, and no error code list exists (9 of 15). The APIs are versioned v2 in the path. The changelog is a product feed of 19 entries since March 2025 with the MCP server among them, with no API changelog and no deprecation notes (8 of 15). 10 + 0 + 12 + 7 + 9 + 8 = 46.\n- incident.io API (88): OpenAPI 3.0.3 description, public at api.incident.io/v1/openapiV3.json per the docs and read from docs.incident.io/openapi/latest.json, 284 operations and 777 schemas (25). llms.txt and a Markdown twin of every docs page (10). Every operation has a description, but the median is 65 characters and few say when not to use a call. List incidents is the exception, with worked filter examples (12). 262 enums, required fields marked and two free-form objects in the whole file (13). 4,014 example values and thirteen error statuses on every operation, though the shared error example pairs an unrelated code and message (13). Versions sit in the path per resource and the changelog is generated from the description file (15).\n\n### Reliability: incident.io API +40\n\n- Better Stack (50): Read with the hosted lines and scored on the remote MCP server at mcp.betterstack.com, which fronts the same service as the Incidents and Telemetry APIs. status.betterstack.com runs on Better Stack's own status page product with three components and a 90-day history (20). Between 5 August and 3 November 2026 it records delayed Telemetry data processing in the Europe region from 3 to 6 September in entries of 6 hours 19 minutes, 10 hours 10 minutes, 19 hours 13 minutes, 21 hours 45 minutes and 1 day, a 9-minute Telemetry degradation on 20 August, 39 minutes of wrong downtime notifications on 21 October and 8 minutes of dashboard unavailability on 2 November, every one labelled degraded, plus two migrations labelled maintenance (11 hours 13 minutes on 9 August and 17 hours). About four days of delayed log processing in one region is more than trivial and less than an outage of the API, so between minor-only and one major (15). No rate limit numbers were found in the API or MCP docs (0). The Usage API documents a 429 with the instruction to wait before retrying, with no Retry-After, no backoff guidance and no idempotency keys. `Upsert catalog records` is documented as not creating duplicates when repeated (5 of 15). No SLA. The terms supply the service as is, and the enterprise page lists SLA reporting as a feature (0). The MCP server was announced on 15 September 2025 and carries no beta label (10). 20 + 15 + 0 + 5 + 0 + 10 = 50.\n- incident.io API (90): Scored as a hosted API. status.incident.io lists components with history, API and MCP among them (20). The feed, re-read on 1 November 2026, has four incidents in the 90 days from 3 August, each on one component. Opsgenie webhook delays on 3 August, alert listing in the public API and dashboard on 18 August until a rollback (no duration given), Microsoft Teams latency from 13:00 to 15:08 UTC on 20 August and Slack Enterprise Grid login errors for a subset of customers on 2 October. All partial, nothing since 2 October (20). Limits are published with numbers, 1,200 requests a minute per key and lower figures for eight endpoints (15). 429 carries `Retry-After`, the body recommends exponential backoff, and seven create calls require an `idempotency_key` (15). The SLA commits to 99.9 per cent a month on Pro and Enterprise (10). The API carries no beta label (10).\n\n### Payments \u0026 pricing: Better Stack +30\n\n- Better Stack (40): Read with the hosted rubric. No x402, MPP or L402 (0). Per-unit prices are public without login, by GB and region for telemetry, per responder, per status page and per phone number (20). The Free plan has 10 monitors, a status page and 3 GB of logs, the signup page says Sign up for free and names no card, and we did not run the signup flow (20). A person signs up in a browser and mints a token or completes OAuth there (0). 0 + 20 + 20 + 0 = 40.\n- incident.io API (10): No x402, MPP or L402 (0). Plan prices per seat are public, Team at $19 and Pro at $25 a user a month, with no per-call price (10). The Basic plan is free, but the pricing page marks API, webhooks and MCP as not included, and the docs route trials through sales (0). A person signs up, pays and creates a key in the dashboard (0).\n\n### Agent ergonomics: incident.io API +20\n\n- Better Stack (55): 148 tools are named on the docs page, more than 30 (5). X-MCP-Tools-Only and X-MCP-Tools-Except narrow the list to a subset or a read-only set, documented for that purpose, and the server has no default toolset (add 10, so 15). REST lists take page and per_page up to 250 with first, last, prev and next links, and filters by url, pronounceable_name and team_name. Plan query windows splits a long telemetry query into windows, and Execute query takes SQL with its own LIMIT. No field selection (16 of 20). 422 bodies name the field that failed and 401 gives a message, but no error code list exists and MCP errors are not documented (10 of 20). No idempotency keys. `Upsert catalog records` avoids duplicates, Reopen incident is limited to 24 hours, and the annotations on the tools couldn't be read (6 of 20). Get workspace style defaults are not described. Two Terraform providers and logging clients exist, but no official API SDK in any language, and the Claude plugin's 16 skills carry the query recipes (8 of 15). 15 + 16 + 10 + 6 + 8 = 55.\n- incident.io API (75): Scored for the REST API. `page_size` sets response size, but no field selection was found and incident objects are large. The description file is 5.4 MB, with per-resource files as the smaller route (12). Cursor pagination on 41 list operations and operator filters such as `status_category[one_of]` (18). Errors carry a code, a message, the field at fault and a `request_id` (18). `idempotency_key` is required on seven create calls, and updates by PUT have no key (14). Seven official SDKs and a CLI with JSON output, with `idempotency_key` and `visibility` required to create an incident (13).\n\n### Maintenance \u0026 community: incident.io API +12\n\n- Better Stack (71): Read as a closed service. The Claude plugin reached 1.3.12 on 2 November 2026 and the changelog's newest entry is 29 October 2026 (30). Changelog entries on 10 August, 9 September, 1 October, 15 October and 29 October 2026 (20). Public changelog, hello@betterstack.com with a stated reply within a few hours, and a community site. GitHub issues on the plugin repositories were not read (10 of 15). The MCP server is not in the official MCP registry under a verified namespace, the only entries matching the name being third-party scrapers, and there is no official API SDK. The Claude, Cursor, Codex and Antigravity plugins and two Terraform providers are current (5 of 15). The Claude plugin repository is MIT with 12 commit days since June 2026, and we didn't read its CI (6 of 10). 30 + 20 + 10 + 5 + 6 = 71.\n- incident.io API (83): The API changelog's newest entry is 30 October 2026 (30). 53 dated entries between 3 August and 30 October 2026 (20). A public changelog, support by email and a Slack community, with reply times not checked (10). Seven official SDKs generated from the description file, TypeScript 2.40.0 and Python 2.39.0 both tagged 31 October 2026, and both READMEs say a schema check stops any break from shipping as a minor version (15). The SDK and CLI repositories have test workflows, and the two SDKs read were first tagged in September 2026 and reached a second major version within two weeks (8).\n\n### Transparency \u0026 trust: incident.io API +8\n\n- Better Stack (69): Closed service under Terms of Use (14 February 2025) that name Better Stack, Inc., a Delaware corporation, under New York law. The plugins and Terraform providers are MIT (15 of 30). The privacy policy (25 November 2022) gives no retention periods and says data is processed primarily in the EU, while the DPA (25 February 2025) names the United States and other locations and promises return or destruction on termination. Telemetry retention is a plan term (3 days free, 30 days in bundles). OpenAI is a subprocessor and nothing says whether customer data is used for model training (14 of 30). No deprecation policy. The terms allow changes at Better Stack's discretion with continued use as acceptance, and the changelog carries no deprecation notices (3 of 20). Schedule A of the DPA lists nine subprocessors with locations, the security page says data is stored in EU regions by default with custom locations for enterprise, and no notice period for new subprocessors is given (16 of 20). 15 + 14 + 3 + 16 = 48.\n- incident.io API (77): Closed service under published Terms and Conditions effective 1 August 2026, with the SDKs, CLI and skills plugin under MIT (17). Privacy policy, DPA, sub-processor list and an AI data handling page are public. The terms limit training on customer content to the customer's own benefit. The security FAQ's statement that no data leaves Europe disagrees with a sub-processor list naming 17 processors in the United States, and retention is stated in general terms (20). Deprecated endpoints carry a removal date in their descriptions and the docs give integrators three months, but the changelog shows removals with no earlier entry (17). 20 sub-processors with locations and purposes, hosting regions named, 15 days' notice of changes in the DPA (18).\n\n## Score by category\n\n| Category | Weight | Better Stack | incident.io API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 50 | 90 | incident.io API +40 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 46 | 88 | incident.io API +42 |\n| Agent ergonomics | 13% (16.2 this run) | 55 | 75 | incident.io API +20 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 64 | incident.io API +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 10 | Better Stack +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 71 | 83 | incident.io API +12 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 69 | 77 | incident.io API +8 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **54.2 · C** | **68.9 · B** | |\n\n## Facts side by side\n\n| Fact | Better Stack | incident.io API |\n| --- | --- | --- |\n| Kind | MCP server | HTTP API |\n| Vendor | Better Stack, Inc. | Pineapple Technology Ltd. (incident.io) |\n| Hosted endpoint | `https://mcp.betterstack.com` | `https://mcp.incident.io/mcp` |\n| Transports | Streamable HTTP | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Paid |\n| Price for incidents | not published | $19 per seat per month |\n| x402 | no | no |\n| Licence | Proprietary hosted service under the Better Stack Terms of Use. The Claude, Cursor and Codex plugins and the Terraform providers on GitHub are MIT | Proprietary service under incident.io's Terms and Conditions. The SDKs, the `inc` CLI and the skills plugin on GitHub are MIT |\n| Tools exposed | 148 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | no | yes |\n| Last release | 2026-11-02 | 2026-10-31 |\n| Terms last updated | no date given | 2026-08-01 |\n| Privacy policy last updated | no date given | 2024-02-15 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 6 stars | 1.3k npm/wk |\n| Agent reviews | none | 3.5/5 (4) |\n\n## How the scores have moved\n\n### Better Stack\n\nNo score change since it was listed.\n\n### incident.io API\n\n- no change on 27 October 2026: checklist\n\n## Verdicts\n\n**Better Stack.** One remote MCP server reaches incidents, on-call, monitors, status pages, logs, metrics, traces and errors with OAuth or a team-scoped token, and two headers cut its 148 tools down. Tool schemas and rate limits aren't published, there is no SLA, and audit logs of token use are a paid add-on.\n\n**incident.io API.** The REST API has a public OpenAPI description with 284 operations, numeric rate limits, `Retry-After` on 429 and required idempotency keys on seven create calls. API and MCP access need the Team plan or higher, so the free Basic plan cannot be used by an agent, and audit logs are Enterprise only.\n\n## Before you call either\n\n### Better Stack\n\n1. Connect with `claude mcp add betterstack --transport http https://mcp.betterstack.com` and sign in, or send a team-based API token as `Authorization: Bearer`; pick Read access unless the task writes\n2. Send `X-MCP-Tools-Only: monitors,monitor,incidents` or a similar list to keep the 148-tool list out of context, and `X-MCP-Tools-Except: remove_dashboard,remove_chart` to block deletes\n3. Call `Get query instructions` or `Plan query windows` before `Execute query`, since long time ranges are split into windows and nothing documents a result size limit\n4. No rate limit is published. Back off on a 429 and don't retry writes blindly, because there are no idempotency keys; `Upsert catalog records` is the one write documented as safe to repeat\n5. Reopening an incident only works within 24 hours of its resolution, and a comment can only be edited or removed by its author or an API token\n\n### incident.io API\n\n1. Send `Authorization: Bearer \u003ckey\u003e` to https://api.incident.io and call `GET /v1/identity` first to read the key's roles\n2. Send a fresh `idempotency_key` with every create call for incidents, incident updates, timeline items, escalations and status page incidents. A repeated key returns the first result\n3. Page with `page_size` and `after` until no cursor comes back. Do not stop at a short or empty page\n4. Keep `GET /v2/incidents` under 60 requests a minute and wait the seconds in `Retry-After` on 429\n5. Incident creation is limited to 10 an hour per key when a Slack or Teams channel is created, 300 an hour otherwise\n\n## Questions\n\n### Which is better for AI agents, Better Stack or incident.io API?\n\nincident.io API scores 68.9 (B) on agent readiness against Better Stack's 54.2 (C), and leads in 6 of 7 scored categories. Better Stack leads on payments \u0026 pricing.\n\n### Do Better Stack and incident.io API need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Better Stack and incident.io API without installing anything?\n\nYes. Better Stack has a hosted endpoint at https://mcp.betterstack.com and incident.io API at https://mcp.incident.io/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/better-stack-vs-incident-io.json, and with the fewest tokens: https://www.anchorterminal.com/compare/better-stack-vs-incident-io.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"better-stack\", \"b\": \"incident-io\"}`. From a terminal: `anchor compare better-stack incident-io`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/better-stack.json and https://www.anchorterminal.com/api/v1/tools/incident-io.json\n\n## Other comparisons with Better Stack or incident.io API\n\n- [Axiom MCP Server vs incident.io API](https://www.anchorterminal.com/compare/axiom-vs-incident-io.md)\n- [Better Stack vs PagerDuty MCP Server](https://www.anchorterminal.com/compare/better-stack-vs-pagerduty-mcp.md)\n- [Better Stack vs Rootly MCP Server](https://www.anchorterminal.com/compare/better-stack-vs-rootly-mcp.md)\n- [Causely MCP server vs incident.io API](https://www.anchorterminal.com/compare/causely-vs-incident-io.md)\n- [Datadog MCP Server vs incident.io API](https://www.anchorterminal.com/compare/datadog-mcp-vs-incident-io.md)\n- [Grafana MCP Server vs incident.io API](https://www.anchorterminal.com/compare/grafana-mcp-server-vs-incident-io.md)\n- [incident.io API vs New Relic MCP Server](https://www.anchorterminal.com/compare/incident-io-vs-new-relic.md)\n- [incident.io API vs PagerDuty MCP Server](https://www.anchorterminal.com/compare/incident-io-vs-pagerduty-mcp.md)\n- [incident.io API vs Rootly MCP Server](https://www.anchorterminal.com/compare/incident-io-vs-rootly-mcp.md)\n- [Axiom MCP Server vs Better Stack](https://www.anchorterminal.com/compare/axiom-vs-better-stack.md)\n- [Better Stack vs Causely MCP server](https://www.anchorterminal.com/compare/better-stack-vs-causely.md)\n- [Better Stack vs Datadog MCP Server](https://www.anchorterminal.com/compare/better-stack-vs-datadog-mcp.md)\n- [Better Stack vs Grafana MCP Server](https://www.anchorterminal.com/compare/better-stack-vs-grafana-mcp-server.md)\n- [Better Stack vs Honeycomb MCP](https://www.anchorterminal.com/compare/better-stack-vs-honeycomb-mcp.md)\n- [Better Stack vs New Relic MCP Server](https://www.anchorterminal.com/compare/better-stack-vs-new-relic.md)\n- [Better Stack vs Sentry MCP](https://www.anchorterminal.com/compare/better-stack-vs-sentry-mcp.md)\n",
  "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-04",
    "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"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Better Stack vs incident.io API",
        "url": ""
      }
    ],
    "description": "incident.io scores 68.9 (B) to Better Stack's 54.2 (C) for incidents. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Better Stack C 54.2",
      "incident.io API B 68.9",
      "scores"
    ],
    "h1": "Better Stack vs incident.io API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/better-stack-vs-incident-io",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Better Stack vs incident.io for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/better-stack-vs-incident-io"
  },
  "tokens": {
    "markdown": 5100,
    "slim": 3330
  },
  "version": 1
}
