The Sentry MCP server acts as middleware to the Sentry API, enabling interaction with Sentry functionalities via an MCP client.
Capabilities include:
List organizations the user has access to
List teams within a specific organization
List projects within an organization
Get detailed error information for specific issues, including stacktraces
Search for errors occurring in specific files, with sorting options
Create new teams within an organization
Create new projects in Sentry
Leverages Cloudflare Workers for deployment of the MCP server, using Durable Objects for persistent state management and KV storage for token management
Integrates with GitHub's OAuth services for authentication, enabling secure access to the MCP server through GitHub credentials
Acts as a middleware to the upstream Sentry API provider, allowing AI agents to interact with Sentry's monitoring and error tracking capabilities
sentry-mcp
Sentry's MCP service is primarily designed for human-in-the-loop coding agents. Our tool selection and priorities are focused on developer workflows and debugging use cases, rather than providing a general-purpose MCP server for all Sentry functionality.
This remote MCP server acts as middleware to the upstream Sentry API, optimized for coding assistants like Cursor, Claude Code, and similar development tools. It's based on Cloudflare's work towards remote MCPs.
Getting Started
You'll find everything you need to know by visiting the deployed service in production:
If you're looking to contribute, learn how it works, or to run this for self-hosted Sentry, continue below.
Stdio vs Remote
While this repository is focused on acting as an MCP service, we also support a stdio transport. This is still a work in progress, but is the easiest way to adapt run the MCP against a self-hosted Sentry install.
Note: The AI-powered search tools (search_events and search_issues) require an OpenAI API key. These tools use natural language processing to translate queries into Sentry's query syntax. Without the API key, these specific tools will be unavailable, but all other tools will function normally.
To utilize the stdio transport, you'll need to create an User Auth Token in Sentry with the necessary scopes. As of writing this is:
Launch the transport:
Need to connect to a self-hosted deployment? Add --host (hostname only, e.g. --host=sentry.example.com) when you run the command.
Note: You can also use environment variables:
If you leave the host variable unset, the CLI automatically targets the Sentry SaaS service. Only set the override when you operate self-hosted Sentry.
MCP Inspector
MCP includes an Inspector, to easily test the service:
Enter the MCP server URL (http://localhost:5173) and hit connect. This should trigger the authentication flow for you.
Note: If you have issues with your OAuth flow when accessing the inspector on 127.0.0.1, try using localhost instead by visiting http://localhost:6274.
Related MCP server: Sentry MCP Server
Local Development
To contribute changes, you'll need to set up your local environment:
Set up environment files:
make setup-env # Creates both .env files from examplesCreate an OAuth App in Sentry (Settings => API => Applications):
Homepage URL:
http://localhost:5173Authorized Redirect URIs:
http://localhost:5173/oauth/callbackNote your Client ID and generate a Client secret
Configure your credentials:
Edit
.envin the root directory and add yourOPENAI_API_KEYEdit
packages/mcp-cloudflare/.envand add:SENTRY_CLIENT_ID=your_development_sentry_client_idSENTRY_CLIENT_SECRET=your_development_sentry_client_secretCOOKIE_SECRET=my-super-secret-cookie
Start the development server:
pnpm dev
Verify
Run the server locally to make it available at http://localhost:5173
To test the local server, enter http://localhost:5173/mcp into Inspector and hit connect. Once you follow the prompts, you'll be able to "List Tools".
Tests
There are two test suites included: basic unit tests, and some evaluations.
Unit tests can be run using:
Evals will require a .env file in the project root with some config:
Note: The root .env file provides defaults for all packages. Individual packages can have their own .env files to override these defaults during development.
Once that's done you can run them using:
Development Notes
Automated Code Review
This repository uses automated code review tools (like Cursor BugBot) to help identify potential issues in pull requests. These tools provide helpful feedback and suggestions, but we do not recommend making these checks required as the accuracy is still evolving and can produce false positives.
The automated reviews should be treated as:
✅ Helpful suggestions to consider during code review
✅ Starting points for discussion and improvement
❌ Not blocking requirements for merging PRs
❌ Not replacements for human code review
When addressing automated feedback, focus on the underlying concerns rather than strictly following every suggestion.
Contributor Documentation
Looking to contribute or explore the full documentation map? See CLAUDE.md (also available as AGENTS.md) for contributor workflows and the complete docs index. The docs/ folder contains the per-topic guides and tool-integrated .mdc files.