Sentry MCP

公式

Sentryの公式MCPサーバー。AIコーディングエージェント向けに、問題、エラーレポート、トレース、パフォーマンス監視データを調査するためのものです。

Sentry MCPで何ができますか?

  • エラーの調査と問題解決 — アシスタントにSentryのエラー詳細、スタックトレース、問題のコンテキストを取得させ、デバッグに役立てます。
  • パフォーマンス問題の追跡 — アシスタントに分散トレースとパフォーマンスデータを分析させ、ボトルネックを特定します。
  • 自然言語での検索 — AIを活用した検索で、探している内容を平易な英語で説明するだけで、エラー、トレース、ログ、問題を照会できます。
  • トリアージとプロジェクト管理 — アシスタントにプロジェクトの健全性を検査させたり、チームの割り当てを確認したり、プロジェクトレベルの設定を処理させます。
  • セルフホスト型Sentryの設定 — MCPサーバーを自身のSentryインスタンスに接続し、inspectやseerなどの有効化するスキルを調整します。

ホスト型 MCP サーバー

npx add-mcp 'https://mcp.sentry.dev/mcp'

Claude Code、Codex、Cursor などにインストールできます

ドキュメント

Sentry Toolkit

このリポジトリには、Sentry CLI、Sentry MCP サーバー、および共有パッケージが含まれています。CLI については、CLI ガイド と https://cli.sentry.dev/ で公開されているドキュメントを参照してください。ドキュメントインデックス は、両方のプロダクトと共有のコントリビューター向けガイダンスをカバーしています。

Sentry MCP

Sentry の MCP サービスは、主に人間が介在するコーディングエージェント向けに設計されています。ツールの選択と優先順位は、Sentry の全機能を提供する汎用 MCP サーバーではなく、開発者のワークフローとデバッグのユースケースに焦点を当てています。

このリモート MCP サーバーは、上流の Sentry API へのミドルウェアとして機能し、Cursor、Claude Code、および類似の開発ツールなどのコーディングアシスタント向けに最適化されています。リモート MCP に関する Cloudflare の取り組み に基づいています。

はじめに

本番環境にデプロイされたサービスにアクセスすれば、必要な情報はすべて見つかります:

https://mcp.sentry.dev

コントリビュート、仕組みの学習、またはセルフホスト型 Sentry でこれを実行したい場合は、以下を続けてください。

Claude Code プラグイン

自動サブエージェント委任のための Claude Code プラグインとしてインストール:

claude plugin marketplace add getsentry/sentry-mcp
claude plugin install sentry-mcp@sentry-mcp

これにより、Sentry のエラー、イシュー、トレース、またはパフォーマンスについて質問すると、Claude が自動的に委任する sentry-mcp サブエージェントが提供されます。

将来を見据えたツールバリアントと機能については:

claude plugin install sentry-mcp@sentry-mcp-experimental

Stdio とリモートの比較

このリポジトリは MCP サービスとして機能することに焦点を当てていますが、stdio トランスポートもサポートしています。これはまだ進行中の作業ですが、セルフホスト型 Sentry インストールに対して MCP を実行する最も簡単な方法です。

注: AI を活用した検索ツール (search_errors、search_traces、search_logs、search_issues など) には LLM プロバイダー (OpenAI、Azure OpenAI、Anthropic、または OpenRouter) が必要です。これらのツールは自然言語処理を使用してクエリを Sentry のクエリ構文に変換します。プロバイダーが設定されていない場合、これらの特定のツールは利用できませんが、他のすべてのツールは正常に機能します。

stdio トランスポートを利用するには、必要なスコープを持つユーザー認証トークンを Sentry で作成する必要があります。これを書いている時点では、次のとおりです:

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

トランスポートを起動:

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

セルフホスト型デプロイメントに接続する必要がありますか? コマンドを実行するときに --host (ホスト名のみ、例: --host=sentry.example.com) を追加してください。プレーンな HTTP のみを公開する分離された内部デプロイメントの場合は、--insecure-http も追加してください。

Seer はセルフホスト型 Sentry の一部ではないため、--host が非 sentry.io ホストを指している場合は、seer スキルはデフォルトのスキルセットから除外されます。セルフホスト型デプロイメントで Seer を実行している場合は、明示的にオプトインしてください:

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

サポートされていないツールが公開されないように、他のスキルを無効にすることもできます:

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

TLS を使用しないセルフホスト型インスタンスの場合:

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

明示的な Sentry トークンを使用したリモート

カスタム HTTP ヘッダーをサポートするリモートクライアントは、上流の Sentry API トークンを Cloudflare トランスポートに直接渡すことができます:

{
  "mcpServers": {
    "sentry": {
      "url": "https://mcp.sentry.dev/mcp",
      "headers": {
        "Authorization": "Sentry-Bearer ${SENTRY_ACCESS_TOKEN}"
      }
    }
  }
}

Sentry-Bearer は意図的に Bearer とは分離されています: Bearer は MCP OAuth アクセストークン用に予約されています。Sentry-Bearer を使用すると、ワーカーは上流トークンを保存、検証、交換、または更新しません。OAuth でバックアップされたセッションで使用されるのと同じ Sentry API 呼び出しを通じてトークンを転送し、トークンの有効期間と更新はクライアントまたは上流プロバイダーが責任を負います。

