MCP Sentry Server (Node.js) について
MCP Sentry Server (Node.js) は、MCP クライアントからレポートやスタックトレースなどの Sentry の課題データに接続します。stdin/stdout と SSE の両方に対応し、課題取得用のツールとプロンプトを提供します。
主な機能
- 01Sentry の課題とスタックトレースを取得
- 02stdin/stdout と SSE に対応
- 03課題取得ツールとプロンプトを提供
- 04SSE ポートの設定
活用シーン
- 01ID または URL で Sentry の課題を確認
- 02一覧から最も多く発生した課題を特定
- 03SSE エンドポイント経由で接続
MCP 対応
MCP 経由で Sentry の課題取得ツールとプロンプトを提供し、stdin/stdout または SSE のトランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Sentry Server (Node.js)
Model Context Protocol(MCP)Sentry サーバーの Node.js + TypeScript 実装です。MCP を通じてエラーレポートやスタックトレースを取得するための、Sentry との連携機能を提供します。
機能
- エラー追跡と監視のための Sentry API との連携
- 標準的な MCP の stdin/stdout 通信と SSE(Server-Sent Events)トランスポートの両方に対応
- SSE サーバーのポートを設定可能(デフォルト:3579)
前提条件
- Node.js >= 20.0.0
- pnpm >= 10.5.2
インストール
リポジトリをクローンし、依存関係をインストールします。
pnpm install
設定
ルートディレクトリに .env ファイルを作成し、Sentry 認証トークンを設定します。
SENTRY_TOKEN=your_sentry_auth_token_here
Sentry 認証トークンは、Sentry アカウントの設定から取得できます。
使用方法
プロジェクトのビルド
pnpm build
サーバーの実行
pnpm start
または、コマンドライン引数で Sentry 認証トークンと API のベース URL を指定できます。
pnpm start --auth-token your_sentry_auth_token_here --api-base your_sentry_api_base_here
SSE 対応で実行
pnpm start:sse
これにより、ポート 3579(デフォルト)で SSE に対応した Express サーバーが起動します。SSE エンドポイントには次の URL からアクセスできます。
http://localhost:3579/sse
.env.local ファイルを使って環境変数をカスタマイズすることもできます。
開発モード
pnpm dev
MCP の設定
{
"mcpServers": {
"sentry-server": {
"command": "npx",
"args": ["-y","@weekit/[email protected]"],
"env": {
"SENTRY_TOKEN": "your_sentry_auth_token_here",
"SENTRY_API_BASE": "https://your_sentry_api_base_here"
}
}
}
}
ローカルビルドを使用する場合:
{
"mcpServers": {
"my-sentry": {
"command": "node",
"args": ["path/to/dist/index.js"],
"env": {
"SENTRY_TOKEN": "your_sentry_auth_token_here",
"SENTRY_API_BASE": "https://your_sentry_api_base_here"
}
}
}
}
通信プロトコル
MCP Sentry サーバーは、次の 2 つの通信プロトコルに対応しています。
- 標準 MCP プロトコル:標準入力/出力ストリームを介した通信
- SSE トランスポート:HTTP(ポート 3579)を介したウェブベースの通信向けの Server-Sent Events
MCP の機能
MCP Sentry サーバーは、MCP プロトコルを通じて次の機能を提供します。
プロンプト
sentry-issue:ID または URL を指定して Sentry の Issue を取得most-triggered-issue:Sentry の Issue 一覧 URL から、最も多くのユーザーに影響している Issue を検索
ツール
get_sentry_issue:ID または URL を指定して Sentry の Issue を取得・分析get_sentry_issues_list:URL から Sentry の Issue 一覧を取得・分析
API
サーバーは、標準入力/出力ストリームを介して Model Context Protocol を使用して通信し、次の機能を提供します。
- 利用可能なプロンプトとツールの一覧表示
- 次の情報を含む Sentry Issue 情報の取得:
- Issue のタイトルと ID
- ステータスと重要度
- 初回および最終確認時のタイムスタンプ
- イベント数
- 詳細なスタックトレース
MCP ワークフロー
以下は、MCP Sentry サーバーのワークフロー図です。
flowchart TD
A[Client/LLM] -->|1. Send MCP Request| B[MCP Sentry Server]
B -->|2. Parse Request Type| C{Determine Request Type}
C -->|Prompt Request| D[Handle Prompt\nsentry-issue]
C -->|Tool Request| E[Handle Tool\nget_sentry_issue]
D -->|3. Extract Issue ID| F[Call Sentry API]
E -->|3. Extract Issue ID| F
F -->|4. Get Issue Data| G[Sentry API]
G -->|5. Return Issue Data| F
F -->|6. Get Event Data| G
G -->|7. Return Event Data| F
F -->|8. Parse Data| H[Create SentryIssueData Object]
H -->|9. Format Data| I{Response Type}
I -->|Prompt Response| J[Convert to PromptResult Format]
I -->|Tool Response| K[Convert to ToolResult Format]
J -->|10. Return Response| B
K -->|10. Return Response| B
B -->|11. Send MCP Response| A
テスト
すべてのテストを実行します。
pnpm test
ユニットテストを実行します。
pnpm test test/unit.test.ts
統合テストを実行します。
pnpm test test/integration.test.ts
テストカバレッジを表示します。
pnpm test -- --coverage
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。