Sentry 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.
Recommend MCP Servers 💡
Allyson
Allyson is an AI-powered SVG animation editor that integrates with the Model Context Protocol (MCP), enabling AI agents to generate and manage SVG animations and export production-ready Framer Motion code.
mcp-v8
MCP server that exposes a V8 JavaScript runtime as a tool for AI agents like Claude and Cursor. Supports persistent heap snapshots via S3 or local filesystem, and is ready for integration with modern AI development environments.
mcp-image-processor
A high-performance image processing server based on Model Context Protocol (MCP), offering rich image processing functions such as format conversion, resizing, and compression optimization.
mcp-access-point
Turn a web server into an MCP server in one click without making any code changes.
orshot
Orshot's MCP Server allows dynamic image generation from templates using prompts in Claude, Cursor, or any MCP-compatible application.
ssh-mcp
MCP server exposing SSH control for Linux servers via Model Context Protocol.