Sentry MCP Server について
Sentry MCP Serverは、MCP対応環境からSentryのリリース健全性と問題の詳細を参照できる開発チーム向けのサーバーです。Sentry.ioとセルフホスト型Sentryに対応しています。
主な機能
- 01プロジェクトの最近のリリース一覧
- 02リリースのクラッシュフリー率とセッション数の確認
- 03IDによる問題詳細の取得
- 04リリースに紐づく問題の一覧
- 05サーバー設定と接続の検査
活用シーン
- 01リリースで発生した問題の確認
- 02リリースのクラッシュフリー状況の確認
- 03開発中のSentry問題の調査
- 04Sentryサーバー設定の検証
MCP 対応
MCPクライアントにSentryのリリース、健全性、問題を照会するツールを提供します。設定したAPIエンドポイントとトークンでSentryに接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Sentry MCP サーバー
この Model Context Protocol(MCP)サーバーを使って、Sentry のエラートラッキングを開発ワークフローに直接統合できます。
MCP 対応環境(Cline 拡張機能を使った VS Code など)を離れることなく、Sentry のリリースヘルスデータやイシューの詳細にアクセスして、アプリケーションの安定性を把握できます。
主な機能
- リリースの監視: 最近のリリースを一覧表示し、それぞれに関連付けられた新規イシュー数を確認できます。
- リリースヘルス: クラッシュフリー率やセッション数など、特定のリリースに関する詳細な統計情報を取得できます。
- イシューの調査: ID を指定して、特定の Sentry イシューの詳細情報を取得できます。
- 対象を絞ったイシューの一覧表示: 特定のリリースバージョンに関連付けられたすべてのイシューを取得できます。
- 柔軟な接続: Sentry.io(クラウド)とセルフホストの Sentry インスタンスの両方で動作します。
- サーバーの検査: 設定とサーバーの状態を確認するツールが含まれています。
セットアップ
-
リポジトリをクローンする: このリポジトリをローカルマシンにクローンします。
git clone https://github.com/srcgrp/sentry-mcp-server.git cd sentry-mcp-server -
依存関係をインストールしてビルドする: 必要な依存関係をインストールし、サーバーをビルドします。
npm install npm run buildこれにより、実行可能なサーバースクリプトが
build/ディレクトリに作成されます。 -
MCP クライアントを設定する: サーバーを MCP クライアントの設定ファイル(Cline の場合は
cline_mcp_settings.jsonなど)に追加します。ビルドされたindex.jsファイルへの絶対パスを必ず指定してください。{ "mcpServers": { "sentry-local": { // ここには任意の名前を指定できます "command": "node", "args": [ "/path/to/your/cloned/sentry-mcp-server/build/index.js" // <-- 重要:ここでは絶対パスを指定してください ], "env": { // 環境変数はここで設定するか、.env ファイルから読み込めます(次の手順を参照) }, "disabled": false, // 有効になっていることを確認してください "autoApprove": [] } // ... その他のサーバー } }設定を変更した後は、MCP クライアントを再起動してください(例:VS Code を再読み込み)。
-
.envファイルを作成する: クローンしたsentry-mcp-serverプロジェクトのルートディレクトリに、次の必須変数を含む.envファイルを作成します。# Sentry の認証情報と設定(必須) SENTRY_AUTH_TOKEN="YOUR_SENTRY_AUTH_TOKEN" # Sentry > User Settings > API Keys から生成 SENTRY_BASE_URL="YOUR_SENTRY_API_ENDPOINT" # 例:https://sentry.io/api/0/ または https://your-sentry-instance.com/api/0/ SENTRY_ORG_SLUG="your-organization-slug" # Sentry の組織スラッグプレースホルダーの値を実際の Sentry 情報に置き換えてください。
設定の詳細
サーバーは次の環境変数を使用します(通常は .env ファイルで設定します)。
SENTRY_AUTH_TOKEN(必須): Sentry API の認証トークンです。サーバーに Sentry データへのアクセス権を付与します。SENTRY_BASE_URL(必須): Sentry API のベース URL です。Sentry.io のクラウドユーザーの場合、通常はhttps://sentry.io/api/0/です。セルフホストのインスタンスでは、そのインスタンスの API エンドポイントを使用してください。SENTRY_ORG_SLUG(必須): Sentry 内で組織を識別する一意の識別子(スラッグ)です。個別のツール引数で上書きされない限り、API 呼び出し時のデフォルトの組織として使用されます。
利用可能なツール
このサーバーが提供するツールの概要と使用例を以下に示します。
1. inspect_sentry
- 説明: サーバーの現在の設定を確認し、Sentry への接続を検証し(指定されたトークンと URL を使用)、利用可能な機能を一覧表示して、基本的な環境情報を表示します。セットアップの問題のデバッグに役立ちます。
- 入力スキーマ: なし(引数は不要です)。
- 使用例(MCP クライアント):
{ "tool_name": "inspect_sentry", "arguments": {} } - 出力例:
{ "configuration": { "baseUrl": "https://sentry.io/api/0/", "authTokenConfigured": true, "defaultOrg": "your-organization-slug" }, "capabilities": [ "list_recent_releases", "get_releases", "get_release_health", "get_issue", "get_release_issues" // inspect_sentry is excluded from this list ], "environment": { "nodeVersion": "v18.12.0", "platform": "linux", "memoryUsage": { /* ... */ } } }
2. list_recent_releases
- 説明: 指定したプロジェクトの最新リリースを日付順(新しい順)に取得します。各リリースで新たに発生した問題の数も含まれます。
- 入力スキーマ:
project_slug(文字列、必須):Sentry プロジェクトのスラッグ。org_slug(文字列、任意):組織のスラッグ。デフォルトは.envのSENTRY_ORG_SLUGです。count(数値、任意):返すリリースの最大数。デフォルトは 5 です。
- 使用例(MCP クライアント):
{ "tool_name": "list_recent_releases", "arguments": { "project_slug": "your-frontend-project", "count": 3 } } - 出力例:
[ { "version": "[email protected]", "date": "2023-10-27T10:30:00Z", "new_issues": 2, "type": "desktop" }, { "version": "[email protected]", "date": "2023-10-26T15:00:00Z", "new_issues": 0, "type": "desktop" }, { "version": "[email protected]", "date": "2023-10-25T09:00:00Z", "new_issues": 5, "type": "mobile" } ]
3. get_releases
- 説明: プロジェクトのすべてのリリースを日付順(新しい順)に取得します。
- 入力スキーマ:
project_slug(文字列、必須):Sentry プロジェクトのスラッグ。org_slug(文字列、任意):組織のスラッグ。デフォルトはSENTRY_ORG_SLUGです。
- 使用例(MCP クライアント):
{ "tool_name": "get_releases", "arguments": { "project_slug": "your-backend-service" } } - 出力例:(
list_recent_releasesと同様の構造ですが、エントリー数が大幅に多くなる場合があります)
4. get_release_health
- 説明: 特定のリリースバージョン(バージョンを指定しない場合は最新リリース)の健全性統計を提供します。クラッシュフリー率、セッション数、新たに発生した問題の数が含まれます。
- 入力スキーマ:
project_slug(文字列、必須):Sentry プロジェクトのスラッグ。org_slug(文字列、任意):組織のスラッグ。デフォルトはSENTRY_ORG_SLUGです。release_version(文字列、任意):特定のリリースバージョン文字列。省略すると、最新リリースのデータを取得します。
- 使用例(MCP クライアント):
{ "tool_name": "get_release_health", "arguments": { "project_slug": "your-frontend-project", "release_version": "[email protected]" } } - 出力例:
{ "version": "[email protected]", "new_issues": 2, "crash_free_rate": 99.5, // Example value "sessions": 15000, // Example value "stats": { /* Detailed Sentry stats object */ } }
5. get_issue
- 説明: ID を使用して、特定の Sentry issue の基本情報(ID、タイトル、パーマリンク)を取得します。
- 入力スキーマ:
issue_id(string, required):Sentry issue の数値 ID です。org_slug(string, required):issue が存在する組織のスラッグです。project_slug(string, required):issue が存在するプロジェクトのスラッグです。
- 使用例(MCP クライアント):
{ "tool_name": "get_issue", "arguments": { "issue_id": "123456789", "org_slug": "your-organization-slug", "project_slug": "your-frontend-project" } } - 出力例:
{ "id": "123456789", "title": "TypeError: Cannot read properties of undefined (reading 'map')", "permalink": "https://your-organization-slug.sentry.io/issues/123456789/" }
6. get_release_issues
- 説明: 特定のリリースバージョン(バージョンが指定されていない場合は最新リリース)に関連付けられたすべての issue の一覧を取得します。
- 入力スキーマ:
project_slug(string, required):Sentry プロジェクトのスラッグです。org_slug(string, optional):組織のスラッグです。デフォルトはSENTRY_ORG_SLUGです。release_version(string, optional):特定のリリースバージョン文字列です。省略すると、最新リリースの issue を取得します。
- 使用例(MCP クライアント):
{ "tool_name": "get_release_issues", "arguments": { "project_slug": "your-backend-service", "release_version": "[email protected]" } } - 出力例:(issue オブジェクトの一覧。
get_issueの出力と同様の構造です)[ { "id": "987654321", "title": "Database connection timeout", "permalink": "..." }, { "id": "987654322", "title": "NullPointerException in UserServic", "permalink": "..." } // ... more issues ]
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルを参照してください(MIT ライセンスファイルを追加することを前提としています)。
サポートとコントリビューション
問題、質問、機能リクエストについては、GitHub リポジトリで issue を作成してください。
コントリビューションを歓迎します!標準的なフォークおよびプルリクエストのワークフローに従ってください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。