Provides access to Sentry's API across multiple instances (US, EU, and self-hosted) to manage organizations, teams, projects, and releases, while enabling advanced searches for issues, events, traces, and attachments.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Sentry MCP ServerFind the latest production errors in the web-app project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Sentry MCP Server
A stateless FastMCP server for Sentry API integration, supporting multiple Sentry instances (US, EU, self-hosted) with a single deployment.
Architecture
Features
Multi-instance support: Configure multiple Sentry accounts (US, EU, self-hosted)
Base tools + instance parameter: 11 tools that work across all instances
Stateless HTTP: Scales horizontally, no session state
Secure: Auth tokens stored in K8s secrets, never exposed to Claude
Tools
Tool | Description |
| Discovery - list all configured Sentry accounts |
| List organizations accessible with the token |
| List teams in an organization |
| List projects in an organization |
| List releases in an org/project |
| Get detailed info about a specific issue |
| Search for grouped issues in a project |
| Search events within a specific issue |
| Search events and perform aggregations |
| Get trace overview and span breakdown |
| Download attachments from an event |
Quick Start
1. Create Internal Integration in Sentry
For each Sentry organization you want to connect:
Go to Settings → Developer Settings → Internal Integrations
US:
https://sentry.io/settings/{org}/developer-settings/EU:
https://de.sentry.io/settings/{org}/developer-settings/
Click Create New Internal Integration
Configure:
Name:
Deeptrace MCPScopes (read-only):
org:readproject:readevent:readteam:readmember:read
Click Save and copy the generated token (starts with
sntrys_...)
2. Create Kubernetes Secrets
3. Deploy with Helm
Create a values.yaml:
Install:
4. Configure Satellite
Add to your satellite's values.yaml:
Configuration Reference
Instance Configuration
Field | Required | Description |
| No | Enable/disable instance (default: true) |
| Yes |
|
| Yes | Sentry organization slug |
| For custom | Full URL for self-hosted Sentry |
| Yes | K8s secret name with |
| No | Data residency label (e.g., "US", "EU") |
| No | Human-readable description |
| No | Team that owns this instance |
| No | Environment (production, staging) |
Self-Hosted Example
How It Works
Claude's Workflow
Discovery: Claude calls
list_sentry_instances()to see available Sentry accountsQuery: Claude uses the instance name when calling other tools
Multi-region: Claude queries both instances when context is ambiguous
Example conversation:
Why Internal Integration?
Auth Type | Tied To | Multi-Org? | Best For |
Personal Token | User | Yes (user's orgs) | Personal scripts |
Internal Integration | Organization | No (single org) | Automated systems |
Public Integration | OAuth | Yes (via OAuth) | Third-party SaaS |
Internal Integration is correct because:
Not tied to a person - survives employee departures
Organization-scoped - clear access boundaries
No OAuth complexity - simple bearer token
Fine-grained scopes - request only what you need
Development
Local Setup
Building Docker Image
Running Tests
Troubleshooting
"Unknown Sentry instance" Error
The instance name in your tool call doesn't match any configured instance.
Check
list_sentry_instances()outputVerify the instance is enabled in config
Ensure the K8s secret exists and has
auth_tokenkey
"No auth token configured" Error
The secret for the instance wasn't found or is empty.
Verify secret exists:
kubectl get secret <secretName> -n deeptraceCheck secret has
auth_tokenkey:kubectl get secret <secretName> -o yamlEnsure secret is mounted correctly in deployment
API Rate Limiting
Sentry has rate limits. If you hit them:
Reduce
limitparameter in search queriesAdd delays between bulk operations
Consider caching frequently-accessed data
License
MIT