シンプルな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 を自動的にインストールするには:
npx -y @smithery/cli install @ghrud92/simple-loki-mcp --client claudeMCP用
{
"mcpServers": {
"simple-loki": {
"command": "npx",
"args": ["-y", "simple-loki-mcp"],
"env": {
"LOKI_ADDR": "https://loki.sup.band"
}
}
}
}npm
リポジトリをクローンします。
git clone https://github.com/ghrud92/loki-mcp.git
cd loki-mcp依存関係をインストールします:
npm installプロジェクトをビルドします。
npm run build利用可能な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)
設定ファイルの例:
addr: https://loki.example.com
username: user
password: pass
tenant_id: mytenant使用法
サーバーを起動します。
npm start開発の場合:
npm run dev実装の詳細
HTTP APIへの自動フォールバック
サーバーはlogcliが環境にインストールされ、使用可能かどうかを自動的に確認します。
logcliが利用可能な場合は、すべてのクエリに使用され、CLIツールの全機能が提供されます。logcliが利用できない場合、サーバーは自動的に Loki HTTP API の使用にフォールバックします。追加の設定は必要ありません
HTTP APIにも同じ認証パラメータが使用される
応答のフォーマットはCLI出力と一致している
どちらのモードでも、クエリごとに1000ログのデフォルトの制限が適用されます。
この自動検出により、手動で構成することなく、サーバーがさまざまな環境でシームレスに動作することが保証されます。
発達
# Run linter
npm run lint
# Fix linting issues
npm run lint:fix
# Run tests
npm run testライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSE.mdファイルを参照してください。
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.