シンプルなLoki MCPサーバー
Loki MCPサーバーは、 logcliを使用してGrafana Lokiログを照会するためのモデルコンテキストプロトコル(MCP)インターフェースです。このサーバーにより、AIアシスタントはLokiのログデータに直接アクセスして分析できるようになります。
特徴
完全な LogQL サポートを使用して Loki ログをクエリする
ラベル値とメタデータを取得する
環境変数または設定ファイルによる認証と設定のサポート
さまざまな出力形式(デフォルト、生データ、JSON 行)でフォーマットされた結果を提供します。
環境で
logcliが利用できない場合は、HTTP API に自動的にフォールバックします。
Related MCP server: Cloud Logging API Server
前提条件
Node.js v16以上
タイプスクリプト
(オプション) Grafana Loki logcliがインストールされ、PATHでアクセス可能。logcli
logcli利用できない場合、サーバーは代わりにLoki HTTP APIを自動的に使用します。Loki サーバーインスタンスへのアクセス
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop 用の Simple Loki MCP Server を自動的にインストールするには:
MCP用
npm
リポジトリをクローンします。
依存関係をインストールします:
プロジェクトをビルドします。
利用可能なMCPツール
クエリロキ
フィルタリング オプションを使用して Loki からログをクエリします。
パラメータ:
query(必須): Loki クエリ文字列(LogQL)from: 開始タイムスタンプ(例: "2023-01-01T12:00:00Z")to: 終了タイムスタンプ(例: "2023-01-01T13:00:00Z")limit: 返されるログの最大数batch: クエリ結果のバッチサイズoutput: 出力形式("default"、"raw"、または "jsonl")quiet: クエリメタデータを抑制するforward: 結果を時系列順に表示します
ラベル値の取得
特定のラベルのすべての値を取得します。
パラメータ:
label(必須): 値を取得するラベル名
ラベルを取得する
利用可能なすべてのラベルを取得します。
パラメータは必要ありません。
構成
Loki アクセスは以下を使用して設定できます。
環境変数
LOKI_ADDR: Lokiサーバーのアドレス(URL)LOKI_USERNAME: 基本認証のユーザー名LOKI_PASSWORD: 基本認証のパスワードLOKI_TENANT_ID: マルチテナントLokiのテナントIDLOKI_BEARER_TOKEN: 認証用のベアラートークンLOKI_BEARER_TOKEN_FILE: ベアラートークンを含むファイルLOKI_CA_FILE: TLS 用のカスタム CA ファイルLOKI_CERT_FILE: TLSのクライアント証明書ファイルLOKI_KEY_FILE: TLSのクライアントキーファイルLOKI_ORG_ID: 複数組織設定の組織IDLOKI_TLS_SKIP_VERIFY: TLS検証をスキップする(「true」または「false」)LOKI_CONFIG_PATH: 設定ファイルへのカスタムパスDEBUG: デバッグログを有効にする
注: クライアントが HTTP API モードを使用している場合 (
logcliが使用できない場合)、同じ構成パラメータを使用して Loki サーバーを認証および接続します。
設定ファイル
または、次のいずれかの場所にlogcli-config.yamlファイルを作成します。
LOKI_CONFIG_PATHで指定されたカスタムパス現在の作業ディレクトリ
ホームディレクトリ (
~/.logcli-config.yaml)
設定ファイルの例:
使用法
サーバーを起動します。
開発の場合:
実装の詳細
HTTP APIへの自動フォールバック
サーバーはlogcliが環境にインストールされ、使用可能かどうかを自動的に確認します。
logcliが利用可能な場合は、すべてのクエリに使用され、CLIツールの全機能が提供されます。logcliが利用できない場合、サーバーは自動的に Loki HTTP API の使用にフォールバックします。追加の設定は必要ありません
HTTP APIにも同じ認証パラメータが使用される
応答のフォーマットはCLI出力と一致している
どちらのモードでも、クエリごとに1000ログのデフォルトの制限が適用されます。
この自動検出により、手動で構成することなく、サーバーがさまざまな環境でシームレスに動作することが保証されます。
発達
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSE.mdファイルを参照してください。