{
  "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": "Better Stack scores 54.2 (C) on agent readiness against PagerDuty MCP Server's 48.6 (D), and leads in 4 of 7 scored categories. PagerDuty MCP Server leads on schema \u0026 documentation and security \u0026 auth.",
    "b": {
      "slug": "pagerduty-mcp",
      "name": "PagerDuty MCP Server",
      "vendor": "PagerDuty",
      "vendorUrl": "https://support.pagerduty.com/main/docs/pagerduty-mcp-server",
      "kind": "mcp",
      "category": "observability",
      "summary": "PagerDuty's hosted MCP server at mcp.pagerduty.com (EU at mcp.eu.pagerduty.com) for incidents, services, schedules, on-call, escalation policies, alerts and analytics, with OAuth or API-key auth.",
      "url": "https://www.anchorterminal.com/tools/pagerduty-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/pagerduty-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/pagerduty-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pagerduty-mcp.json",
      "dns": "pagerduty-mcp.grade.anchorterminal.com",
      "repo": "https://github.com/PagerDuty/pagerduty-mcp-server",
      "license": "Apache-2.0",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.pagerduty.com/mcp",
      "packages": [],
      "auth": "mixed",
      "authNotes": "OAuth with metadata discovery using static client credentials (no dynamic client registration), an OAuth bearer token such as a client-credentials app token, or an API key in `Authorization: Token token=\u003ckey\u003e`. Scoped OAuth apps use per-resource scopes and require PKCE. Some tools and filters need user-level rather than account-level auth. EU accounts use mcp.eu.pagerduty.com.",
      "pricing": "byo-plan",
      "pricingNotes": "No separate charge stated. The MCP docs list a PagerDuty account with Advanced Permissions as a prerequisite, and the pricing page includes Advanced Permissions in the PD Reliability Platform tiers (Starter $2,800 a year, Essential $12,000, Plus $48,000). Incident Management Free (5 users) and Professional ($21 per user a month billed yearly, $25 monthly) are also public. Whether the free plan can use MCP isn't stated (https://www.pagerduty.com/pricing/incident-management/).",
      "priceSummary": "Your plan",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No payments. Access follows the PagerDuty account.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://docs.pagerduty.com/ai-automation/advance/pagerduty-mcp-server",
      "capabilities": [
        "observability.incidents",
        "work.oncall"
      ],
      "tags": [
        "official",
        "hosted",
        "oauth",
        "incidents",
        "enterprise"
      ],
      "lastRelease": "2026-09-04",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 48.6,
        "grade": "D",
        "agentReady": false,
        "rank": 1029,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 49,
          "maintenance": 32,
          "payments": 10,
          "reliability": 52,
          "schema": 55,
          "security": 66,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Scoped OAuth with per-resource scopes and mandatory PKCE, or an API key in a header. No read-only mode on the hosted server, where the local one was read-only by default.",
        "bestFor": "Incident and on-call agents in PagerDuty shops.",
        "strengths": [
          "Scoped OAuth with per-resource scopes and mandatory PKCE, or an API key in a header",
          "US and EU endpoints documented",
          "REST limits published at 960 requests a minute with ratelimit-reset headers",
          "SOC 2 Type II, ISO 27001 and FedRAMP Low",
          "The local server was archived with a pointer to the hosted one"
        ],
        "weaknesses": [
          "No read-only mode on the hosted server, where the local one was read-only by default",
          "Hosted tool list, schemas and changelog aren't published",
          "No native tool filtering, so the full list loads whatever the OAuth scopes allow",
          "Advanced Permissions, a Reliability Platform feature from $2,800 a year, is listed as a prerequisite",
          "The official registry entry still points at the archived 0.2.1 package"
        ],
        "agentNotes": [
          "Use a scoped OAuth client with read scopes only if the agent shouldn't acknowledge, resolve or edit anything",
          "Use a user API key or user OAuth for `assigned` or `teams` filters. Account-level keys fail those calls",
          "Pass `limit` and a `since` date on incident lists. The default limit is 1,000 records",
          "EU accounts must use mcp.eu.pagerduty.com",
          "On 429, wait `ratelimit-reset` seconds. There's no Retry-After header"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 1.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 48.6
          }
        ],
        "editorialScores": {
          "ergonomics": 49,
          "maintenance": 32,
          "payments": 10,
          "reliability": 52,
          "schema": 55,
          "security": 66,
          "transparency": 48
        },
        "provenanceScore": 81,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-01",
            "maintenance": "2026-10-01",
            "payments": "2026-10-01",
            "reliability": "2026-10-01",
            "schema": "2026-10-01",
            "security": "2026-10-01",
            "transparency": "2026-10-01"
          },
          "last": "2026-10-01",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "claudeCode": "claude mcp add --transport http pagerduty https://mcp.pagerduty.com/mcp",
        "config": {
          "mcpServers": {
            "pagerduty": {
              "url": "https://mcp.pagerduty.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/observability.incidents",
        "tool": "https://letme.dev/pagerduty-mcp"
      },
      "area": "developer",
      "provenance": {
        "legalEntity": "PagerDuty, Inc.",
        "domain": "pagerduty.com",
        "domainRegistered": "2009-02-12",
        "endpointOnVendorDomain": true,
        "terms": "https://www.pagerduty.com/terms-of-service/",
        "privacy": "https://www.pagerduty.com/privacy-policy/",
        "statusPage": "https://status.pagerduty.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-26",
        "score": 81
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/pagerduty-mcp.json",
      "live": {
        "slug": "pagerduty-mcp",
        "probe": {
          "target": "https://mcp.pagerduty.com/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-11-04T20:47:05.993173952Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 662,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 611,
          "p95ms24h": 761,
          "samples24h": 246,
          "samples30d": 8081,
          "days": [
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "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": 253
            },
            {
              "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": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "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.pagerduty.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T17:14:28.46168989Z"
        },
        "githubStars": 79,
        "securityTxt": {
          "url": "https://pagerduty.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:29.416326102Z"
        },
        "domain": {
          "domain": "pagerduty.com",
          "registered": "2009-02-12",
          "source": "https://rdap.verisign.com/com/v1/domain/pagerduty.com",
          "checkedAt": "2026-11-01T14:07:07.028286945Z"
        },
        "pages": [
          {
            "url": "https://www.pagerduty.com/pricing/incident-management/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-04T08:43:24.747448469Z",
            "changedAt": "2026-11-04T08:43:24.747448469Z",
            "fingerprint": "c3c3d4ac7013"
          },
          {
            "url": "https://www.pagerduty.com/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-04T08:43:27.579742711Z",
            "changedAt": "2026-11-04T08:43:27.579742711Z",
            "fingerprint": "e15b0715f45c"
          },
          {
            "url": "https://www.pagerduty.com/terms-of-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-04T08:43:29.077009095Z",
            "changedAt": "2026-11-04T08:43:29.077009095Z",
            "fingerprint": "2a5b252fdd57"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.pagerduty.com/mcp",
          "checkedAt": "2026-11-04T01:22:51.384664772Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-09-28T21:55:53.970625875Z"
        },
        "github": {
          "repo": "pagerduty/pagerduty-mcp-server",
          "checkedAt": "2026-11-02T09:14:28.826986782Z",
          "stars": 79,
          "archived": true,
          "issuesEnabled": true,
          "pushedAt": "2026-09-04T13:56:14Z",
          "openIssues": 21,
          "openPRs": 17,
          "issuesOpened90d": 4,
          "issuesClosed90d": 0,
          "prsMerged90d": 3,
          "ci": {
            "branch": "main",
            "runs": 11,
            "success": 9,
            "failure": 2,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-07-09T18:42:31Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 19,
            "medianDays": 93
          }
        },
        "updatedAt": "2026-11-04T20:47:05.993173952Z"
      }
    },
    "edges": [
      {
        "by": 39,
        "category": "maintenance",
        "leads": "better-stack",
        "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": "No hosted changelog. The local server's last version bump was 1.1.0 on 7 July 2026, 86 days before this check (20). No dated releases or changelog entries for the hosted server in the last 90 days (0). Closed service with no public changelog. Support runs through PagerDuty's knowledge base and support desk (5). The official registry entry io.github.PagerDuty/pagerduty-mcp is still version 0.2.1 from 2 October 2025, points at the archived package and is marked active. The hosted server isn't registered (5). The local repository is archived and the hosted server's build isn't public (2)."
        },
        "scores": {
          "a": 71,
          "b": 32
        }
      },
      {
        "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 are public, Incident Management Free and Professional at $21 per user a month billed yearly, and the Reliability Platform from $2,800 a year. No per-call price and no statement that MCP costs nothing extra (10). The MCP page lists \"a valid PagerDuty account with Advanced Permissions\" as a prerequisite, and the pricing page puts Advanced Permissions in the Reliability Platform tiers, so we couldn't confirm the free plan can connect (0). A person signs up and creates a key or an OAuth client (0)."
        },
        "scores": {
          "a": 40,
          "b": 10
        }
      },
      {
        "by": 9,
        "category": "schema",
        "leads": "pagerduty-mcp",
        "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": "The hosted tool list and schemas aren't published. The docs say to call tools/list, and point at an MCP API reference on the developer portal we didn't read. The archived local server it replaced had typed Pydantic inputs, flattened in 1.0.0 to remove `$ref` (15). llms.txt and Markdown docs at docs.pagerduty.com (10). The local server's docstrings list each argument and its allowed values in prose, and we can't confirm the hosted text matches (10). Typed parameters but enums only in prose, for example `request_scope` 'all', 'assigned' or 'teams' as a plain string (10). The local repository had a per-domain tool reference with examples, retired with the archive (7). No changelog for the hosted server. The local CHANGELOG had one entry (3)."
        },
        "scores": {
          "a": 46,
          "b": 55
        }
      },
      {
        "by": 6,
        "category": "ergonomics",
        "leads": "better-stack",
        "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": "The hosted docs describe about 16 tool groups without counts. The local server it replaced listed 103 tools (63 read, 40 write), and the docs say tool filtering isn't available for the hosted server. Scoped OAuth makes calls fail rather than shrinking the list (5). Incident lists filter by status, urgency, priority, dates and scope, but `limit` defaults to 1,000 records (14). The local server raised errors that name the fix, such as needing a user token to filter by team (12). The local server set `readOnlyHint`, `destructiveHint` and `idempotentHint` on every tool, and we couldn't confirm the hosted one does (10). Few required parameters (8)."
        },
        "scores": {
          "a": 55,
          "b": 49
        }
      },
      {
        "by": 6,
        "category": "security",
        "leads": "pagerduty-mcp",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth sign-in with a Full access level chosen at consent, or API tokens that are global or scoped to one team with Read \u0026 write or read access, minted and deleted in Settings. No scopes finer than read and write, no expiry and no PKCE or dynamic registration documented (24 of 30). Read-level tokens and consent, the two header allowlists, and the rule that comments can only be changed by their author or a token. No confirmation step before Remove monitor, Remove dashboard, Resolve incident or Remove team member (12 of 20). Logs, spans, errors and replays are untrusted text returned to the model, and no injection guidance was found in the MCP docs (2 of 15). Audit logs record every API token request with actor_type api_token and the token's name, never its value, and can be streamed to a Telemetry source or any URL, though the pricing page lists audit logs as a $250 a month add-on (12 of 15). SOC 2 Type 2 with the report on request, third-party penetration tests, security@betterstack.com for disclosures. No security.txt (404), no bug bounty and no disclosure policy page (10 of 20). 24 + 12 + 2 + 12 + 10 = 60.",
          "b": "OAuth with metadata discovery and static client credentials, no dynamic client registration. Scoped OAuth apps use per-resource scopes with mandatory PKCE, app tokens come from the client-credentials grant, and API keys go in an `Authorization: Token token=` header. No secrets in URLs (28). The local server was read-only unless `--enable-write-tools`. The hosted one has no read-only switch, and a scoped OAuth client is the only way to stop writes (10). Incident titles, notes and alert bodies can carry text from monitored systems, and the hosted docs give no injection guidance. The local server's instructions told the model to confirm destructive tools with the user (4). Audit Trail Reporting comes with the Reliability Platform tiers (8). SOC 2 Type II, ISO 27001, FedRAMP Low and a responsible-disclosure page. No security.txt per the 30 September check (16)."
        },
        "scores": {
          "a": 60,
          "b": 66
        }
      }
    ],
    "facts": [
      {
        "a": "MCP server",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Better Stack, Inc.",
        "b": "PagerDuty",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.betterstack.com",
        "b": "https://mcp.pagerduty.com/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP",
        "b": "Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Your plan",
        "name": "Pricing"
      },
      {
        "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": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "148",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-02",
        "b": "2026-09-04",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2023-12-21",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2025-09-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "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": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "6 stars",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "1.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Better Stack scores 54.2 (C) on agent readiness against PagerDuty MCP Server's 48.6 (D), and leads in 4 of 7 scored categories. PagerDuty MCP Server leads on schema \u0026 documentation and security \u0026 auth.",
        "question": "Which is better for AI agents, Better Stack or PagerDuty MCP Server?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Better Stack and PagerDuty MCP Server need an API key?"
      },
      {
        "answer": "Yes. Better Stack has a hosted endpoint at https://mcp.betterstack.com and PagerDuty MCP Server at https://mcp.pagerduty.com/mcp.",
        "question": "Can an agent call Better Stack and PagerDuty MCP Server without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 55 against 49",
          "Payments \u0026 pricing, 40 against 10",
          "Maintenance \u0026 community, 71 against 32"
        ],
        "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": [
          "Schema \u0026 documentation, 55 against 46",
          "Security \u0026 auth, 66 against 60"
        ],
        "also": null,
        "goodFor": "Incident and on-call agents in PagerDuty shops.",
        "slug": "pagerduty-mcp",
        "watchFor": "No read-only mode on the hosted server, where the local one was read-only by default"
      }
    ],
    "history": {
      "better-stack": null,
      "pagerduty-mcp": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.2,
          "from": 48.4,
          "fromGrade": "D",
          "to": 48.6,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.1,
          "from": 48.5,
          "fromGrade": "D",
          "to": 48.4,
          "toGrade": "D"
        }
      ]
    },
    "job": {
      "capability": "observability.incidents",
      "name": "Incidents"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/axiom-vs-pagerduty-mcp.json",
        "title": "Axiom MCP Server vs PagerDuty MCP Server",
        "url": "https://www.anchorterminal.com/compare/axiom-vs-pagerduty-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/better-stack-vs-incident-io.json",
        "title": "Better Stack vs incident.io API",
        "url": "https://www.anchorterminal.com/compare/better-stack-vs-incident-io"
      },
      {
        "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-pagerduty-mcp.json",
        "title": "Causely MCP server vs PagerDuty MCP Server",
        "url": "https://www.anchorterminal.com/compare/causely-vs-pagerduty-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/datadog-mcp-vs-pagerduty-mcp.json",
        "title": "Datadog MCP Server vs PagerDuty MCP Server",
        "url": "https://www.anchorterminal.com/compare/datadog-mcp-vs-pagerduty-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/grafana-mcp-server-vs-pagerduty-mcp.json",
        "title": "Grafana MCP Server vs PagerDuty MCP Server",
        "url": "https://www.anchorterminal.com/compare/grafana-mcp-server-vs-pagerduty-mcp"
      },
      {
        "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/new-relic-vs-pagerduty-mcp.json",
        "title": "New Relic MCP Server vs PagerDuty MCP Server",
        "url": "https://www.anchorterminal.com/compare/new-relic-vs-pagerduty-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pagerduty-mcp-vs-rootly-mcp.json",
        "title": "PagerDuty MCP Server vs Rootly MCP Server",
        "url": "https://www.anchorterminal.com/compare/pagerduty-mcp-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": 2,
        "edge": "pagerduty-mcp",
        "key": "reliability",
        "name": "Reliability",
        "pagerduty-mcp": 52,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "better-stack": 46,
        "by": 9,
        "edge": "pagerduty-mcp",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "pagerduty-mcp": 55,
        "weight": 13
      },
      {
        "better-stack": 55,
        "by": 6,
        "edge": "better-stack",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "pagerduty-mcp": 49,
        "weight": 13
      },
      {
        "better-stack": 60,
        "by": 6,
        "edge": "pagerduty-mcp",
        "key": "security",
        "name": "Security \u0026 auth",
        "pagerduty-mcp": 66,
        "weight": 14
      },
      {
        "better-stack": 40,
        "by": 30,
        "edge": "better-stack",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "pagerduty-mcp": 10,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "better-stack": 71,
        "by": 39,
        "edge": "better-stack",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "pagerduty-mcp": 32,
        "weight": 7
      },
      {
        "better-stack": 69,
        "by": 4,
        "edge": "better-stack",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "pagerduty-mcp": 65,
        "weight": 7
      }
    ],
    "summary": "Better Stack scores 54.2 (C) on agent readiness against PagerDuty MCP Server's 48.6 (D), and leads in 4 of 7 scored categories. PagerDuty MCP Server leads on schema \u0026 documentation and security \u0026 auth. 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.",
      "pagerduty-mcp": "Scoped OAuth with per-resource scopes and mandatory PKCE, or an API key in a header. No read-only mode on the hosted server, where the local one was read-only by default."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/better-stack-vs-pagerduty-mcp",
    "json": "https://www.anchorterminal.com/compare/better-stack-vs-pagerduty-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/better-stack-vs-pagerduty-mcp.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/better-stack-vs-pagerduty-mcp.min.md"
  },
  "markdown": "Better Stack scores 54.2 (C) on agent readiness against PagerDuty MCP Server's 48.6 (D), and leads in 4 of 7 scored categories. PagerDuty MCP Server leads on schema \u0026 documentation and security \u0026 auth. 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- PagerDuty MCP Server: grade D, 48.6/100, rank #1029 of 1349. Markdown https://www.anchorterminal.com/tools/pagerduty-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/pagerduty-mcp.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- Agent ergonomics, 55 against 49\n- Payments \u0026 pricing, 40 against 10\n- Maintenance \u0026 community, 71 against 32\n\nWatch for: No rate limit numbers in the API docs, and the only 429 guidance is to wait before retrying\n\n### PagerDuty MCP Server (D)\n\nGood for: Incident and on-call agents in PagerDuty shops.\n\nAhead on:\n- Schema \u0026 documentation, 55 against 46\n- Security \u0026 auth, 66 against 60\n\nWatch for: No read-only mode on the hosted server, where the local one was read-only by default\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Better Stack +39\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- PagerDuty MCP Server (32): No hosted changelog. The local server's last version bump was 1.1.0 on 7 July 2026, 86 days before this check (20). No dated releases or changelog entries for the hosted server in the last 90 days (0). Closed service with no public changelog. Support runs through PagerDuty's knowledge base and support desk (5). The official registry entry io.github.PagerDuty/pagerduty-mcp is still version 0.2.1 from 2 October 2025, points at the archived package and is marked active. The hosted server isn't registered (5). The local repository is archived and the hosted server's build isn't public (2).\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- PagerDuty MCP Server (10): No x402, MPP or L402 (0). Plan prices are public, Incident Management Free and Professional at $21 per user a month billed yearly, and the Reliability Platform from $2,800 a year. No per-call price and no statement that MCP costs nothing extra (10). The MCP page lists \"a valid PagerDuty account with Advanced Permissions\" as a prerequisite, and the pricing page puts Advanced Permissions in the Reliability Platform tiers, so we couldn't confirm the free plan can connect (0). A person signs up and creates a key or an OAuth client (0).\n\n### Schema \u0026 documentation: PagerDuty MCP Server +9\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- PagerDuty MCP Server (55): The hosted tool list and schemas aren't published. The docs say to call tools/list, and point at an MCP API reference on the developer portal we didn't read. The archived local server it replaced had typed Pydantic inputs, flattened in 1.0.0 to remove `$ref` (15). llms.txt and Markdown docs at docs.pagerduty.com (10). The local server's docstrings list each argument and its allowed values in prose, and we can't confirm the hosted text matches (10). Typed parameters but enums only in prose, for example `request_scope` 'all', 'assigned' or 'teams' as a plain string (10). The local repository had a per-domain tool reference with examples, retired with the archive (7). No changelog for the hosted server. The local CHANGELOG had one entry (3).\n\n### Agent ergonomics: Better Stack +6\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- PagerDuty MCP Server (49): The hosted docs describe about 16 tool groups without counts. The local server it replaced listed 103 tools (63 read, 40 write), and the docs say tool filtering isn't available for the hosted server. Scoped OAuth makes calls fail rather than shrinking the list (5). Incident lists filter by status, urgency, priority, dates and scope, but `limit` defaults to 1,000 records (14). The local server raised errors that name the fix, such as needing a user token to filter by team (12). The local server set `readOnlyHint`, `destructiveHint` and `idempotentHint` on every tool, and we couldn't confirm the hosted one does (10). Few required parameters (8).\n\n### Security \u0026 auth: PagerDuty MCP Server +6\n\n- Better Stack (60): OAuth sign-in with a Full access level chosen at consent, or API tokens that are global or scoped to one team with Read \u0026 write or read access, minted and deleted in Settings. No scopes finer than read and write, no expiry and no PKCE or dynamic registration documented (24 of 30). Read-level tokens and consent, the two header allowlists, and the rule that comments can only be changed by their author or a token. No confirmation step before Remove monitor, Remove dashboard, Resolve incident or Remove team member (12 of 20). Logs, spans, errors and replays are untrusted text returned to the model, and no injection guidance was found in the MCP docs (2 of 15). Audit logs record every API token request with actor_type api_token and the token's name, never its value, and can be streamed to a Telemetry source or any URL, though the pricing page lists audit logs as a $250 a month add-on (12 of 15). SOC 2 Type 2 with the report on request, third-party penetration tests, security@betterstack.com for disclosures. No security.txt (404), no bug bounty and no disclosure policy page (10 of 20). 24 + 12 + 2 + 12 + 10 = 60.\n- PagerDuty MCP Server (66): OAuth with metadata discovery and static client credentials, no dynamic client registration. Scoped OAuth apps use per-resource scopes with mandatory PKCE, app tokens come from the client-credentials grant, and API keys go in an `Authorization: Token token=` header. No secrets in URLs (28). The local server was read-only unless `--enable-write-tools`. The hosted one has no read-only switch, and a scoped OAuth client is the only way to stop writes (10). Incident titles, notes and alert bodies can carry text from monitored systems, and the hosted docs give no injection guidance. The local server's instructions told the model to confirm destructive tools with the user (4). Audit Trail Reporting comes with the Reliability Platform tiers (8). SOC 2 Type II, ISO 27001, FedRAMP Low and a responsible-disclosure page. No security.txt per the 30 September check (16).\n\n## Score by category\n\n| Category | Weight | Better Stack | PagerDuty MCP Server | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 50 | 52 | PagerDuty MCP Server +2 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 46 | 55 | PagerDuty MCP Server +9 |\n| Agent ergonomics | 13% (16.2 this run) | 55 | 49 | Better Stack +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 66 | PagerDuty MCP Server +6 |\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 | 32 | Better Stack +39 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 69 | 65 | Better Stack +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **54.2 · C** | **48.6 · D** | |\n\n## Facts side by side\n\n| Fact | Better Stack | PagerDuty MCP Server |\n| --- | --- | --- |\n| Kind | MCP server | MCP server |\n| Vendor | Better Stack, Inc. | PagerDuty |\n| Hosted endpoint | `https://mcp.betterstack.com` | `https://mcp.pagerduty.com/mcp` |\n| Transports | Streamable HTTP | Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Your plan |\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 | Apache-2.0 |\n| Tools exposed | 148 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | no | no |\n| Last release | 2026-11-02 | 2026-09-04 |\n| Terms last updated | no date given | 2023-12-21 |\n| Privacy policy last updated | no date given | 2025-09-01 |\n| Customer content may train models | not found in the text | not found in the text |\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 | yes |\n| Popularity | 6 stars | none |\n| Agent reviews | none | 1.5/5 (2) |\n\n## How the scores have moved\n\n### Better Stack\n\nNo score change since it was listed.\n\n### PagerDuty MCP Server\n\n- +0.2 on 27 October 2026: checklist\n- -0.1 on 8 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**PagerDuty MCP Server.** Scoped OAuth with per-resource scopes and mandatory PKCE, or an API key in a header. No read-only mode on the hosted server, where the local one was read-only by default.\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### PagerDuty MCP Server\n\n1. Use a scoped OAuth client with read scopes only if the agent shouldn't acknowledge, resolve or edit anything\n2. Use a user API key or user OAuth for `assigned` or `teams` filters. Account-level keys fail those calls\n3. Pass `limit` and a `since` date on incident lists. The default limit is 1,000 records\n4. EU accounts must use mcp.eu.pagerduty.com\n5. On 429, wait `ratelimit-reset` seconds. There's no Retry-After header\n\n## Questions\n\n### Which is better for AI agents, Better Stack or PagerDuty MCP Server?\n\nBetter Stack scores 54.2 (C) on agent readiness against PagerDuty MCP Server's 48.6 (D), and leads in 4 of 7 scored categories. PagerDuty MCP Server leads on schema \u0026 documentation and security \u0026 auth.\n\n### Do Better Stack and PagerDuty MCP Server need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Better Stack and PagerDuty MCP Server without installing anything?\n\nYes. Better Stack has a hosted endpoint at https://mcp.betterstack.com and PagerDuty MCP Server at https://mcp.pagerduty.com/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/better-stack-vs-pagerduty-mcp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/better-stack-vs-pagerduty-mcp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"better-stack\", \"b\": \"pagerduty-mcp\"}`. From a terminal: `anchor compare better-stack pagerduty-mcp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/better-stack.json and https://www.anchorterminal.com/api/v1/tools/pagerduty-mcp.json\n\n## Other comparisons with Better Stack or PagerDuty MCP Server\n\n- [Axiom MCP Server vs PagerDuty MCP Server](https://www.anchorterminal.com/compare/axiom-vs-pagerduty-mcp.md)\n- [Better Stack vs incident.io API](https://www.anchorterminal.com/compare/better-stack-vs-incident-io.md)\n- [Better Stack vs Rootly MCP Server](https://www.anchorterminal.com/compare/better-stack-vs-rootly-mcp.md)\n- [Causely MCP server vs PagerDuty MCP Server](https://www.anchorterminal.com/compare/causely-vs-pagerduty-mcp.md)\n- [Datadog MCP Server vs PagerDuty MCP Server](https://www.anchorterminal.com/compare/datadog-mcp-vs-pagerduty-mcp.md)\n- [Grafana MCP Server vs PagerDuty MCP Server](https://www.anchorterminal.com/compare/grafana-mcp-server-vs-pagerduty-mcp.md)\n- [incident.io API vs PagerDuty MCP Server](https://www.anchorterminal.com/compare/incident-io-vs-pagerduty-mcp.md)\n- [New Relic MCP Server vs PagerDuty MCP Server](https://www.anchorterminal.com/compare/new-relic-vs-pagerduty-mcp.md)\n- [PagerDuty MCP Server vs Rootly MCP Server](https://www.anchorterminal.com/compare/pagerduty-mcp-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 PagerDuty MCP Server",
        "url": ""
      }
    ],
    "description": "Better Stack scores 54.2 (C) to PagerDuty's 48.6 (D) for incidents. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Better Stack C 54.2",
      "PagerDuty MCP Server D 48.6",
      "scores"
    ],
    "h1": "Better Stack vs PagerDuty MCP Server",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/better-stack-vs-pagerduty-mcp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Better Stack vs PagerDuty for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/better-stack-vs-pagerduty-mcp"
  },
  "tokens": {
    "markdown": 4500,
    "slim": 2780
  },
  "version": 1
}
