About Sentry MCP Server
Sentry MCP Server gives development teams access to Sentry release health and issue details from MCP-enabled environments. It supports Sentry.io and self-hosted Sentry instances.
Key features
- 01List recent project releases
- 02View release crash-free rates and sessions
- 03Fetch issue details by ID
- 04List issues for a release
- 05Inspect server configuration and connection
Use cases
- 01Check issues introduced by a release
- 02Review crash-free release health
- 03Investigate a Sentry issue during development
- 04Verify Sentry server configuration
MCP support
Exposes Sentry release, health, and issue queries as tools for MCP clients. It connects to Sentry through a configured API endpoint and token.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMESentry MCP Server
Integrate Sentry error tracking directly into your development workflow with this Model Context Protocol (MCP) server.
Gain insights into your application's stability by accessing Sentry release health data and issue details without leaving your MCP-enabled environment (like VS Code with the Cline extension).
Key Features
- Release Monitoring: List recent releases and view their associated new issue counts.
- Release Health: Get detailed statistics for specific releases, including crash-free rates and session counts.
- Issue Investigation: Fetch detailed information about specific Sentry issues by their ID.
- Targeted Issue Listing: Retrieve all issues associated with a particular release version.
- Flexible Connection: Works with both Sentry.io (cloud) and self-hosted Sentry instances.
- Server Inspection: Includes a tool to verify configuration and server status.
Setup
-
Clone the Repository: Clone this repository to your local machine:
git clone https://github.com/srcgrp/sentry-mcp-server.git cd sentry-mcp-server -
Install Dependencies & Build: Install the necessary dependencies and build the server:
npm install npm run buildThis will create the executable server script in the
build/directory. -
Configure MCP Client: Add the server to your MCP client's configuration file (e.g.,
cline_mcp_settings.jsonfor Cline). Make sure to use the absolute path to the builtindex.jsfile:{ "mcpServers": { "sentry-local": { // You can choose any name here "command": "node", "args": [ "/path/to/your/cloned/sentry-mcp-server/build/index.js" // <-- IMPORTANT: Use absolute path here ], "env": { // Environment variables can be set here OR loaded from a .env file (see next step) }, "disabled": false, // Ensure it's enabled "autoApprove": [] } // ... other servers } }Restart your MCP client (e.g., reload VS Code) after modifying the settings.
-
Create
.envFile: In the root directory of the clonedsentry-mcp-serverproject, create a.envfile with the following required variables:# Required Sentry Credentials & Configuration SENTRY_AUTH_TOKEN="YOUR_SENTRY_AUTH_TOKEN" # Generate from Sentry > User Settings > API Keys SENTRY_BASE_URL="YOUR_SENTRY_API_ENDPOINT" # e.g., https://sentry.io/api/0/ or https://your-sentry-instance.com/api/0/ SENTRY_ORG_SLUG="your-organization-slug" # Your Sentry organization slugReplace the placeholder values with your actual Sentry details.
Configuration Details
The server relies on these environment variables (typically set in the .env file):
SENTRY_AUTH_TOKEN(Required): Your Sentry API authentication token. Grants the server permission to access your Sentry data.SENTRY_BASE_URL(Required): The base URL for the Sentry API. For Sentry.io cloud users, this is usuallyhttps://sentry.io/api/0/. For self-hosted instances, use your instance's API endpoint.SENTRY_ORG_SLUG(Required): The unique identifier (slug) for your organization within Sentry. This is used as the default organization for API calls unless overridden in specific tool arguments.
Available Tools
Here's a breakdown of the tools provided by this server, along with usage examples:
1. inspect_sentry
- Description: Inspects the server's current configuration, verifies the connection to Sentry (using the provided token and URL), lists available capabilities, and shows basic environment details. Useful for debugging setup issues.
- Input Schema: None (no arguments required).
- Example Usage (MCP Client):
{ "tool_name": "inspect_sentry", "arguments": {} } - Example Output:
{ "configuration": { "baseUrl": "https://sentry.io/api/0/", "authTokenConfigured": true, "defaultOrg": "your-organization-slug" }, "capabilities": [ "list_recent_releases", "get_releases", "get_release_health", "get_issue", "get_release_issues" // inspect_sentry is excluded from this list ], "environment": { "nodeVersion": "v18.12.0", "platform": "linux", "memoryUsage": { /* ... */ } } }
2. list_recent_releases
- Description: Retrieves a list of the most recent releases for a specified project, sorted by date (newest first). Includes the number of new issues introduced in each release.
- Input Schema:
project_slug(string, required): The slug of the Sentry project.org_slug(string, optional): The organization slug. Defaults toSENTRY_ORG_SLUGfrom your.env.count(number, optional): The maximum number of releases to return. Defaults to 5.
- Example Usage (MCP Client):
{ "tool_name": "list_recent_releases", "arguments": { "project_slug": "your-frontend-project", "count": 3 } } - Example Output:
[ { "version": "[email protected]", "date": "2023-10-27T10:30:00Z", "new_issues": 2, "type": "desktop" }, { "version": "[email protected]", "date": "2023-10-26T15:00:00Z", "new_issues": 0, "type": "desktop" }, { "version": "[email protected]", "date": "2023-10-25T09:00:00Z", "new_issues": 5, "type": "mobile" } ]
3. get_releases
- Description: Fetches all releases for a project, sorted by date (newest first).
- Input Schema:
project_slug(string, required): The slug of the Sentry project.org_slug(string, optional): The organization slug. Defaults toSENTRY_ORG_SLUG.
- Example Usage (MCP Client):
{ "tool_name": "get_releases", "arguments": { "project_slug": "your-backend-service" } } - Example Output: (Similar structure to
list_recent_releases, but potentially many more entries)
4. get_release_health
- Description: Provides health statistics for a specific release version (or the latest release if no version is specified). Includes crash-free rates, session counts, and new issue counts.
- Input Schema:
project_slug(string, required): The slug of the Sentry project.org_slug(string, optional): The organization slug. Defaults toSENTRY_ORG_SLUG.release_version(string, optional): The specific release version string. If omitted, fetches data for the latest release.
- Example Usage (MCP Client):
{ "tool_name": "get_release_health", "arguments": { "project_slug": "your-frontend-project", "release_version": "[email protected]" } } - Example Output:
{ "version": "[email protected]", "new_issues": 2, "crash_free_rate": 99.5, // Example value "sessions": 15000, // Example value "stats": { /* Detailed Sentry stats object */ } }
5. get_issue
- Description: Retrieves basic details (ID, title, permalink) for a specific Sentry issue using its ID.
- Input Schema:
issue_id(string, required): The numerical ID of the Sentry issue.org_slug(string, required): The organization slug where the issue resides.project_slug(string, required): The project slug where the issue resides.
- Example Usage (MCP Client):
{ "tool_name": "get_issue", "arguments": { "issue_id": "123456789", "org_slug": "your-organization-slug", "project_slug": "your-frontend-project" } } - Example Output:
{ "id": "123456789", "title": "TypeError: Cannot read properties of undefined (reading 'map')", "permalink": "https://your-organization-slug.sentry.io/issues/123456789/" }
6. get_release_issues
- Description: Fetches a list of all issues associated with a specific release version (or the latest release if no version is specified).
- Input Schema:
project_slug(string, required): The slug of the Sentry project.org_slug(string, optional): The organization slug. Defaults toSENTRY_ORG_SLUG.release_version(string, optional): The specific release version string. If omitted, fetches issues for the latest release.
- Example Usage (MCP Client):
{ "tool_name": "get_release_issues", "arguments": { "project_slug": "your-backend-service", "release_version": "[email protected]" } } - Example Output: (List of issue objects, similar structure to the output of
get_issue)[ { "id": "987654321", "title": "Database connection timeout", "permalink": "..." }, { "id": "987654322", "title": "NullPointerException in UserServic", "permalink": "..." } // ... more issues ]
License
This project is licensed under the MIT License - see the LICENSE file for details (assuming you will add an MIT license file).
Support & Contributing
For issues, questions, or feature requests, please open an issue on the GitHub repository.
Contributions are welcome! Please follow standard fork-and-pull-request workflows.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.