Sentry MCP
OfficialUse Sentry MCP to give coding agents Sentry access for inspecting projects and debugging production errors.
List organizations, teams, and projects accessible to the user.
Fetch error/issue details, including stacktrace and message, by issue ID or issue URL.
Search recent errors in a specific file, sorted by last seen or occurrence count.
Create Sentry teams.
Create Sentry projects and get a new SENTRY_DSN.
Run it remotely with OAuth or a Sentry token, or locally via stdio; supports self-hosted Sentry and optional skill/tool filtering.
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
Click on "Deploy 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 show me the recent errors in my React 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 Toolkit
This repository contains the Sentry CLI, the Sentry MCP server, and shared packages. For the CLI, see the CLI guide and the published documentation at https://cli.sentry.dev/. The documentation index covers both products and shared contributor guidance.
The independent Docs MCP Worker provides documentation
search and AI-generated answers backed by docs.sentry.io.
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.
Related MCP server: Sentry MCP Server
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.
Claude Code Plugin
Install as a Claude Code plugin for automatic subagent delegation:
claude plugin marketplace add getsentry/sentry-mcp
claude plugin install sentry-mcp@sentry-mcpThis provides a sentry-mcp subagent that Claude automatically delegates to when you ask about Sentry errors, issues, traces, or performance.
For forward-looking tool variants and features:
claude plugin install sentry-mcp@sentry-mcp-experimentalStdio vs Remote
While this repository is focused on acting as an MCP service, we also support a stdio transport. It is the easiest way to run the MCP server against a self-hosted Sentry install.
Note: The AI-powered search tools (search_errors, search_traces, search_logs, search_issues, etc.) require an LLM provider (OpenAI, Azure OpenAI, Anthropic, or OpenRouter). These tools use natural language processing to translate queries into Sentry's query syntax. Without a configured provider, these specific tools will be unavailable, but all other tools will function normally.
Sentry CLI (recommended)
Run the stdio server with the Sentry CLI's sentry mcp command. It uses your CLI login, so the MCP config needs no token:
curl https://cli.sentry.dev/install -fsS | bash
sentry auth login
claude mcp add sentry -- sentry mcpThe CLI also installs with brew install getsentry/tools/sentry,
npm install -g sentry, or irm https://cli.sentry.dev/install.ps1 | iex on
Windows. See the CLI installation guide.
Other clients take the same command:
{
"mcpServers": {
"sentry": {
"command": "sentry",
"args": ["mcp"]
}
}
}Pass <org>/ or <org>/<project> to limit every call to one organization or
project (sentry mcp acme/, sentry mcp acme/web), and --experimental for
forward-looking tool variants. Run sentry mcp --help for every flag and
environment variable, or see the sentry mcp docs.
SENTRY_AUTH_TOKEN, when set, wins over the stored login. See
docs/operations/stdio-auth.md.
To use a token, create a User Auth Token in Sentry with the necessary scopes. As of writing this is:
org:read
project:read
project:write
team:read
team:write
event:writeNeed to connect to a self-hosted deployment? Log in to it with
sentry auth login --url https://sentry.example.com, then set
SENTRY_HOST (e.g. SENTRY_HOST=sentry.example.com)
in the MCP server's environment, which also scopes
SENTRY_AUTH_TOKEN to that server. For isolated internal
deployments that only expose plain HTTP, use an http://
SENTRY_URL instead. See the
CLI self-hosted guide.
Seer is not part of self-hosted Sentry, so the seer skill is left out of the
default skill set whenever the host is not sentry.io. If your
self-hosted deployment does run Seer, opt back in explicitly:
SENTRY_HOST=sentry.example.com sentry mcp --skills=inspect,seerYou can also disable any other skill to prevent unsupported tools from being exposed:
SENTRY_HOST=sentry.example.com sentry mcp --disable-skills=project-managementFor self-hosted instances without TLS:
SENTRY_URL=http://sentry.internal:9000 sentry mcpLegacy: npx @sentry/mcp-server
@sentry/mcp-server still
ships the same server, bundled without the rest of the CLI, for clients that
launch it through npx. It shares the CLI's login and takes the same flags and
environment variables:
npx @sentry/mcp-server@latest auth login # once, to sign in
npx @sentry/mcp-server@latest # uses that login
SENTRY_AUTH_TOKEN=sentry-user-token npx @sentry/mcp-server@latest--access-token / SENTRY_ACCESS_TOKEN from older releases still work but are
deprecated: they act as SENTRY_AUTH_TOKEN and print a warning on stderr.
Remote with an Explicit Sentry Token
Remote clients that support custom HTTP headers can pass an upstream Sentry API token directly to the Cloudflare transport:
{
"mcpServers": {
"sentry": {
"url": "https://mcp.sentry.dev/mcp",
"headers": {
"Authorization": "Sentry-Bearer ${SENTRY_ACCESS_TOKEN}"
}
}
}
}Sentry-Bearer is intentionally separate from Bearer: Bearer is reserved
for MCP OAuth access tokens. With Sentry-Bearer, the worker does not store,
validate, exchange, or refresh the upstream token. It forwards the token through
the same Sentry API calls used by OAuth-backed sessions, and the client or
upstream provider remains responsible for token lifetime and refresh.
Direct remote auth defaults to all active MCP skills. You can narrow the exposed
tools with ?skills=inspect,triage or ?disable-skills=seer.
Environment Variables
SENTRY_AUTH_TOKEN= # Optional after `auth login`; wins over a stored login
# LLM Provider Configuration (required for AI-powered search tools)
EMBEDDED_AGENT_PROVIDER= # Required when multiple provider keys are set: 'openai', 'azure-openai', 'anthropic', or 'openrouter'
OPENAI_API_KEY= # Required if using OpenAI
ANTHROPIC_API_KEY= # Required if using Anthropic
OPENROUTER_API_KEY= # Required if using OpenRouter
OPENROUTER_MODEL= # Optional OpenRouter model, defaults to 'openai/gpt-5.6-luna'
OPENROUTER_REASONING_EFFORT= # Optional OpenRouter reasoning effort, defaults to 'high'
# Optional overrides
SENTRY_HOST= # For self-hosted deployments (drops 'seer' from the default skills)
MCP_SKILLS= # Grant specific skills (comma-separated, e.g. 'inspect,seer')
MCP_DISABLE_SKILLS= # Disable specific skills (comma-separated, e.g. 'project-management')Important: Always set EMBEDDED_AGENT_PROVIDER to explicitly specify your LLM provider. Auto-detection based on API keys alone is deprecated and will be removed in a future release. See docs/operations/embedded-agents.md for detailed configuration options.
Example MCP Configuration
{
"mcpServers": {
"sentry": {
"command": "sentry",
"args": ["mcp"],
"env": {
"EMBEDDED_AGENT_PROVIDER": "openai",
"OPENAI_API_KEY": "sk-..."
}
}
}
}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.
Setting SENTRY_HOST to a self-hosted host also drops the seer skill from
the default set, since Seer is not available on self-hosted Sentry. For a
self-hosted deployment that does run Seer, opt in with MCP_SKILLS:
{
"mcpServers": {
"sentry": {
"command": "sentry",
"args": ["mcp"],
"env": {
"SENTRY_HOST": "sentry.example.com",
"MCP_SKILLS": "inspect,seer"
}
}
}
}Rate Limits
Tool calls are subject to the Sentry API's rate limits. The MCP server retries rate-limited requests, and transient Sentry server errors on read requests, after a short wait. When a limit lasts longer, the tool returns a Rate Limited message that says when to try again. Agents hit the per-second limits most often by running many Sentry tool calls in parallel, so run them one at a time if you see this message.
MCP Inspector
MCP includes an Inspector, to easily test the service:
pnpm inspectorEnter 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.
Local Development
To contribute changes, you'll need to set up your local environment:
Set up environment and agent skills:
make setup-env # Creates .env files and installs shared agent skillsThis also runs
npx @sentry/dotagents installto install shared skills from getsentry/skills into.agents/skills/(symlinked into.claude/skillsand.cursor/skills). If you need to update skills later, run it directly:npx @sentry/dotagents installCreate 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 eitherOPENAI_API_KEYorOPENROUTER_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
pnpm devTo 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 three test suites included: unit tests, evaluations, and manual testing.
Unit tests can be run using:
pnpm testEvaluations require a .env file in the project root with some config:
# .env (in project root)
OPENAI_API_KEY= # Use OpenAI-backed AI-powered tools
OPENROUTER_API_KEY= # Or use OpenRouter-backed AI-powered toolsNote: 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:
pnpm evalManual testing (preferred for testing MCP changes):
# Test with local dev server (default: http://localhost:5173)
pnpm -w run cli "who am I?"
# Test against production
pnpm -w run cli --mcp-host=https://mcp.sentry.dev "query"
# Test with local stdio mode (requires SENTRY_ACCESS_TOKEN)
pnpm -w run cli --access-token=TOKEN "query"Note: The CLI defaults to http://localhost:5173. Override with --mcp-host or set MCP_URL environment variable.
Comprehensive testing playbooks:
Stdio testing: See
docs/testing/stdio.mdfor complete guide on building, running, and testing the stdio implementation (IDEs, MCP Inspector)Remote testing: See
docs/testing/remote.mdfor complete guide on testing the remote server (OAuth, web UI, CLI client)
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? Start at the Toolkit documentation index
for CLI, MCP, and shared guides. See AGENTS.md for repository rules and
packages/cli/AGENTS.md for CLI-specific rules.
Available Tools
7 toolscreate_projectBInspect
Create a new project in Sentry, giving you access to a new SENTRY_DSN.
Use this tool when you need to:
Create a new project in a Sentry organization
Inputs: name (required), teamSlug (required), organizationSlug, platform.
create_teamBInspect
Create a new team in Sentry.
Use this tool when you need to:
Create a new team in a Sentry organization
Inputs: name (required), organizationSlug.
get_error_detailsAInspect
Retrieve error details from Sentry for a specific Issue ID, including the stacktrace and error message. Either issueId or issueUrl MUST be provided.
Use this tool when you need to:
Investigate a specific production error
Access detailed error information and stacktraces from Sentry
Inputs: issueId, issueUrl, organizationSlug.
list_organizationsBInspect
List all organizations that the user has access to in Sentry.
Use this tool when you need to:
View all organizations in Sentry
Inputs: no named parameters.
list_projectsBInspect
Retrieve a list of projects in Sentry.
Use this tool when you need to:
View all projects in a Sentry organization
Inputs: organizationSlug.
list_teamsAInspect
List all teams in an organization in Sentry.
Use this tool when you need to:
View all teams in a Sentry organization
Inputs: organizationSlug.
search_errors_in_fileAInspect
Search for errors recently occurring in a specific file. This is a suffix based search, so only using the filename or the direct parent folder of the file. The parent folder is preferred when the filename is in a subfolder or a common filename.
Use this tool when you need to:
Search for production errors in a specific file
Analyze error patterns and frequencies
Find recent or frequently occurring errors.
Inputs: filename (required), organizationSlug, sortBy.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Most tools have distinct purposes, such as create_project vs. list_projects, but get_error_details and search_errors_in_file could potentially overlap in error investigation scenarios, which might cause slight confusion. Overall, the boundaries are clear with only minor ambiguity.
All tools follow a consistent verb_noun naming pattern using snake_case, such as create_project, list_organizations, and search_errors_in_file. This uniformity makes the tool set predictable and easy to understand.
With 7 tools, the count is reasonable for a Sentry-focused server, covering core operations like project, team, and error management. However, it feels slightly thin as it lacks update or delete operations, which are common in such domains.
The tool set covers creation and listing for projects, teams, and organizations, plus error retrieval and search, but it has notable gaps. Missing update/delete tools for projects and teams, and no error resolution or comment features, limit full lifecycle coverage for Sentry's domain.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
The Telnyx MCP server is an official implementation of the Model Context Protocol that enables AI clients (like Claude Desktop, Cursor, and OpenAI Agents) to interact with Telnyx's telephony, messaging, and AI assistant APIs. It provides comprehensive capabilities including making and managing phone calls, sending SMS/MMS messages, purchasing and configuring phone numbers, creating AI assistants with custom instructions, managing cloud storage buckets, scraping and embedding website content, and handling integration secrets. The server exists as both a local implementation and a remotely hosted version, allowing developers to integrate real-world communication infrastructure directly into AI applications.
A Model Context Protocol server for Wix AI tools
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Related MCP Servers
- FlicenseBqualityDmaintenanceA Model Context Protocol server that retrieves and analyzes Sentry.io issues, allowing users to inspect error reports, stacktraces, and debugging information from their Sentry account.223-
- AlicenseBqualityFmaintenanceA Model Context Protocol server that enables AI assistants to interact with Sentry for error tracking and monitoring, allowing retrieval and analysis of error data, project management, and performance monitoring through the Sentry API.1121ISC
- AlicenseNot gradedqualityDmaintenanceA TypeScript implementation of a Model Context Protocol server that connects to Sentry error tracking service, allowing AI models to query and analyze error reports and events.17 npmMIT
- AlicenseNot gradedqualityDmaintenanceA TypeScript server that allows AI agents to access, retrieve, and analyze Sentry error data through the Modern Context Protocol.39 npm2MIT