Logfire MCP Server

Official

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Enables access and analysis of OpenTelemetry traces and metrics data stored in Logfire, with tools for finding exceptions, retrieving trace information, and executing SQL queries against telemetry data.

  • Integrates with Logfire, a Pydantic service, to retrieve and analyze application telemetry data through the Logfire APIs using read tokens from the Logfire project settings.

Logfire MCP サーバー

このリポジトリには、Logfire に送信した OpenTelemetry トレースおよびメトリックにアクセスできるツールを備えた Model Context Protocol (MCP) サーバーが含まれています。

この MCP サーバーにより、LLM はアプリケーションのテレメトリ データを取得し、分散トレースを分析し、Logfire API を使用して実行された任意の SQL クエリの結果を利用できるようになります。

利用可能なツール

  • find_exceptions - ファイルごとにグループ化されたトレースから例外数を取得します
    • 必要な引数:
      • age (int): 過去30分を参照する分数(例:過去30分の場合は30、最大7日間)
  • find_exceptions_in_file - 特定のファイル内の例外に関する詳細なトレース情報を取得します
    • 必要な引数:
      • filepath (文字列): 分析するファイルへのパス
      • age (int): 過去を振り返る分数(最大7日間)
  • arbitrary_query - OpenTelemetry のトレースとメトリックに対してカスタム SQL クエリを実行します
    • 必要な引数:
      • query (文字列): 実行するSQLクエリ
      • age (int): 過去を振り返る分数(最大7日間)
  • get_logfire_records_schema - カスタムクエリに役立つ OpenTelemetry スキーマを取得します
    • 必須の引数はありません

設定

uvをインストールする

まず最初に、 uvがインストールされていることを確認します。UV uv MCP サーバーの実行に使用されるためです。

インストール手順については、 uvインストール ドキュメントを参照してください。

すでに古いバージョンのuvがインストールされている場合は、 uv self updateを使用して更新する必要がある場合があります。

Logfireの読み取りトークンを取得する

Logfire API にリクエストを行うには、Logfire MCP サーバーに「読み取りトークン」が必要です。

Logfire のプロジェクト設定の「読み取りトークン」セクションで作成できます: https://logfire.pydantic.dev/-/redirect/latest-project/settings/read-tokens

[!IMPORTANT] Logfire 読み取りトークンはプロジェクト固有であるため、Logfire MCP サーバーに公開する特定のプロジェクトごとに作成する必要があります。

サーバーを手動で実行する

uvをインストールし、Logfire 読み取りトークンを取得したら、 uvx ( uvによって提供) を使用して MCP サーバーを手動で実行できます。

LOGFIRE_READ_TOKEN環境変数を使用して読み取りトークンを指定できます。

LOGFIRE_READ_TOKEN=YOUR_READ_TOKEN uvx logfire-mcp

または--read-tokenフラグを使用します:

uvx logfire-mcp --read-token=YOUR_READ_TOKEN

[!注記]
Cursor、Claude Desktop、Cline、またはMCPサーバーを管理するその他のMCPクライアントを使用している場合は、サーバーを手動で実行する必要はありません。次のセクションでは、これらのクライアントをLogfire MCPサーバーに接続するための設定方法について説明します。

よく知られているMCPクライアントとの構成

カーソルの設定

プロジェクト ルートに.cursor/mcp.jsonファイルを作成します。

{ "mcpServers": { "logfire": { "command": "uvx", "args": ["logfire-mcp", "--read-token=YOUR-TOKEN"] } } }

カーソルはenvフィールドを受け入れないため、代わりに--read-tokenフラグを使用する必要があります。

Claudeデスクトップ用の設定

Claude 設定に追加:

{ "command": ["uvx"], "args": ["logfire-mcp"], "type": "stdio", "env": { "LOGFIRE_READ_TOKEN": "YOUR_TOKEN" } }

Cline 用の設定

cline_mcp_settings.jsonに Cline 設定を追加します:

