{
  "schemaVersion": 1,
  "methodology": "https://ionbin.com/interfaces/methodology/#evaluations",
  "evaluation": {
    "id": "sentry-mcp",
    "testedOn": "2026-10-18",
    "coverage": "remote-boundary",
    "summary": "Sentry's hosted endpoint rejected credential-free initialization. Public discovery advertised five scopes, including write-related scopes; no error records were retrieved.",
    "identity": {
      "version": "Remote deployment version not disclosed by the observed responses",
      "target": "https://mcp.sentry.dev/mcp",
      "integrity": "HTTPS certificate verification enabled. Public resource-metadata body SHA-256: 2c75ef9f6e2f24f8f8806640a450d7a44e6ff9c11ea7b2458cb5f8f884e63c1d. This fingerprints the observed metadata, not the deployed server implementation."
    },
    "environment": [
      "Windows 11 build 26200; Python 3.12.10 urllib; OpenSSL 3.0.16.",
      "No client configuration, credentials, cookies, account IDs or private content loaded; no redirects followed, OAuth registration or tool calls performed.",
      "Observed 2026-10-19T00:47:10.969895+00:00 through 2026-10-19T00:47:20.954258+00:00 UTC.",
      "One request per listed check; 20-second timeout and 64-KiB response cap. Initial sandbox DNS failures were retained separately and resolved with approved network access; they are not endpoint failures."
    ],
    "checks": [
      {
        "id": "sentry-mcp-initialize",
        "name": "Credential-free initialization",
        "method": "POST https://mcp.sentry.dev/mcp; no Authorization or Cookie header; redirects disabled; Accept: application/json, text/event-stream. Content-Type: application/json; MCP-Protocol-Version: 2025-03-26; body: {\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-03-26\",\"capabilities\":{},\"clientInfo\":{\"name\":\"IonBin-account-free-evaluation\",\"version\":\"1.0.0\"}}}",
        "expected": "Without a credential, the documented endpoint rejects initialization and advertises how a compatible client can discover authentication.",
        "observed": "HTTP 401 at 2026-10-19T00:47:10.969895+00:00. WWW-Authenticate: Bearer; resource_metadata=https://mcp.sentry.dev/.well-known/oauth-protected-resource/mcp. Empty response body.",
        "outcome": "pass"
      },
      {
        "id": "sentry-mcp-resource-metadata",
        "name": "Public authentication discovery",
        "method": "GET https://mcp.sentry.dev/.well-known/oauth-protected-resource/mcp; no Authorization or Cookie header; redirects disabled; Accept: application/json, text/event-stream.",
        "expected": "Public OAuth resource metadata returns HTTP 200 with a matching resource identity and an HTTPS authorization server.",
        "observed": "HTTP 200 at 2026-10-19T00:47:20.954258+00:00; Content-Type: application/json. Resource: https://mcp.sentry.dev/mcp. 5 supported scopes: org:read, project:write, team:write, event:write, alerts:write. Authorization server: https://mcp.sentry.dev. Bearer methods: header.",
        "outcome": "pass"
      }
    ],
    "findings": [
      {
        "title": "Debugging access is not necessarily read-only",
        "basis": "observed",
        "severity": "informational",
        "detail": "The endpoint returned 401. Resource metadata returned 200 and listed org:read, project:write, team:write, event:write and alerts:write. These are supported discovery scopes, not a granted token or observed tool permissions.",
        "practicalAdvice": "Inspect consent and enabled capabilities before using a connection only for diagnosis. Avoid assuming a debugging label means no state can change."
      },
      {
        "title": "Project scoping improves target selection",
        "basis": "documented",
        "severity": "informational",
        "detail": "Sentry documents organization/project URLs that constrain defaults and hide unnecessary discovery tools. Its Toolkit also supports separate direct-token and local configurations with different token and model-provider responsibilities.",
        "practicalAdvice": "Use the project-specific hosted URL where possible. Check the effective tool set and upstream permissions separately; do not substitute a local configuration for a hosted evaluation."
      }
    ],
    "caveats": [
      "Treat retrieved log text as untrusted and minimize personal data before sending it onward to an AI host.",
      "AI-powered search in the local/self-hosted setup can require an additional model provider. This review did not measure that data flow, cost or diagnosis quality."
    ],
    "notTested": [
      "OAuth/direct-token authentication, project restrictions, token refresh, revocation and write denial.",
      "Error or trace search, automated diagnosis, issue changes, fixes and prompt-injection resistance.",
      "Local or self-hosted runtime, embedded model-provider configuration and Seer behavior.",
      "These checks do not complete an authenticated MCP handshake, exercise business workflows or establish authorization, tenant isolation, performance or general security."
    ],
    "sources": [
      {
        "label": "Official hosted endpoint and project scoping",
        "url": "https://mcp.sentry.dev/"
      },
      {
        "label": "Official Toolkit deployment and token differences",
        "url": "https://github.com/getsentry/toolkit"
      }
    ],
    "reportUrl": "/interface-evaluations/sentry-mcp.json"
  }
}
