mcpField
J
Jaeger MCP Server

Jaeger MCP Server

ローカル
github.com/serkan-ozalデータ・分析1876 週間前に更新

Jaeger MCP Server について

Jaeger MCP Serverは、MCPクライアントをJaegerインスタンスに接続してトレースデータを照会します。サービスや分散トレースを調査する開発者向けです。

主な機能

  1. 01Jaegerサービスの一覧取得
  2. 02サービス別のオペレーション取得
  3. 03トレースIDによるスパン取得
  4. 04時間と属性によるトレース検索

活用シーン

  1. 01指定期間内のサービスのトレース検索
  2. 02既知のトレースIDに属するスパンの調査

MCP 対応

サービスやオペレーションの一覧、トレース取得、トレース検索のツールをMCPクライアントに公開します。STDIOトランスポートを使い、HTTPまたはgRPCでJaegerに接続します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"jaeger": {
"command": "npx",
"args": [
"-y",
"jaeger-mcp-server"
],
"env": {
"JAEGER_URL": "<JAEGER_URL>"
}
}
}
}
起動コマンドnpx -y jaeger-mcp-server
設定が必要な環境変数
JAEGER_URL

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmjaeger-mcp-server

ツール

4

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
servicestringはいサービス名で操作をフィルタリングする(必須)
spanKindenumいいえOpenTelemetry の span kind("server"、"client"、"producer"、"consumer"、"internal")で操作をフィルタリングする(任意) | server | client | producer | consumer | internal

詳細

Jaeger MCP サーバー

Build Status NPM Version License

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 経由でトレースをクエリするリクエストに追加する Authorization HTTP ヘッダー(例:Basic <Basic Auth Header>)。
  • JAEGER_PROTOCOL:アクセスする Jaeger インスタンスの API プロトコル。有効な値は GRPC と HTTP です。デフォルト値は GRPC です。有効

コンポーネント

ツール
  • get-operations:name および spanKind プロパティを持つオブジェクトの JSON 配列として、オペレーションを取得します。 次の入力パラメーターに対応しています:
    • service:
      • Mandatory:true
      • Type:string
      • Description:サービス名でオペレーションをフィルターします
    • spanKind:
      • Mandatory:false
      • Type:string
      • Description:OpenTelemetry のスパン種別(server、client、producer、consumer、internal)でオペレーションをフィルターします
  • get-services:サービス名を文字列の JSON 配列として取得します。 入力パラメーターには対応していません。
  • get-trace:指定されたトレース ID のスパンを、OpenTelemetry リソーススパン形式のオブジェクトの JSON 配列として取得します。
    • traceId:
      • Mandatory:true
      • Type:string
      • Description:32 文字の 16 進文字列形式の OpenTelemetry 互換トレース ID でスパンをフィルターします
    • startTime:
      • Mandatory:false
      • Type:string
      • Description:RFC 3339 のセクション 5.6 の形式でスパンをフィルターする開始時刻(例:2017-07-21T17:32:28Z)
    • endTime:
      • Mandatory:false
      • Type:string
      • Description:RFC 3339 のセクション 5.6 の形式でスパンをフィルターする終了時刻(例:2017-07-21T17:32:28Z)
  • find-traces:OpenTelemetry リソーススパン形式のオブジェクトの JSON 配列としてスパンを検索します。
    • serviceName:
      • Mandatory:true
      • Type:string
      • Description:32 文字の 16 進文字列形式の OpenTelemetry 互換トレース ID でスパンをフィルターします
    • operationName:
      • Mandatory:false
      • Type:string
      • Description:RFC 3339 のセクション 5.6 の形式でスパンをフィルターする開始時刻(例:2017-07-21T17:32:28Z)
    • attributes:
      • Mandatory:false
      • Type:map<string, string | number | boolean>
      • Description:スパン属性でスパンをフィルターします。属性は、キーと値の形式で JSON に渡すことができます。 キーには文字列を指定でき、値には文字列、数値(整数または倍精度浮動小数点数)、またはブール値を指定できます。 例
        {
            "stringAttribute": "str",
            "integerAttribute": 123,
            "doubleAttribute": 123.456,
            "booleanAttribute": true,
        }
        
    • startTimeMin:
      • Mandatory: true
      • Type: string
      • Description: クエリ対象の時間間隔の開始時刻(RFC 3339、セクション 5.6 形式、例:2017-07-21T17:32:28Z、この時刻を含みます)。 この時刻以降に開始したスパンを含むトレースのみが返されます。
    • startTimeMax:
      • Mandatory: true
      • Type: string
      • Description: クエリ対象の時間間隔の終了時刻(RFC 3339、セクション 5.6 形式、例:2017-07-21T17:32:28Z、この時刻を含みません)。 この時刻より前に開始したスパンを含むトレースのみが返されます。
    • durationMin:
      • Mandatory: false
      • Type: string
      • Description: トレース内のスパンの最小継続時間(ミリ秒)。 この時間以上継続したスパンを含むトレースのみが返されます。
    • durationMax:
      • Mandatory: false
      • Type: string
      • Description: トレース内のスパンの最大継続時間(ミリ秒)。 この時間以下継続したスパンを含むトレースのみが返されます。
    • searchDepth:
      • Mandatory: false
      • Type: number
      • Description: 最大検索深度を定義します。 バックエンドのストレージ実装によっては、SQL の LIMIT 句のように動作する場合があります。 ただし、実装によっては正確な上限をサポートしていないことがあり、 一般に値を大きくすると、より多くのトレースが返されます。
リソース

該当なし

ロードマップ

  • HTTP Stream トランスポートプロトコル(SSE トランスポートプロトコルはこれに置き換えられる形で非推奨です)をサポートし、リモートから MCP サーバーを使用できるようにします。
  • Jaeger API から直接利用できないツール(複数の API エンドポイントのオーケストレーションやパイプライン処理)をさらにサポートします。

問題とフィードバック

Issues Closed issues

バグ報告、機能リクエスト、サポートについては、GitHub Issues をご利用ください。

貢献

Pull requests Closed pull requests Contributors

貢献をご希望の場合は、以下の手順に従ってください。

  • GitHub でリポジトリをフォークし、フォークしたリポジトリをクローンします。
  • 変更用のブランチを作成し、そのブランチで変更を加えます。
  • 貢献内容を明確に説明して、プルリクエストを送信します。

ヒント: 同様の貢献に関する既存のプルリクエストを確認し、 コードを書く前に、提案する機能について話し合うための issue の作成をご検討ください。

ライセンス

MIT の下でライセンスされています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。