Sentry MCP Server
A Model Context Protocol (MCP) server for interacting with Sentry. This MCP server provides tools to interact with the Sentry API, allowing AI assistants to retrieve and analyze error data, manage projects, and monitor application performance.
Requirements
- Node.js (v14 or higher)
- npm or yarn
- Sentry account with API access
- Sentry authentication token with appropriate permissions
Setup
Install dependencies:
npm install
Using this within an IDE
This MCP has been verified to work against Codeium Windsurf.
Cursor is currently having issues with its MCP implementation; and this tool is not yet fully functional.
Using with Claude
To use this MCP server with Claude, add the following configuration to your Claude settings:
{
"mcpServers": {
"sentry": {
"command": "npx",
"args": ["ts-node", "/Users/<your-user-directory>/mcp-sentry-ts/index.ts"],
"env": {
"SENTRY_AUTH": "<YOUR_AUTH_TOKEN>"
}
}
}
}
- Update with your directory path in the
args
field.
- Replace
<YOUR_AUTH_TOKEN>
with your Sentry authentication token.
Available Tools
list_projects
Lists all accessible Sentry projects for a given organization.
Parameters:
organization_slug
(string, required): The slug of the organization to list projects from
view
(string, optional): View type, either "summary" or "detailed" (default: "detailed")
format
(string, optional): Output format, either "plain" or "markdown" (default: "markdown")
resolve_short_id
Retrieves details about an issue using its short ID.
Parameters:
organization_slug
(string, required): The slug of the organization the issue belongs to
short_id
(string, required): The short ID of the issue to resolve (e.g., PROJECT-123)
format
(string, optional): Output format, either "plain" or "markdown" (default: "markdown")
get_sentry_event
Retrieves and analyzes a specific Sentry event from an issue.
Parameters:
issue_id_or_url
(string, required): Either a full Sentry issue URL or just the numeric issue ID
event_id
(string, required): The specific event ID to retrieve
view
(string, optional): View type, either "summary" or "detailed" (default: "detailed")
format
(string, optional): Output format, either "plain" or "markdown" (default: "markdown")
list_error_events_in_project
Lists error events from a specific Sentry project.
Parameters:
organization_slug
(string, required): The slug of the organization the project belongs to
project_slug
(string, required): The slug of the project to list events from
view
(string, optional): View type, either "summary" or "detailed" (default: "detailed")
format
(string, optional): Output format, either "plain" or "markdown" (default: "markdown")
create_project
Creates a new project in Sentry and retrieves its client keys.
Parameters:
organization_slug
(string, required): The slug of the organization to create the project in
team_slug
(string, required): The slug of the team to assign the project to
name
(string, required): The name of the new project
platform
(string, optional): The platform for the new project
view
(string, optional): View type, either "summary" or "detailed" (default: "detailed")
format
(string, optional): Output format, either "plain" or "markdown" (default: "markdown")
list_project_issues
Lists issues from a specific Sentry project.
Parameters:
organization_slug
(string, required): The slug of the organization the project belongs to
project_slug
(string, required): The slug of the project to list issues from
view
(string, optional): View type, either "summary" or "detailed" (default: "detailed")
format
(string, optional): Output format, either "plain" or "markdown" (default: "markdown")
list_issue_events
Lists events for a specific Sentry issue.
Parameters:
organization_slug
(string, required): The slug of the organization the issue belongs to
issue_id
(string, required): The ID of the issue to list events from
view
(string, optional): View type, either "summary" or "detailed" (default: "detailed")
format
(string, optional): Output format, either "plain" or "markdown" (default: "markdown")
get_sentry_issue
Retrieves and analyzes a Sentry issue.
Parameters:
issue_id_or_url
(string, required): Either a full Sentry issue URL or just the numeric issue ID
view
(string, optional): View type, either "summary" or "detailed" (default: "detailed")
format
(string, optional): Output format, either "plain" or "markdown" (default: "markdown")
list_organization_replays
Lists replays from a specific Sentry organization.
Parameters:
organization_slug
(string, required): The slug of the organization to list replays from
project_ids
(string[], optional): List of project IDs to filter replays by
environment
(string, optional): Environment to filter replays by
stats_period
(string, optional): Time period for stats (e.g., "24h", "7d")
start
(string, optional): Start date for filtering replays
end
(string, optional): End date for filtering replays
sort
(string, optional): Field to sort replays by
query
(string, optional): Search query to filter replays
per_page
(number, optional): Number of replays per page
cursor
(string, optional): Cursor for pagination
view
(string, optional): View type, either "summary" or "detailed" (default: "detailed")
format
(string, optional): Output format, either "plain" or "markdown" (default: "markdown")
Running the Server
npx ts-node index.ts
Authentication
This tool requires a Sentry authentication token with appropriate permissions to access the Sentry API. You can generate a token in your Sentry account settings under "API Keys".
Error Handling
The server includes comprehensive error handling for:
- Missing authentication token
- API request failures
- Invalid parameters
- Network errors
All errors are logged to the console for debugging.