Jaeger MCP Server について
Jaeger MCP Serverは、MCPクライアントをJaegerインスタンスに接続してトレースデータを照会します。サービスや分散トレースを調査する開発者向けです。
主な機能
- 01Jaegerサービスの一覧取得
- 02サービス別のオペレーション取得
- 03トレースIDによるスパン取得
- 04時間と属性によるトレース検索
活用シーン
- 01指定期間内のサービスのトレース検索
- 02既知のトレースIDに属するスパンの調査
MCP 対応
サービスやオペレーションの一覧、トレース取得、トレース検索のツールをMCPクライアントに公開します。STDIOトランスポートを使い、HTTPまたはgRPCでJaegerに接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| service | string | はい | サービス名で操作をフィルタリングする(必須) |
| spanKind | enum | いいえ | OpenTelemetry の span kind("server"、"client"、"producer"、"consumer"、"internal")で操作をフィルタリングする(任意) | server | client | producer | consumer | internal |
詳細
Jaeger MCP サーバー
Jaeger 用の MCP サーバーです。
前提条件
- Node.js 18+
クイックスタート
この MCP サーバー(STDIO トランスポートを使用)は、jaeger-mcp-server NPM パッケージを使って、VS Code、Claude、Cursor、Windsurf、Github Copilot などの任意の MCP クライアントに追加できます。
VS Code
{
"servers": {
"jaeger-mcp-server": {
"command": "npx",
"args": ["-y", "jaeger-mcp-server"],
"envFile": "${workspaceFolder}/.env"
}
}
}
Claude Desktop
{
"mcpServers": {
"jaeger-mcp-server": {
"command": "npx",
"args": ["-y", "jaeger-mcp-server"],
"env": {
"JAEGER_URL": "<YOUR_JAEGER_HTTP_OR_GRPC_API_URL>"
}
}
}
}
設定
環境変数
JAEGER_URL:アクセスする Jaeger インスタンスの HTTP API(HTTP JSON(/api/v3/*))または gRPC API(gRPC/Protobuf(jaeger.api_v3.QueryService))の URL。JAEGER_PORT:アクセスする Jaeger インスタンスの HTTP または gRPC API のポート。デフォルト値は、gRPC API の場合は16685、HTTP API の場合は16686です。JAEGER_AUTHORIZATION_HEADER:Jaeger API 経由でトレースをクエリするリクエストに追加するAuthorizationHTTP ヘッダー(例:Basic <Basic Auth Header>)。JAEGER_PROTOCOL:アクセスする Jaeger インスタンスの API プロトコル。有効な値はGRPCとHTTPです。デフォルト値はGRPCです。有効
コンポーネント
ツール
get-operations:nameおよびspanKindプロパティを持つオブジェクトの JSON 配列として、オペレーションを取得します。 次の入力パラメーターに対応しています:service:Mandatory:trueType:stringDescription:サービス名でオペレーションをフィルターします
spanKind:Mandatory:falseType:stringDescription:OpenTelemetry のスパン種別(server、client、producer、consumer、internal)でオペレーションをフィルターします
get-services:サービス名を文字列の JSON 配列として取得します。 入力パラメーターには対応していません。get-trace:指定されたトレース ID のスパンを、OpenTelemetry リソーススパン形式のオブジェクトの JSON 配列として取得します。traceId:Mandatory:trueType:stringDescription:32 文字の 16 進文字列形式の OpenTelemetry 互換トレース ID でスパンをフィルターします
startTime:Mandatory:falseType:stringDescription:RFC 3339 のセクション 5.6 の形式でスパンをフィルターする開始時刻(例:2017-07-21T17:32:28Z)
endTime:Mandatory:falseType:stringDescription:RFC 3339 のセクション 5.6 の形式でスパンをフィルターする終了時刻(例:2017-07-21T17:32:28Z)
find-traces:OpenTelemetry リソーススパン形式のオブジェクトの JSON 配列としてスパンを検索します。serviceName:Mandatory:trueType:stringDescription:32 文字の 16 進文字列形式の OpenTelemetry 互換トレース ID でスパンをフィルターします
operationName:Mandatory:falseType:stringDescription:RFC 3339 のセクション 5.6 の形式でスパンをフィルターする開始時刻(例:2017-07-21T17:32:28Z)
attributes:Mandatory:falseType:map<string, string | number | boolean>Description:スパン属性でスパンをフィルターします。属性は、キーと値の形式で JSON に渡すことができます。 キーには文字列を指定でき、値には文字列、数値(整数または倍精度浮動小数点数)、またはブール値を指定できます。 例{ "stringAttribute": "str", "integerAttribute": 123, "doubleAttribute": 123.456, "booleanAttribute": true, }
startTimeMin:Mandatory:trueType:stringDescription: クエリ対象の時間間隔の開始時刻(RFC 3339、セクション 5.6 形式、例:2017-07-21T17:32:28Z、この時刻を含みます)。 この時刻以降に開始したスパンを含むトレースのみが返されます。
startTimeMax:Mandatory:trueType:stringDescription: クエリ対象の時間間隔の終了時刻(RFC 3339、セクション 5.6 形式、例:2017-07-21T17:32:28Z、この時刻を含みません)。 この時刻より前に開始したスパンを含むトレースのみが返されます。
durationMin:Mandatory:falseType:stringDescription: トレース内のスパンの最小継続時間(ミリ秒)。 この時間以上継続したスパンを含むトレースのみが返されます。
durationMax:Mandatory:falseType:stringDescription: トレース内のスパンの最大継続時間(ミリ秒)。 この時間以下継続したスパンを含むトレースのみが返されます。
searchDepth:Mandatory:falseType:numberDescription: 最大検索深度を定義します。 バックエンドのストレージ実装によっては、SQL のLIMIT句のように動作する場合があります。 ただし、実装によっては正確な上限をサポートしていないことがあり、 一般に値を大きくすると、より多くのトレースが返されます。
リソース
該当なし
ロードマップ
HTTP Streamトランスポートプロトコル(SSEトランスポートプロトコルはこれに置き換えられる形で非推奨です)をサポートし、リモートから MCP サーバーを使用できるようにします。- Jaeger API から直接利用できないツール(複数の API エンドポイントのオーケストレーションやパイプライン処理)をさらにサポートします。
問題とフィードバック
バグ報告、機能リクエスト、サポートについては、GitHub Issues をご利用ください。
貢献
貢献をご希望の場合は、以下の手順に従ってください。
- GitHub でリポジトリをフォークし、フォークしたリポジトリをクローンします。
- 変更用のブランチを作成し、そのブランチで変更を加えます。
- 貢献内容を明確に説明して、プルリクエストを送信します。
ヒント: 同様の貢献に関する既存のプルリクエストを確認し、 コードを書く前に、提案する機能について話し合うための issue の作成をご検討ください。
ライセンス
MIT の下でライセンスされています。
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。