Above Prompt

All shelves / MCP servers

Sentry Mcp

getsentry/sentry-mcp · 724 stars · TypeScript

MCP server Agentic tooling for Sentry

Install

In your shell
npx @sentry/mcp-server@latest --access-token=sentry-user-token

These repos do not share one command. When an entry shows a command, it was copied as published. Check the repo's README before you run it.

Open the repo

Files

README.md

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 . The documentation index covers both products and shared contributor guidance.

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.

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-mcp

This 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-experimental

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_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.

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:

org:read
project:read
project:write
team:read
team:write
event:write

Launch the transport:

npx @sentry/mcp-server@latest --access-token=sentry-user-token

Need to connect to a self-hosted deployment? Add --host (hostname only, e.g. --host=sentry.example.com) when you run the command. For isolated internal deployments that only expose plain HTTP, also add --insecure-http.

Seer is not part of self-hosted Sentry, so the seer skill is left out of the default skill set whenever --host points at a non-sentry.io host. If your self-hosted deployment does run Seer, opt back in explicitly:

npx @sentry/mcp-server@latest --access-token=TOKEN --host=sentry.example.com --skills=inspect,seer

You can also disable any other skill to prevent unsupported tools from being exposed:

npx @sentry/mcp-server@latest --access-token=TOKEN --host=sentry.example.com --disable-skills=project-management

For self-hosted instances without TLS:

npx @sentry/mcp-server@latest --access-token=TOKEN --host=sentry.internal:9000 --insecure-http

#### 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_ACCESS_TOKEN=         # Required: Your Sentry auth token

# 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": "npx",
      "args": ["@sentry/mcp-server"],
      "env": {
        "SENTRY_ACCESS_TOKEN": "your-token",
        "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": "npx",
      "args": ["@sentry/mcp-server"],
      "env": {
        "SENTRY_ACCESS_TOKEN": "your-token",
        "SENTRY_HOST": "sentry.example.com",
        "MCP_SKILLS": "inspect,seer"
      }
    }
  }
}

MCP Inspector

MCP includes an Inspector, to easily test the service:

pnpm inspector

Enter the MCP server URL () 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:

  1. Set up environment and agent skills:
   make setup-env  # Creates .env files and installs shared agent skills

This also runs npx @sentry/dotagents install to install shared skills from getsentry/skills into .agents/skills/ (symlinked into .claude/skills and .cursor/skills). If you need to update skills later, run it directly:

   npx @sentry/dotagents install
  1. Create an OAuth App in Sentry (Settings => API => Applications):
  • Homepage URL: http://localhost:5173
  • Authorized Redirect URIs: http://localhost:5173/oauth/callback
  • Note your Client ID and generate a Client secret
  1. Configure your credentials:
  • Edit .env in the root directory and add either OPENAI_API_KEY or OPENROUTER_API_KEY
  • Edit packages/mcp-cloudflare/.env and add:
  • SENTRY_CLIENT_ID=your_development_sentry_client_id
  • SENTRY_CLIENT_SECRET=your_development_sentry_client_secret
  • COOKIE_SECRET=my-super-secret-cookie
  1. Start the development server:
   pnpm dev

Verify

Run the server locally to make it available at http://localhost:5173

pnpm dev

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 three test suites included: unit tests, evaluations, and manual testing.

Unit tests can be run using:

pnpm test

Evaluations 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 tools

Facts

Kind
MCP server
Repo
getsentry/sentry-mcp
Group
Uncategorized
Stars
724
Language
TypeScript
Last push
2026-10-09
Forks
161
Homepage
mcp.sentry.dev
Topics
agentic-workflow, cli, mcp-server, tag-production

More on this shelf

  1. 1Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
  2. 2Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k
  3. 3Gitmodelcontextprotocol/serversA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.85.8k
  4. 4Memorymodelcontextprotocol/serversA basic implementation of persistent memory using a local knowledge graph. This lets Claude remember information about the user across chats.85.8k
  5. 5Sequential Thinkingmodelcontextprotocol/serversAn MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.85.8k
  6. 6Timemodelcontextprotocol/serversA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.85.8k