{ "mcpServers": { "logfire": { "command": "uvx", "args": ["logfire-mcp"], "env": { "LOGFIRE_READ_TOKEN": "YOUR_TOKEN" }, "disabled": false, "autoApprove": [] } } }

カスタマイズ - ベースURL

デフォルトでは、サーバーはhttps://logfire-api.pydantic.devにあるLogfire APIに接続します。これをオーバーライドするには、次の操作を行います。

  1. --base-url引数を使用する:
uvx logfire-mcp --base-url=https://your-logfire-instance.com
  1. 環境変数の設定:
LOGFIRE_BASE_URL=https://your-logfire-instance.com uvx logfire-mcp

やり取りの例

  1. 過去 1 時間のトレースですべての例外を検索します。
{ "name": "find_exceptions", "arguments": { "age": 60 } }

応答:

[ { "filepath": "app/api.py", "count": 12 }, { "filepath": "app/models.py", "count": 5 } ]
  1. 特定のファイル内のトレースの例外に関する詳細を取得します。
{ "name": "find_exceptions_in_file", "arguments": { "filepath": "app/api.py", "age": 1440 } }

応答:

[ { "created_at": "2024-03-20T10:30:00Z", "message": "Failed to process request", "exception_type": "ValueError", "exception_message": "Invalid input format", "function_name": "process_request", "line_number": "42", "attributes": { "service.name": "api-service", "code.filepath": "app/api.py" }, "trace_id": "1234567890abcdef" } ]
  1. トレースに対してカスタム クエリを実行します。
{ "name": "arbitrary_query", "arguments": { "query": "SELECT trace_id, message, created_at, attributes->>'service.name' as service FROM records WHERE severity_text = 'ERROR' ORDER BY created_at DESC LIMIT 10", "age": 1440 } }

クロードへの質問例

  1. 「過去 1 時間のトレースで、すべてのサービスにわたってどのような例外が発生しましたか?」
  2. 「ファイル 'app/api.py' 内の最近のエラーとそのトレースコンテキストを表示します」
  3. 「過去 24 時間にサービスごとにエラーがいくつありましたか?」
  4. 「サービス名別にグループ化された、トレース内で最も一般的な例外タイプは何ですか?」
  5. 「トレースとメトリックの OpenTelemetry スキーマを取得してください」
  6. 「昨日のすべてのエラーを検索し、そのトレースコンテキストを表示します」

はじめる

  1. まず、Logfire 読み取りトークンを次の場所から取得します: https://logfire.pydantic.dev/-/redirect/latest-project/settings/read-tokens
  2. MCP サーバーを実行します。
    uvx logfire-mcp --read-token=YOUR_TOKEN
  3. 上記の設定例を使用して、優先クライアント(Cursor、Claude Desktop、またはCline)を設定します。
  4. MCP サーバーを使用して OpenTelemetry のトレースとメトリックを分析し始めましょう。

貢献

Logfire MCPサーバーの改善に向けた貢献を歓迎いたします。新しいトレース分析ツールの追加、メトリクスクエリ機能の強化、ドキュメントの改善など、皆様からの貴重なご意見をお待ちしております。

その他の MCP サーバーおよび実装パターンの例については、モデル コンテキスト プロトコル サーバー リポジトリを参照してください。

ライセンス

Logfire MCPはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。

-
security - not tested
F
license - not found
-
quality - not tested

LLM が Logfire から OpenTelemetry トレースとメトリックを取得して分析できるようにし、テレメトリ データに対する例外追跡とカスタム SQL クエリをサポートするモデル コンテキスト プロトコル サーバー。

  1. Available Tools
    1. Setup
      1. Install uv
      2. Obtain a Logfire read token
      3. Manually run the server
    2. Configuration with well-known MCP clients
      1. Configure for Cursor
      2. Configure for Claude Desktop
      3. Configure for Cline
      4. Customization - Base URL
    3. Example Interactions
      1. Examples of Questions for Claude
        1. Getting Started
          1. Contributing
            1. License
              ID: 8svtpzgw2q