# Sentry

> Triage errors, inspect traces, and query events from Sentry.

[Canonical HTML page](https://top-mcps.com/mcp/sentry) · [server.json](https://top-mcps.com/mcp/sentry.json) · [methodology](https://top-mcps.com/about/methodology)

## Install

### Claude Desktop — `claude_desktop_config.json`

Paste under mcpServers. Fully quit and reopen Claude after editing.

```json
{
  "mcpServers": {
    "sentry": {
      "command": "npx",
      "args": [
        "-y",
        "@sentry/mcp-server"
      ],
      "env": {
        "SENTRY_AUTH_TOKEN": "${SENTRY_AUTH_TOKEN}",
        "SENTRY_ORG": "${SENTRY_ORG}"
      }
    }
  }
}
```

### Claude Code — `CLI or .mcp.json`

Run from your repo. Commit .mcp.json to share with your team.

```shell
# export SENTRY_AUTH_TOKEN=sntrys_your_token
# export SENTRY_ORG=your-org-slug
claude mcp add sentry -- npx -y @sentry/mcp-server
```

### Cursor — `.cursor/mcp.json`

Global path: ~/.cursor/mcp.json. Reload window after editing.

```json
{
  "mcpServers": {
    "sentry": {
      "command": "npx",
      "args": [
        "-y",
        "@sentry/mcp-server"
      ],
      "env": {
        "SENTRY_AUTH_TOKEN": "${SENTRY_AUTH_TOKEN}",
        "SENTRY_ORG": "${SENTRY_ORG}"
      }
    }
  }
}
```

### VS Code — `.vscode/mcp.json`

VS Code uses the "servers" key (not "mcpServers").

```jsonc
{
  "servers": {
    "sentry": {
      "command": "npx",
      "args": [
        "-y",
        "@sentry/mcp-server"
      ],
      "env": {
        "SENTRY_AUTH_TOKEN": "${SENTRY_AUTH_TOKEN}",
        "SENTRY_ORG": "${SENTRY_ORG}"
      }
    }
  }
}
```

### Windsurf — `~/.codeium/windsurf/mcp_config.json`

Open via Cascade → hammer icon → Configure.

```json
{
  "mcpServers": {
    "sentry": {
      "command": "npx",
      "args": [
        "-y",
        "@sentry/mcp-server"
      ],
      "env": {
        "SENTRY_AUTH_TOKEN": "${SENTRY_AUTH_TOKEN}",
        "SENTRY_ORG": "${SENTRY_ORG}"
      }
    }
  }
}
```

### Cline — `cline_mcp_settings.json`

Open via the Cline sidebar → MCP Servers → Edit.

```json
{
  "mcpServers": {
    "sentry": {
      "command": "npx",
      "args": [
        "-y",
        "@sentry/mcp-server"
      ],
      "env": {
        "SENTRY_AUTH_TOKEN": "${SENTRY_AUTH_TOKEN}",
        "SENTRY_ORG": "${SENTRY_ORG}"
      }
    }
  }
}
```

### Continue — `~/.continue/config.json`

Continue uses modelContextProtocolServers with a transport block.

```json
{
  "experimental": {
    "modelContextProtocolServers": [
      {
        "transport": {
          "type": "stdio",
          "command": "npx",
          "args": [
            "-y",
            "@sentry/mcp-server"
          ],
          "env": {
            "SENTRY_AUTH_TOKEN": "${SENTRY_AUTH_TOKEN}",
            "SENTRY_ORG": "${SENTRY_ORG}"
          }
        }
      }
    ]
  }
}
```

### Codex CLI — `~/.codex/config.toml`

Codex uses TOML. Each server is a [mcp_servers.<name>] subtable.

```shell
# ~/.codex/config.toml
[mcp_servers.sentry]
command = "npx"
args = [
  "-y",
  "@sentry/mcp-server",
]
env = { SENTRY_AUTH_TOKEN = "${SENTRY_AUTH_TOKEN}", SENTRY_ORG = "${SENTRY_ORG}" }
```

### Zed — `~/.config/zed/settings.json`

Zed calls them "context_servers". Settings live-reload on save.

```jsonc
{
  "context_servers": {
    "sentry": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@sentry/mcp-server"
        ]
      },
      "env": {
        "SENTRY_AUTH_TOKEN": "${SENTRY_AUTH_TOKEN}",
        "SENTRY_ORG": "${SENTRY_ORG}"
      }
    }
  }
}
```

### ChatGPT — `ChatGPT → Settings → Connectors → Developer mode`

Enable Developer mode (paid plans) and enter these values in the UI.

```json
{
  "name": "Sentry",
  "transport": "stdio",
  "command": "npx",
  "args": [
    "-y",
    "@sentry/mcp-server"
  ],
  "env": {
    "SENTRY_AUTH_TOKEN": "${SENTRY_AUTH_TOKEN}",
    "SENTRY_ORG": "${SENTRY_ORG}"
  }
}
```

## At a glance

- **Maintainer:** Sentry
- **Transport:** stdio, Streamable HTTP
- **Auth model:** API key
- **Required secrets:** SENTRY_AUTH_TOKEN, SENTRY_ORG
- **Supported clients:** Claude, Cursor, Any MCP-compatible client, Sentry accounts
- **License:** Apache-2.0
- **Language:** TypeScript
- **Latest version:** latest
- **Last verified:** 2026-04-19
- **GitHub stars:** 650 (fetched 2026-04-19T20:32:56.039Z)
- **Score:** 85/100 (rubric 2026-04 — see https://top-mcps.com/about/methodology)
- **Source:** https://github.com/getsentry/sentry-mcp

## Security & scope

- **Access scope:** network
- **Sandbox:** Read-only access to the Sentry API using the auth token passed in env. Scope is whatever the token was issued with.
- **Gotchas:**
  - Event payloads can contain customer PII — filter or scrub the output before piping it into other tools.

## Quick answer

**What it does.** Exposes Sentry's issue, event, and project APIs as tools — list issues, read traces and breadcrumbs, search events, and post comments or assign.

**Best for:**
- Incident triage
- On-call assistance
- Error-trend summaries
- Post-deploy regression checks
- Linking commits to issues

**Not for:**
- Paging workflows
- Metric dashboarding (use a dedicated BI MCP)

## Recipes

### Triage the top errors in production

```
Show me the 5 most frequent unresolved errors from the `production` project in the last 24 hours, with: title, event count, first-seen, and stack-trace top frame. Propose a triage order.
```

_Tested with: Claude Desktop, Cursor_

## Description

The official Sentry MCP turns production error data into an agent conversation. Fetch issues and their stack traces, search events by tags, comment on issues, and let agents triage alerts before they page a human.

## Why it matters

Error triage is a massive time sink for on-call. An agent armed with Sentry context can summarize the issue, link related commits, and propose a fix before you open the dashboard.

## Key features

- Issue + event queries by project
- Full stack-trace access
- Tag-based event search
- Comment and assign actions
- Official Sentry maintenance

## FAQ

### What scopes does the auth token need?

For read-only triage: `project:read`, `event:read`, `org:read`. Add `project:write` only if you want agents to assign issues or update status. Scoped auth tokens work — the broader "user auth token" is also supported but gives the agent more than it needs.

### Can it read full stack traces?

Yes. The MCP returns each event's complete stack trace, breadcrumbs, request data, and tags. For minified frontend traces it can resolve source maps if your project has them uploaded to Sentry.

### How does it handle issue fingerprinting?

The server returns Sentry's grouped issues — so agents see "this error has happened 23 times in the last hour" rather than 23 separate events. That signal is what makes auto-triage useful versus noisy.

### Does it work with self-hosted Sentry?

Yes. Set the `SENTRY_HOST` environment variable to your self-hosted URL (e.g. `https://sentry.mycompany.com`) and the MCP routes API calls there instead of sentry.io.

## Changelog

- **2026-04-19** — Refreshed install snippets and fact sheet; verified for 2026.
- **2025-04-01** — Initial directory listing.
