Sentry MCP
公式Sentryの公式MCPサーバー。AIコーディングエージェント向けに、問題、エラーレポート、トレース、パフォーマンス監視データを調査するためのものです。
Sentry MCPで何ができますか?
- Sentryの問題を取得して調査する — エージェントに特定のIssueをIDで取得させるか、
get_issueとlist_issuesを使ってプロジェクトの未解決の最近のIssueを一覧表示させます。 - イベントの詳細とスタックトレースを確認する —
get_eventでエラーイベントを掘り下げ、完全なスタックトレース、ブレッドクラム、デバイスコンテキストを確認します。 - 自然言語でIssueを検索する — 問題を平易な英語で説明し(例:「チェックアウトのすべてのNullPointerExceptionを検索」)、エージェントに
search_issuesを介してSentryクエリに変換させます。 - 状態を更新してIssueをトリアージする — エージェントに
update_issueを介してIssueを直接解決、アーカイブ、または割り当てさせます。
ドキュメント
sentry-mcp
SentryのMCPサービスは、主に人間参加型(human-in-the-loop)のコーディングエージェント向けに設計されています。当社のツール選択と優先順位は、Sentryの全機能を提供する汎用MCPサーバーではなく、開発者のワークフローとデバッグのユースケースに焦点を当てています。
このリモートMCPサーバーは、Cursor、Claude Code、および類似の開発ツールなどのコーディングアシスタント向けに最適化された、上流のSentry APIへの中間層として機能します。これはリモートMCPに関するCloudflareの取り組みに基づいています。
はじめに
本番環境にデプロイされたサービスにアクセスすることで、必要な情報をすべて確認できます。
貢献を検討している場合、仕組みを学びたい場合、またはセルフホスト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_events、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など)は、セルフホストインスタンスでは利用できない場合があります。サポートされていないツールが公開されないように、特定のスキルを無効にすることができます。
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'
# 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-..."
}
}
}
}
host変数を設定しないままにすると、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 Inspector
MCPには、サービスを簡単にテストするためのInspectorが含まれています。
pnpm inspector
MCPサーバーのURL(http://localhost:5173)を入力し、接続をクリックします。これにより、認証フローがトリガーされます。
注意:127.0.0.1でインスペクターにアクセスする際にOAuthフローに問題がある場合は、http://localhost:6274にアクセスして、代わりにlocalhostを使用してみてください。
ローカル開発
変更を貢献するには、ローカル環境をセットアップする必要があります。
-
環境とエージェントスキルをセットアップします。
make setup-env # Creates .env files and installs shared agent skillsこれはまた、
npx @sentry/dotagents installを実行して、getsentry/skillsから共有スキルを.agents/skills/(.claude/skillsおよび.cursor/skillsにシンボリックリンクされています)にインストールします。後でスキルを更新する必要がある場合は、直接実行してください。npx @sentry/dotagents install -
SentryでOAuthアプリを作成します(設定 => API => アプリケーション):
- ホームページURL:
http://localhost:5173 - 承認済みリダイレクトURI:
http://localhost:5173/oauth/callback - クライアントIDをメモし、クライアントシークレットを生成します
- ホームページURL:
-
認証情報を設定します。
- ルートディレクトリの
.envを編集し、OPENAI_API_KEYまたはOPENROUTER_API_KEYを追加します packages/mcp-cloudflare/.envを編集し、以下を追加します。SENTRY_CLIENT_ID=your_development_sentry_client_idSENTRY_CLIENT_SECRET=your_development_sentry_client_secretCOOKIE_SECRET=my-super-secret-cookie
- ルートディレクトリの
-
開発サーバーを起動します。
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 agent mode (use_sentry tool only)
pnpm -w run cli --agent "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実装(IDE、MCP Inspector)のビルド、実行、テストに関する完全なガイドについては、
docs/testing/stdio.mdを参照してください - リモートテスト: リモートサーバー(OAuth、Web UI、CLIクライアント)のテストに関する完全なガイドについては、
docs/testing/remote.mdを参照してください
開発ノート
自動コードレビュー
このリポジトリは、プルリクエストの潜在的な問題を特定するのに役立つ自動コードレビューツール(Cursor BugBotなど)を使用しています。これらのツールは有益なフィードバックと提案を提供しますが、精度はまだ発展途上であり、誤検知を生成する可能性があるため、これらのチェックを必須にすることは推奨しません。
自動レビューは次のように扱う必要があります。
- ✅ コードレビュー中に考慮すべき有益な提案
- ✅ 議論と改善のための出発点
- ❌ PRをマージするためのブロック要件ではない
- ❌ 人間によるコードレビューの代替ではない
自動フィードバックに対処するときは、すべての提案に厳密に従うのではなく、根本的な懸念事項に焦点を当ててください。
コントリビューター向けドキュメント
貢献したり、完全なドキュメントマップを探索したりしたいですか?コントリビューターワークフローと完全なドキュメントインデックスについては、CLAUDE.md(AGENTS.mdとしても利用可能)を参照してください。docs/フォルダには、トピックごとのガイドとツール統合された.mdファイルが含まれています。