直接リモート認証は、デフォルトでアクティブなすべての MCP スキルに適用されます。公開されるツールは、?skills=inspect,triage または ?disable-skills=seer で絞り込むことができます。

環境変数

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')

重要: LLM プロバイダーを明示的に指定するために、常に EMBEDDED_AGENT_PROVIDER を設定してください。API キーのみに基づく自動検出は非推奨であり、将来のリリースで削除される予定です。詳細な設定オプションについては、docs/operations/embedded-agents.md を参照してください。

MCP 設定の例

{
  "mcpServers": {
    "sentry": {
      "command": "npx",
      "args": ["@sentry/mcp-server"],
      "env": {
        "SENTRY_ACCESS_TOKEN": "your-token",
        "EMBEDDED_AGENT_PROVIDER": "openai",
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

ホスト変数を設定しない場合、CLI は自動的に Sentry SaaS サービスをターゲットにします。セルフホスト型 Sentry を運用する場合にのみ、オーバーライドを設定してください。

SENTRY_HOST をセルフホスト型ホストに設定すると、Seer がセルフホスト型 Sentry で利用できないため、seer スキルもデフォルトセットから削除されます。Seer を実行するセルフホスト型デプロイメントの場合は、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 には、サービスを簡単にテストするための Inspector が含まれています:

pnpm inspector

MCP サーバー URL (http://localhost:5173) を入力して、接続を押します。これにより、認証フローがトリガーされます。

注: 127.0.0.1 でインスペクターにアクセスする際に OAuth フローで問題が発生した場合は、http://localhost:6274 にアクセスして localhost を代わりに使用してみてください。

ローカル開発

変更にコントリビュートするには、ローカル環境をセットアップする必要があります:

  1. 環境とエージェントスキルをセットアップ:

    make setup-env  # Creates .env files and installs shared agent skills
    

    これにより、getsentry/skills から共有スキルを .agents/skills/ (.claude/skills と .cursor/skills にシンボリックリンク) にインストールする npx @sentry/dotagents install も実行されます。後でスキルを更新する必要がある場合は、直接実行してください:

    npx @sentry/dotagents install
    
  2. Sentry で OAuth アプリを作成 (設定 => API => アプリケーション):

    • ホームページ URL: http://localhost:5173
    • 承認済みリダイレクト URI: http://localhost:5173/oauth/callback
    • クライアント ID をメモし、クライアントシークレットを生成
  3. 資格情報を設定:

    • ルートディレクトリの .env を編集し、OPENAI_API_KEY または OPENROUTER_API_KEY を追加
    • packages/mcp-cloudflare/.env を編集して追加:
      • SENTRY_CLIENT_ID=your_development_sentry_client_id
      • SENTRY_CLIENT_SECRET=your_development_sentry_client_secret
      • COOKIE_SECRET=my-super-secret-cookie
  4. 開発サーバーを起動:

    pnpm dev
    

検証

サーバーをローカルで実行して、http://localhost:5173 で利用できるようにします

pnpm dev

ローカルサーバーをテストするには、Inspector に http://localhost:5173/mcp を入力して接続を押します。プロンプトに従うと、「ツールを一覧表示」できるようになります。

テスト

ユニットテスト、評価、手動テストの 3 つのテストスイートが含まれています。

ユニットテスト は次を使用して実行できます:

pnpm test

評価 には、プロジェクトルートにいくつかの設定を含む .env ファイルが必要です:

# .env (in project root)
OPENAI_API_KEY=      # Use OpenAI-backed AI-powered tools
OPENROUTER_API_KEY=  # Or use OpenRouter-backed AI-powered tools

注: ルートの .env ファイルは、すべてのパッケージにデフォルトを提供します。個々のパッケージは、開発中にこれらのデフォルトをオーバーライドするために独自の .env ファイルを持つことができます。

それが完了したら、次を使用して実行できます:

pnpm eval

手動テスト (MCP の変更をテストする場合に推奨):

# 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"

注: CLI はデフォルトで http://localhost:5173 になります。--mcp-host でオーバーライドするか、MCP_URL 環境変数を設定します。

包括的なテストプレイブック:

  • Stdio テスト: stdio 実装のビルド、実行、テストの完全なガイドについては、docs/testing/stdio.md を参照してください (IDE、MCP Inspector)
  • リモートテスト: リモートサーバーのテストの完全なガイドについては、docs/testing/remote.md を参照してください (OAuth、Web UI、CLI クライアント)

開発ノート

自動コードレビュー

このリポジトリは、自動コードレビューツール (Cursor BugBot など) を使用して、プルリクエストの潜在的な問題を特定します。これらのツールは役立つフィードバックと提案を提供しますが、精度はまだ進化しており、誤検知が発生する可能性があるため、これらのチェックを必須にすることはお勧めしません。

自動レビューは次のように扱う必要があります:

  • ✅ コードレビュー中に考慮すべき役立つ提案
  • ✅ 議論と改善の出発点
  • ❌ PR のマージをブロックする要件ではない
  • ❌ 人間によるコードレビューの代替ではない

自動フィードバックに対処するときは、すべての提案に厳密に従うのではなく、根本的な懸念事項に焦点を当ててください。

コントリビューター向けドキュメント

コントリビュートしたいですか? CLI、MCP、共有ガイドについては、Toolkit ドキュメントインデックス から始めてください。リポジトリのルールについては AGENTS.md を、CLI 固有のルールについては packages/cli/AGENTS.md を参照してください。