search_eventsLABSCO SUMMARY
Natural-language search is the product here, and it is why one deployment has a dependency the other does not.
search_events translates a question like slow checkout requests this week into Sentry's own query syntax, which removes the main barrier to using Sentry from an agent. On the hosted service that translation is included; run it yourself over stdio and you are supplying the LLM provider that does it. Scoping the URL to a project is the other setting worth getting right — it trims the discovery tools and stops every call needing an organization slug.
What it is
Sentry's hosted MCP service, aimed at coding agents rather than at general Sentry administration. It is a remote server at https://mcp.sentry.dev/mcp that can be scoped to one organization or one project, with a stdio transport available for self-hosted Sentry.
What you get
- Events searched in plain language and translated into Sentry's query syntax — across errors, spans, logs and metrics datasets — search_events
- Issues searched the same way, without knowing the query language — search_issues
- Anything addressed by its Sentry URL fetched directly, so a link pasted into chat resolves — get_sentry_resource
- Traces opened in full when a single request needs following end to end — get_trace_details
- AI conversations as a first-class shape: one row per conversation rather than per span, then the whole transcript by id — search_ai_conversations and get_ai_conversation_details, reached through the catalog with execute_sentry_tool rather than listed as top-level tools
- Organizations and projects discovered when the connection is not already scoped — find_organizations, find_projects
- A searchable catalog for the rarer operations, so they do not all sit in the tool list — search_sentry_tools, execute_sentry_tool
- Project management through that catalog, when the skill is granted: projects created and updated, and team access added or removed — create_project, update_project, add_team_to_project, remove_team_from_project
Requirements
A Sentry account, authorized over OAuth on first connection — the hosted endpoint needs nothing else. Scoping the URL to an organization, or better a project, makes tools default to it and hides the discovery tools you no longer need; ?experimental=1 turns on forward-looking variants. A Claude Code plugin installs it as a subagent that gets delegated Sentry questions automatically. For self-hosted Sentry there is a stdio transport driven by a user auth token — but the natural-language search tools need an LLM provider configured (OpenAI, Azure OpenAI, Anthropic or OpenRouter), and without one those specific tools are unavailable while the rest work normally.
Setup effort
One command plus a key — npx @sentry/mcp-server@latest --access-token=sentry-user-token, then supply credentials
USE CASES
Chasing an error your users are hitting without learning Sentry's query syntax
Describe what you are looking for — the timeframe, the symptom — and read the matching events.
Picking up an issue someone pasted a link to
Resolve the Sentry URL directly rather than hunting for the same issue in the UI.
Following one slow request through the system
Search the spans dataset for the pattern, then open the trace behind the worst example.
Working out why an agent feature is failing users
Search AI conversations rather than raw spans, then read the transcript of the ones that failed.
Finding the project a service reports into
Discover the organizations and projects available before scoping a query to one.
Setting up a project for a new service
Find the operation in the catalog and run it, giving the right team access at the same time.
10 tools
Listed in project docs. Your client may show a different list.
search_issuesget_sentry_resourceget_trace_detailsfind_organizationsfind_projectssearch_sentry_toolsexecute_sentry_toolsearch_docsget_docBEFORE YOU INSTALL
What to know first
Tools you get
10 tools named in the project's documentation.
Requires
- npx on PATH
- SENTRY_ACCESS_TOKEN in your environment
- For the AI-powered search tools over stdio: one LLM provider key — OPENAI_API_KEY, ANTHROPIC_API_KEY or OPENROUTER_API_KEY — with EMBEDDED_AGENT_PROVIDER naming it
INSTALLATION
Connect your client
Server setup
npx
npx @sentry/mcp-server@latest --access-token=sentry-user-tokenHosted endpoint
https://mcp.sentry.dev/mcpAdd this hosted endpoint to your MCP client using the credentials listed under Requirements.
MCP Clients
Claude Code — remote
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp/<YOUR_ORGANIZATION_SLUG>/<YOUR_PROJECT_SLUG><YOUR_ORGANIZATION_SLUG> and <YOUR_PROJECT_SLUG> are your Sentry organization and project slugs, or shorten the URL. https://mcp.sentry.dev/mcp/<YOUR_ORGANIZATION_SLUG> scopes it to one organization, and https://mcp.sentry.dev/mcp on its own is not scoped. Scoping to a project hides the discovery tools you no longer need. The first connection opens a Sentry sign-in.
Only the self-hosted stdio package (@sentry/mcp-server) needs this, not the hosted endpoint: its AI-powered search tools need one LLM provider key — OPENAI_API_KEY, ANTHROPIC_API_KEY or OPENROUTER_API_KEY — with EMBEDDED_AGENT_PROVIDER naming the provider. None of the stdio blocks here sets one; add both to the block's "env" section. Without a key, only those search tools are unavailable and the rest work normally.
Claude Code — plugin
claude plugin marketplace add getsentry/sentry-mcp
claude plugin install sentry-mcp@sentry-mcpOnly the self-hosted stdio package (@sentry/mcp-server) needs this, not the hosted endpoint: its AI-powered search tools need one LLM provider key — OPENAI_API_KEY, ANTHROPIC_API_KEY or OPENROUTER_API_KEY — with EMBEDDED_AGENT_PROVIDER naming the provider. None of the stdio blocks here sets one; add both to the block's "env" section. Without a key, only those search tools are unavailable and the rest work normally.
Claude Desktop — stdio, Cursor — stdio
{
"mcpServers": {
"sentry": {
"command": "npx",
"args": [
"-y",
"@sentry/mcp-server"
],
"env": {
"SENTRY_ACCESS_TOKEN": "<YOUR_SENTRY_ACCESS_TOKEN>",
"SENTRY_HOST": "sentry.io"
}
}
}
}Only the self-hosted stdio package (@sentry/mcp-server) needs this, not the hosted endpoint: its AI-powered search tools need one LLM provider key — OPENAI_API_KEY, ANTHROPIC_API_KEY or OPENROUTER_API_KEY — with EMBEDDED_AGENT_PROVIDER naming the provider. None of the stdio blocks here sets one; add both to the block's "env" section. Without a key, only those search tools are unavailable and the rest work normally.
Cursor — remote
{
"mcpServers": {
"sentry": {
"url": "https://mcp.sentry.dev/mcp/<YOUR_ORGANIZATION_SLUG>/<YOUR_PROJECT_SLUG>"
}
}
}<YOUR_ORGANIZATION_SLUG> and <YOUR_PROJECT_SLUG> are your Sentry organization and project slugs, or shorten the URL. https://mcp.sentry.dev/mcp/<YOUR_ORGANIZATION_SLUG> scopes it to one organization, and https://mcp.sentry.dev/mcp on its own is not scoped. Scoping to a project hides the discovery tools you no longer need. The first connection opens a Sentry sign-in.
Only the self-hosted stdio package (@sentry/mcp-server) needs this, not the hosted endpoint: its AI-powered search tools need one LLM provider key — OPENAI_API_KEY, ANTHROPIC_API_KEY or OPENROUTER_API_KEY — with EMBEDDED_AGENT_PROVIDER naming the provider. None of the stdio blocks here sets one; add both to the block's "env" section. Without a key, only those search tools are unavailable and the rest work normally.
VS Code
{
"servers": {
"sentry": {
"command": "npx",
"args": [
"@sentry/mcp-server@latest",
"--access-token=<YOUR_ACCESS_TOKEN>"
]
}
}
}Only the self-hosted stdio package (@sentry/mcp-server) needs this, not the hosted endpoint: its AI-powered search tools need one LLM provider key — OPENAI_API_KEY, ANTHROPIC_API_KEY or OPENROUTER_API_KEY — with EMBEDDED_AGENT_PROVIDER naming the provider. None of the stdio blocks here sets one; add both to the block's "env" section. Without a key, only those search tools are unavailable and the rest work normally.
Any MCP client — remote
{
"mcpServers": {
"sentry": {
"url": "https://mcp.sentry.dev/mcp",
"headers": {
"Authorization": "Sentry-Bearer ${SENTRY_ACCESS_TOKEN}"
}
}
}
}Values written as ${…} are filled in only by clients that expand variables.
Only the self-hosted stdio package (@sentry/mcp-server) needs this, not the hosted endpoint: its AI-powered search tools need one LLM provider key — OPENAI_API_KEY, ANTHROPIC_API_KEY or OPENROUTER_API_KEY — with EMBEDDED_AGENT_PROVIDER naming the provider. None of the stdio blocks here sets one; add both to the block's "env" section. Without a key, only those search tools are unavailable and the rest work normally.
MCP Inspector — self-hosted
{
"mcpServers": {
"sentry-mcp-server": {
"command": "npx",
"args": [
"@sentry/mcp-server@latest",
"--access-token=<YOUR_ACCESS_TOKEN>",
"--host=<YOUR_SENTRY_HOST>"
]
}
}
}Only the self-hosted stdio package (@sentry/mcp-server) needs this, not the hosted endpoint: its AI-powered search tools need one LLM provider key — OPENAI_API_KEY, ANTHROPIC_API_KEY or OPENROUTER_API_KEY — with EMBEDDED_AGENT_PROVIDER naming the provider. None of the stdio blocks here sets one; add both to the block's "env" section. Without a key, only those search tools are unavailable and the rest work normally.