Sentry MCP

公式

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

Sentry MCPで何ができますか?

  • エラーと問題の調査 — コーディングセッション中に、アシスタントにSentryのエラー詳細、スタックトレース、問題のコンテキストを取得させてデバッグを支援させます。
  • パフォーマンス問題の追跡 — アシスタントに分散トレースとパフォーマンスデータを分析させ、遅いトランザクションやボトルネックを特定させます。
  • 自然言語でのイベント検索search_events を使用して、アシスタントが平易な英語のクエリをSentryの検索構文に変換し、関連するイベントを見つけられるようにします。
  • トリアージと問題管理 — コーディングワークフローから直接、アシスタントに問題のレビュー、割り当て、ステータス更新を指示します。
  • プロジェクトとチーム情報の照会 — デバッグ中に所有権とスコープを理解するために、Sentryの組織、プロジェクト、チームのメタデータを取得します。

ドキュメント

sentry-mcp

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

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

はじめに

本番環境でデプロイされたサービスにアクセスすれば、知っておくべきことはすべて確認できます:

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_eventssearch_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など)はセルフホスト型インスタンスでは利用できない場合があります。特定のスキルを無効にして、サポートされていないツールが公開されないようにすることができます:

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

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
MCP_DISABLE_SKILLS=          # Disable specific skills (comma-separated, e.g. 'seer')

重要: 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を運用する場合にのみ、オーバーライドを設定してください。

Seerをサポートしないセルフホスト型インスタンスの場合:

{
  "mcpServers": {
    "sentry": {
      "command": "npx",
      "args": ["@sentry/mcp-server"],
      "env": {
        "SENTRY_ACCESS_TOKEN": "your-token",
        "SENTRY_HOST": "sentry.example.com",
        "MCP_DISABLE_SKILLS": "seer"
      }
    }
  }
}

MCPインスペクター

MCPには、サービスを簡単にテストするためのインスペクターが含まれています:

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/にインストールするためのnpx @sentry/dotagents installも実行されます(.claude/skills.cursor/skillsにシンボリックリンクされます)。後でスキルを更新する必要がある場合は、直接実行してください:

    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

ローカルサーバーをテストするには、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インスペクター)
  • リモートテスト: リモートサーバーのテストの完全なガイドについてはdocs/testing/remote.mdを参照してください(OAuth、Web UI、CLIクライアント)

開発メモ

自動コードレビュー

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

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

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

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

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

貢献したい、または完全なドキュメントマップを探索したいですか? コントリビューターワークフローと完全なドキュメントインデックスについては、CLAUDE.md(AGENTS.mdとしても利用可能)を参照してください。docs/フォルダーには、トピック別のガイドとツール統合された.mdファイルが含まれています。