mcpField
T
Tempo MCP Server

Tempo MCP Server

ローカル
github.com/scottleppデータ・分析2351 週間前に更新

Tempo MCP Server について

Tempo MCP Serverは、Grafana Tempoの分散トレースをAIアシスタントから検索できる、アーカイブ済みのGo製サービスです。READMEによるとTempo本体にMCPサーバーが組み込まれており、課題や変更提案はTempoリポジトリに提出するよう案内されています。

主な機能

  1. 01Grafana Tempoのトレース検索
  2. 02Tempoクエリ式による絞り込み
  3. 03検索期間と結果件数の設定
  4. 04任意の認証パラメーターに対応
  5. 05stdioとHTTP/SSEモード

活用シーン

  1. 01特定サービスのトレースを検索
  2. 02処理時間の長いトレースを抽出
  3. 03HTTP 5xxリクエストに関連するトレースを調査

MCP 対応

MCPサーバーはGrafana Tempoのトレースを検索する`tempo_query`ツールを提供し、stdioとHTTP/SSEで通信します。プロジェクトはアーカイブ済みで、READMEではTempo本体に組み込みのMCPサーバーがあると説明されています。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"tempo-mcp-server-scottlepp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

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

パッケージ
ocibuild

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

アーカイブ済み!

このプロジェクトはアーカイブされました。Tempo 自体に組み込みの MCP サーバーがあります。問題や PR はTempo リポジトリに登録してください。

Tempo MCP サーバー

Grafana Tempo と統合する、Go ベースの Model Context Protocol(MCP)サーバー実装です。

概要

この MCP サーバーを使用すると、AI アシスタントは Grafana Tempo の分散トレースデータをクエリして分析できます。Model Context Protocol に準拠しており、Claude Desktop などの互換性のある AI クライアントで使用できるツール定義を提供します。

はじめに

前提条件
  • Go 1.21 以降
  • Docker と Docker Compose(ローカルテスト用)
ビルドと実行

サーバーをビルドして実行します。

# Build the server
go build -o tempo-mcp-server ./cmd/server

# Run the server
./tempo-mcp-server

または、Go で直接実行します。

go run ./cmd/server

サーバーは、次の 2 つの通信モードに対応しています。

  1. Model Context Protocol(MCP)に準拠した標準入力/出力(stdin/stdout)
  2. n8n などのツールと統合するための Server-Sent Events(SSE)エンドポイントを備えた HTTP サーバー

HTTP サーバーのデフォルトポートは 8080 ですが、SSE_PORT 環境変数で設定できます。

サーバーエンドポイント

HTTP モードで実行すると、サーバーは次のエンドポイントを公開します。

  • SSE エンドポイント:http://localhost:8080/sse - リアルタイムのイベントストリーミング用
  • MCP エンドポイント:http://localhost:8080/mcp - MCP プロトコルのメッセージング用

Docker のサポート

Docker を使用して MCP サーバーをビルドし、実行できます。

# Build the Docker image
docker build -t tempo-mcp-server .

# Run the server
docker run -p 8080:8080 --rm -i tempo-mcp-server

または、Docker Compose を使用して完全なテスト環境を構築できます。

# Build and run with Docker Compose
docker-compose up --build

プロジェクト構成

.
├── cmd/
│   ├── server/       # MCP server implementation
│   └── client/       # Client for testing the MCP server
├── internal/
│   └── handlers/     # Tool handlers
├── pkg/
│   └── utils/        # Utility functions and shared code
└── go.mod            # Go module definition

MCP サーバー

Tempo MCP サーバーは Model Context Protocol(MCP)を実装し、次のツールを提供します。

Tempo クエリツール

tempo_query ツールを使用すると、Grafana Tempo のトレースデータをクエリできます。

  • 必須パラメーター:
    • query:Tempo クエリ文字列(例:{service.name="frontend"}、{duration>1s})
  • 任意のパラメーター:
    • url:Tempo サーバーの URL(デフォルト:TEMPO_URL 環境変数の値、または http://localhost:3200)
    • start:クエリの開始時刻(デフォルト:1 時間前)
    • end:クエリの終了時刻(デフォルト:現在)
    • limit:返すトレースの最大数(デフォルト:20)
    • username:Basic 認証用のユーザー名(任意)
    • password:Basic 認証用のパスワード(任意)
    • token:認証用の Bearer トークン(任意)
環境変数

Tempo クエリツールは、次の環境変数に対応しています。

  • TEMPO_URL:リクエストで指定されていない場合に使用するデフォルトの Tempo サーバー URL
  • SSE_PORT:HTTP/SSE サーバーのポート(デフォルト:8080)

テスト

./run-client.sh tempo_query "{resource.service.name=\\\"example-service\\\"}"

Claude Desktop での使用

Tempo クエリツールを追加するには、この MCP サーバーを Claude Desktop で使用できます。次の手順に従ってください。

  1. サーバーまたは Docker イメージをビルドします
  2. Claude Desktop の設定ファイルにサーバーを追加し、使用するように設定します

Claude Desktop の設定例:

{
  "mcpServers": {
    "temposerver": {
      "command": "path/to/tempo-mcp-server",
      "args": [],
      "env": {
        "TEMPO_URL": "http://localhost:3200"
      },
      "disabled": false,
      "autoApprove": ["tempo_query"]
    }
  }
}

Docker の場合:

{
  "mcpServers": {
    "temposerver": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-e", "TEMPO_URL=http://host.docker.internal:3200", "tempo-mcp-server"],
      "disabled": false,
      "autoApprove": ["tempo_query"]
    }
  }
}

Claude Desktop の設定ファイルは次の場所にあります。

  • macOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows の場合:%APPDATA%\Claude\claude_desktop_config.json
  • Linux の場合:~/.config/Claude/claude_desktop_config.json

Cursor での使用

Tempo MCP サーバーを Cursor エディターに統合することもできます。その場合は、次の設定を Cursor の設定に追加します。

{
  "mcpServers": {
    "tempo-mcp-server": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-e", "TEMPO_URL=http://host.docker.internal:3200", "tempo-mcp-server:latest"]
    }
  }
}

n8n での使用

n8n で Tempo MCP サーバーを使用するには、MCP Client Tool ノードを使って接続できます。

  1. n8n ワークフローに MCP Client Tool ノードを追加します

  2. 次のパラメーターを使ってノードを設定します。

    • SSE Endpoint:http://your-server-address:8080/sse(実際のサーバーアドレスに置き換えてください)
    • Authentication:必要に応じて適切な認証を選択します
    • Tools to Include:AI Agent に公開する Tempo ツールを選択します
  3. Tempo のクエリ機能を使用する AI Agent ノードに、MCP Client Tool ノードを接続します

ワークフローの例: トリガー → MCP Client Tool(Tempo サーバー)→ AI Agent(Claude)

使用例

設定が完了したら、次のようなクエリを使って Claude でツールを利用できます。

  • 「Tempo に {duration>1s} というクエリを使ってトレースを問い合わせる」
  • 「{service.name=\"frontend\"} というクエリを使って Tempo からフロントエンドサービスのトレースを検索する」
  • 「{http.status_code=500} を使って Tempo から最新のトレースを50件表示する」
スクリーンショット 2025-04-11 at 5 24 03 PM

ライセンス

このプロジェクトは MIT License のもとでライセンスされています。

コメント

MCP は初めてですか?

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

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