Skip to main content
Glama
mshegolev

mshegolev/kibana-mcp

kibana-mcp

PyPI version Python 3.10+ License: MIT Tests

Claude および MCP 互換エージェントを介して Kibana / Elasticsearch のログ検索、集計、インデックス探索、ダッシュボード閲覧を行うための MCP サーバーです。

なぜ別の Kibana MCP なのか?

既存の統合機能では、ブラウザレベルの認証情報を持つ実行中の Kibana インスタンスが必要であり、多くの場合、安定した REST API ではなく Kibana UI をラップしています。このサーバーの特徴は以下の通りです:

  • ログクエリのために Elasticsearch REST API を直接呼び出す(高速で、Kibana UI の変更に左右されず安定している)

  • 直接の ES URL が設定されていない場合は Kibana Console プロキシ にフォールバックする(追加のファイアウォールルールが不要)

  • ApiKey 認証(エージェントに最適)、Basic 認証、匿名アクセスをサポート

  • 構造化 JSON (outputSchema) と Markdown テキスト の両方を返すため、あらゆる MCP クライアントで動作する

  • 読み取り専用 — すべてのツールに readOnlyHint: true が設定されており、データは一切変更されない

ツール

ツール

API

説明

kibana_list_indices

GET ES/_cat/indices

ヘルス、ドキュメント数、サイズを含む利用可能なインデックスを探索

kibana_search_logs

POST ES/{index}/_search

時間範囲、ソート、サイズ指定による全文ログ検索

kibana_aggregate_logs

POST ES/{index}/_search

カウント/平均/合計/最小/最大メトリクスによる項目のグループ化

kibana_list_dashboards

GET Kibana/api/saved_objects/_find

検索とページネーションを備えた保存済みダッシュボードの一覧表示

kibana_get_dashboard

GET Kibana/api/saved_objects/dashboard/{id}

パネルの内訳を含むダッシュボードの取得

インストール

pip install kibana-mcp

または uvx を使用して直接実行します:

uvx kibana-mcp

設定

環境変数

変数

必須

説明

KIBANA_URL

はい

Kibana ベース URL (例: https://kibana.example.com)

ELASTICSEARCH_URL

いいえ

直接の ES エンドポイント。未設定の場合、ES リクエストは Kibana Console プロキシを経由する

KIBANA_API_KEY

いいえ

ES API キー (ApiKey base64(id:api_key) 形式)。エージェントに推奨

KIBANA_USERNAME

いいえ

HTTP Basic 認証ユーザー名 (API キーが設定されていない場合に使用)

KIBANA_PASSWORD

いいえ

HTTP Basic 認証パスワード

KIBANA_SSL_VERIFY

いいえ

true (デフォルト) または自己署名証明書用の false

認証の優先順位: ApiKey > Basic > 匿名

.env.example.env にコピーし、値を入力してください。

MCP クライアント設定 (Claude Desktop / claude.app)

{
  "mcpServers": {
    "kibana": {
      "command": "uvx",
      "args": ["kibana-mcp"],
      "env": {
        "KIBANA_URL": "https://kibana.example.com",
        "KIBANA_API_KEY": "your-api-key-here"
      }
    }
  }
}

または、パフォーマンス向上のために直接 ES アクセスを行う場合:

{
  "mcpServers": {
    "kibana": {
      "command": "uvx",
      "args": ["kibana-mcp"],
      "env": {
        "KIBANA_URL": "https://kibana.example.com",
        "ELASTICSEARCH_URL": "https://es.example.com:9200",
        "KIBANA_API_KEY": "your-api-key-here"
      }
    }
  }
}

Docker

docker run --rm -i \
  -e KIBANA_URL=https://kibana.example.com \
  -e KIBANA_API_KEY=your-key \
  ghcr.io/mshegolev/kibana-mcp

使用例

ログ検索

Find the last 50 ERROR logs from the API service in the last hour

kibana_search_logs(index="logs-*", query="level:ERROR AND service:api", size=50, time_from="2026-04-18T09:00:00Z")

Show 500 HTTP errors sorted oldest first for incident replay

kibana_search_logs(index="nginx-*", query="status:500", sort_order="asc", size=100)

集計

How many logs per log level in the last hour?

kibana_aggregate_logs(index="logs-*", group_by="level", time_from="2026-04-18T09:00:00Z")

What is the average response time per service?

kibana_aggregate_logs(index="logs-*", group_by="service.keyword", metric="avg", metric_field="response_time_ms")

インデックス探索

What log indices are available?

kibana_list_indices()

Show me all filebeat indices

kibana_list_indices(pattern="filebeat-*")

ダッシュボード

Find the infrastructure dashboard

kibana_list_dashboards(search="infrastructure")

What panels does dashboard X have?

kibana_get_dashboard(dashboard_id="<id from list_dashboards>")

パフォーマンス特性

  • ログ検索 (kibana_search_logs): 直接 ES URL を使用した場合は通常 50-500ms。Kibana Console プロキシ経由の場合は 100-200ms 追加

  • 集計 (kibana_aggregate_logs): size:0 クエリ — ヒットデータが転送されないため、通常 10-100ms

  • インデックス一覧: 単一の _cat/indices 呼び出し、O(index_count) の応答、通常 100ms 未満

  • ダッシュボード API: Kibana Saved Objects API、通常 50-200ms。レイテンシはネットワークではなく Kibana 側に依存

  • エージェントが頻繁にログ検索を行う場合は、ELASTICSEARCH_URL を直接設定してください。プロキシのオーバーヘッドが解消されます

開発

git clone https://github.com/mshegolev/kibana-mcp
cd kibana-mcp
pip install -e '.[dev]'
pytest tests/ -v
ruff check src tests
ruff format src tests

ライセンス

MIT — LICENSE を参照してください。

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mshegolev/kibana-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server