Skip to main content
Glama
TocharianOU

Kibana MCP Server

by TocharianOU

Kibana MCP サーバー

API仕様

このプロジェクトはElastic Kibanaの公式APIドキュメントに基づいており、Elastic Stack 8.x(ES8)のOpenAPI YAML仕様を使用して、すべてのKibana APIエンドポイントを動的に取得および管理します。最新の詳細については、 Kibana APIドキュメントをご覧ください。

MCP 互換クライアント (Claude Desktop など) が自然言語またはプログラムによるリクエストを介して Kibana インスタンスにアクセスできるようにする Kibana MCP サーバー実装。

このプロジェクトはコミュニティによって維持されており、Elastic または MCP の公式製品ではありません。


特徴

  • ローカルまたはリモートの Kibana インスタンスに接続する

  • 安全な認証(ユーザー名/パスワード)

  • SSL/TLS およびカスタム CA 証明書のサポート

  • Kibana APIエンドポイントをツールとリソースの両方として公開します

  • MCP クライアントから Kibana API を検索、表示、実行する

  • 型安全、拡張可能、統合が容易


Related MCP server: mshegolev/kibana-mcp

ディレクトリ構造

├── index.ts                # Server entry point
├── src/
│   ├── types.ts            # Type definitions and schemas
│   ├── base-tools.ts       # Tool registration and API logic
│   ├── prompts.ts          # Prompt registration (expert & resource helper)
│   └── resources.ts        # Resource registration (API paths/URIs)
├── kibana-openapi-source.yaml # Kibana API OpenAPI index
├── README.md               # English documentation
├── README_zh.md            # Chinese documentation

リソース

リソースURI

説明

kibana-api://paths

利用可能なすべての Kibana API エンドポイントを返します ( searchパラメータでフィルタリングできます)

kibana-api://path/{method}/{encoded_path}

特定のAPIエンドポイントの詳細を返します

例:

  • kibana-api://paths?search=saved_objects

  • kibana-api://path/GET/%2Fapi%2Fstatus


ツール

ツール名

説明

入力パラメータ

get_status

Kibanaサーバーの現在のステータスを取得する

なし

execute_api

カスタム Kibana API リクエストを実行する

method (GET/POST/PUT/DELETE)、 path (文字列)、 body (オプション)、 params (オプション)

search_kibana_api_paths

Kibana APIエンドポイントをキーワードで検索

search (文字列)

list_all_kibana_api_paths

すべての Kibana API エンドポイントを一覧表示する

なし

get_kibana_api_detail

特定の Kibana API エンドポイントの詳細を取得する

method (文字列)、 path (文字列)


プロンプト

プロンプト名

説明

kibana-tool-expert

ツールエキスパートモード(Claude Desktopでは強く推奨)は、ツールを介してKibana APIのインテリジェントな分析、検索、実行、説明をサポートします。ほとんどのユーザーに推奨されます。

kibana-resource-helper

リソースヘルパーモードは、リソースURIを介してKibana API情報にアクセスし、使用する方法をガイドします。リソースアクセスのみをサポートするクライアント、または生のAPIメタデータを必要とするクライアントに適しています。


構成

環境変数を使用してサーバーを構成します。

変数名

説明

必須

KIBANA_URL

Kibanaサーバーのアドレス(例:http://localhost:5601 )

はい

KIBANA_USERNAME

Kibanaのユーザー名

はい

KIBANA_PASSWORD

Kibanaのパスワード

はい

KIBANA_CA_CERT

CA 証明書パス(オプション、SSL 検証用)

いいえ

KIBANA_TIMEOUT

リクエストタイムアウト(ミリ秒)(デフォルト 30000)

いいえ

KIBANA_MAX_RETRIES

最大リクエスト再試行回数(デフォルト 3)

いいえ

NODE_TLS_REJECT_UNAUTHORIZED

SSL証明書の検証を無効にするには0に設定します(注意して使用してください)

いいえ


使用法

サーバーを起動する

KIBANA_URL=http://your-kibana-server:5601 \
KIBANA_USERNAME=your-username \
KIBANA_PASSWORD=your-password \
NODE_TLS_REJECT_UNAUTHORIZED=0 \
npm start

MCPクライアント構成の例

Claude Desktop 構成ファイル (MacOS パス: ~/Library/Application Support/Claude/claude_desktop_config.json ) に追加します。

{
  "mcpServers": {
    "kibana-mcp-server": {
      "command": "node",
      "args": ["/path/to/mcp-server-kibana/dist/index.js"],
      "env": {
        "KIBANA_URL": "http://your-kibana-server:5601",
        "KIBANA_USERNAME": "your-username",
        "KIBANA_PASSWORD": "your-password",
        "NODE_TLS_REJECT_UNAUTHORIZED": "0"
      }
    }
  }
}

クエリの例

  • 「Kibana サーバーの状態はどうですか?」

  • 「利用可能なすべての Kibana API エンドポイントを一覧表示します。」

  • 「POST /api/saved_objects/_find エンドポイントの詳細を表示します。」

  • 「/api/status のカスタム API リクエストを実行します。」

  • 「Kibana のすべてのダッシュボードのリストを取得します。」

  • 「エンドポイント イベントに関連する API エンドポイントをクエリします。」

  • 「ケース関連の API エンドポイントをすべて一覧表示します。」

  • 「Kibana で新しいケースを作成します。」

  • 「Kibana で新しいダッシュボードを作成します。」


Claude Desktop の 2 つのプロンプト モード

このサーバーを Claude Desktop で使用する場合、次の 2 つの異なるプロンプト対話モードがサポートされます。

1. ツールベースのプロンプトモード

  • 仕組み: Claude Desktop は、サーバー ツール ( get_status 、 execute_api 、 search_kibana_api_pathsなど) を直接呼び出して、質問に答えたりアクションを実行したりできます。

  • **最適なユーザー:**会話型のガイド付きエクスペリエンスを求めるユーザー。サーバーがKibana APIを自動的に検索、実行し、解説します。

  • 例: 「保存されたオブジェクトに関連するすべての Kibana API エンドポイントを表示します。」

  • **テストのヒント:**統合テストのために、Claude Desktop でkibana-tool-expertプロンプトを選択し、使用を開始します。

2. リソースベースのプロンプトモード

  • 仕組み: Claude Desktop はリソース URI ( kibana-api://pathsやkibana-api://path/GET/%2Fapi%2Fstatusなど) を介してサーバーと対話し、サーバーは Claude が解析するための構造化データを返します。

  • **最適な対象:**上級ユーザー、リソース アクセスのみをサポートする MCP クライアント、または生の API メタデータを必要とするプログラミング シナリオ。

  • 例: 「リソース kibana-api://paths?search=dashboard を取得する」

注: resources内の2つのエンドポイント ( kibana-api://pathsとkibana-api://path/{method}/{encoded_path} ) には、対応するベースツール ( list_all_kibana_api_paths 、 get_kibana_api_detail ) があります。この設計により、複数のリソースをインテリジェントに選択できないMCPクライアントとの互換性が確保され、Claude DesktopなどのツールがKibanaと連携しやすくなります。

**ヒント:**より自然で強力なエクスペリエンスを得るには、ほとんどのユーザーにはツール モードの使用が推奨されます。リソース モードは、高度なユース ケースや互換性のあるユース ケースに最大限の柔軟性を提供します。


発達

依存関係をインストールします:

npm install

サーバーを構築します。

npm run build

開発モードでの自動再構築:

npm run watch

デバッグ

MCPサーバーはstdio経由で通信するため、デバッグが不便になる場合があります。MCP Inspectorの使用をお勧めします。

npm run inspector

起動すると、Inspector はブラウザからアクセス可能なデバッグ ツールの URL を提供します。


コミュニティ

このプロジェクトはコミュニティによって維持されています。貢献とフィードバックを歓迎します。すべてのコミュニケーションにおいて、敬意と包摂性を持ち、 Elasticコミュニティ行動規範を遵守してください。


ライセンス

このプロジェクトはApache License 2.0に基づいてライセンスされています。詳細はLICENSEファイルをご覧ください。


トラブルシューティング

  • MCP構成が正しいか確認する

  • Kibanaアドレスにアクセスできることを確認する

  • 認証資格情報に十分な権限があることを確認する

  • カスタムCAを使用する場合は、証明書パスが正しく読み取り可能であることを確認してください。

  • NODE_TLS_REJECT_UNAUTHORIZED=0使用する場合は、セキュリティリスクに注意してください

  • ターミナルに出力されたエラーメッセージを確認する

Available Tools

6 tools
execute_kb_apiC

Execute a custom API request for Kibana with multi-space support

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
methodYes
paramsNo
pathYes
spaceNoTarget Kibana space (optional, defaults to configured space)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'multi-space support' which adds some context about space handling, but fails to describe critical behaviors like authentication requirements, rate limits, error handling, or what 'execute' entails (e.g., whether it's idempotent, what happens on failure). For a tool that can perform write operations (PUT, DELETE), this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose ('Execute a custom API request for Kibana') and adds a key feature ('with multi-space support'). There's no wasted language or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (5 parameters, no output schema, no annotations, and support for write operations), the description is incomplete. It lacks information about return values, error conditions, authentication, and how to use parameters effectively. The mention of 'multi-space support' is helpful but insufficient for a tool with this scope and potential impact.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 20% (only the 'space' parameter has a description), so the description must compensate. It adds minimal value by implying the tool handles 'multi-space' contexts, which relates to the 'space' parameter, but doesn't explain other parameters like 'body', 'params', 'method', or 'path' beyond what the schema provides. The baseline is 3 since schema coverage is low but the description doesn't fully compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('execute') and resource ('custom API request for Kibana'), specifying the action and target. However, it doesn't explicitly differentiate from siblings like 'get_kibana_api_detail' or 'list_all_kibana_api_paths', which appear to be read-only operations, while this tool supports multiple HTTP methods including write operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'multi-space support' but doesn't provide explicit guidance on when to use this tool versus alternatives. No context is given about prerequisites, when-not-to-use scenarios, or comparisons to sibling tools like 'get_available_spaces' or 'search_kibana_api_paths'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_available_spacesC

Get all available Kibana spaces with current context

ParametersJSON Schema
NameRequiredDescriptionDefault
include_detailsNoInclude detailed space information (name, description, etc.)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but lacks details on permissions needed, rate limits, pagination, or what 'current context' entails. This is a significant gap for a tool that likely interacts with a Kibana API.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what 'available spaces' means, what 'current context' includes, or what the return values look like. For a tool that likely returns a list of Kibana spaces, more context is needed to guide the agent effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the input schema already documents the 'include_details' parameter. The description doesn't add any parameter-specific information beyond what's in the schema, such as examples or edge cases, but the baseline is 3 when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'all available Kibana spaces with current context', making the purpose understandable. However, it doesn't explicitly differentiate this tool from its siblings like 'list_all_kibana_api_paths' or 'search_kibana_api_paths', which might also involve listing Kibana resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, exclusions, or compare it to sibling tools like 'list_all_kibana_api_paths', leaving the agent to infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_kibana_api_detailC

Get details for a specific Kibana API endpoint

ParametersJSON Schema
NameRequiredDescriptionDefault
methodYesHTTP method, e.g. GET, POST, PUT, DELETE
pathYesAPI path, e.g. /api/actions/connector_types

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe how it behaves—such as whether it's read-only, what format the details are returned in, error handling, or any rate limits. This is a significant gap for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any fluff. It's appropriately sized and front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of querying API endpoints and the lack of annotations and output schema, the description is insufficient. It doesn't explain what 'details' include, how results are structured, or any behavioral aspects like safety or performance, leaving the agent with incomplete information for proper use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with both parameters ('method' and 'path') well-documented in the schema. The description adds no additional meaning beyond implying that these parameters identify a specific endpoint, which is already clear from the schema. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get details') and resource ('specific Kibana API endpoint'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'list_all_kibana_api_paths' or 'search_kibana_api_paths' which also deal with Kibana API endpoints, so it doesn't fully distinguish itself from alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'list_all_kibana_api_paths' or 'execute_kb_api'. It doesn't mention prerequisites, context, or exclusions, leaving the agent to infer usage based on the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_statusB

Get Kibana server status with multi-space support

ParametersJSON Schema
NameRequiredDescriptionDefault
spaceNoTarget Kibana space (optional, defaults to configured space)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states what the tool does but lacks behavioral details: it doesn't specify if this is a read-only operation, what permissions are required, whether it affects system state, rate limits, or what the output format looks like (e.g., JSON structure, error handling). For a tool with no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose ('Get Kibana server status') and adds a key feature ('with multi-space support'). There is no wasted verbiage, and it's appropriately sized for a simple tool with one optional parameter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 optional parameter, no output schema, no annotations), the description is minimally complete. It covers the basic purpose but lacks context on usage guidelines, behavioral traits, or output details. For a status-checking tool, it should ideally mention what 'status' entails (e.g., health metrics, version info) or how it differs from siblings, but it's adequate as a starting point.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'space' documented in the schema as optional and defaulting to configured space. The description adds minimal value beyond this by mentioning 'multi-space support', which implies the parameter's purpose but doesn't provide additional syntax or format details. Baseline 3 is appropriate as the schema handles parameter documentation adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('Kibana server status'), making the purpose evident. It adds specificity with 'multi-space support' which distinguishes it from generic status tools. However, it doesn't explicitly differentiate from sibling tools like 'get_kibana_api_detail' or 'execute_kb_api', which might also retrieve status-related information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions 'multi-space support' but doesn't explain if this is for checking overall server health, space-specific status, or when to prefer it over siblings like 'get_available_spaces' or 'execute_kb_api'. No explicit when/when-not instructions or prerequisites are included.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_all_kibana_api_pathsB

List all Kibana API endpoints as a resource list

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states what the tool does but doesn't describe important behavioral traits like whether this is a read-only operation, what format the resource list returns, whether there are rate limits, or if authentication is required. The description is functional but lacks operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that communicates the core functionality without any wasted words. It's appropriately sized for a zero-parameter tool and front-loads the essential information ('List all Kibana API endpoints').

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description adequately states what the tool does but lacks important context about the return format, behavioral characteristics, and differentiation from sibling tools. Given the complexity of API endpoint listing and the absence of annotations/output schema, the description should provide more operational guidance to be truly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, and the schema fully documents this absence without needing additional explanation in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List all') and resource ('Kibana API endpoints as a resource list'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'search_kibana_api_paths' or 'get_kibana_api_detail', which would require more specific scope information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'search_kibana_api_paths' or 'get_kibana_api_detail'. There's no mention of use cases, prerequisites, or comparisons with sibling tools, leaving the agent without contextual usage information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_kibana_api_pathsC

Search Kibana API endpoints by keyword

ParametersJSON Schema
NameRequiredDescriptionDefault
searchYesSearch keyword for filtering API endpoints

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool searches endpoints by keyword, but doesn't describe behavioral traits such as whether it's read-only, safe to use, what the output format looks like (e.g., list of paths, details), or any limitations (e.g., search scope, rate limits). For a tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence: 'Search Kibana API endpoints by keyword'. It's front-loaded with the core action and resource, with zero wasted words. Every part of the sentence earns its place by conveying essential purpose, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a search function with one parameter) and the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., a list of endpoint paths, details, or matches), how results are formatted, or any behavioral context needed for effective use. This leaves significant gaps for the agent to understand the tool's full context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'search' documented as 'Search keyword for filtering API endpoints'. The description adds no additional meaning beyond this, as it only repeats the keyword concept without elaborating on syntax, format, or examples. Given the high schema coverage, the baseline score of 3 is appropriate, as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search Kibana API endpoints by keyword'. It specifies the verb ('search'), resource ('Kibana API endpoints'), and mechanism ('by keyword'), which is specific and actionable. However, it doesn't explicitly differentiate from sibling tools like 'list_all_kibana_api_paths' or 'get_kibana_api_detail', which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'list_all_kibana_api_paths' (which might list all endpoints without filtering) or 'get_kibana_api_detail' (which might retrieve details for a specific endpoint), leaving the agent to infer usage context. This lack of explicit when-to-use or alternative references results in minimal guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv1.0.0
    • First observedexecute_kb_api
    • First observedget_available_spaces
    • First observedget_kibana_api_detail
    • First observedget_status
    • First observedlist_all_kibana_api_paths
    • First observedsearch_kibana_api_paths

TDQS

A3.5/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: execute_kb_api performs custom API calls, get_available_spaces lists spaces, get_kibana_api_detail provides endpoint details, get_status checks server status, list_all_kibana_api_paths enumerates all endpoints, and search_kibana_api_paths searches endpoints. The descriptions reinforce these unique functions, making misselection unlikely.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with snake_case: execute_kb_api, get_available_spaces, get_kibana_api_detail, get_status, list_all_kibana_api_paths, and search_kibana_api_paths. The naming is predictable and readable throughout the set, with no deviations in style or convention.

Tool Count5/5

With 6 tools, the count is well-scoped for a Kibana MCP server focused on API exploration and execution. Each tool earns its place by covering distinct aspects like status, spaces, endpoint listing, searching, detailing, and execution, avoiding bloat while providing comprehensive functionality.

Completeness4/5

The tool set is highly complete for exploring and interacting with Kibana APIs, covering discovery (list/search), details, spaces, status, and execution. A minor gap exists in lacking direct CRUD operations for Kibana objects like dashboards or visualizations, but agents can work around this using execute_kb_api for custom requests.

Maintenance

ActivityActive
ResponsivenessSlow

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that enables interaction with Elasticsearch and OpenSearch clusters for searching documents and managing indices. It provides tools for cluster health monitoring, index configuration, and general API requests.
    16
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for Kibana / Elasticsearch — log search, aggregations, index discovery, and dashboard browsing. Hits Elasticsearch REST API directly for log queries; falls back to Kibana Console proxy when no direct ES URL is configured. Supports ApiKey auth (best for agents), Basic auth, and anonymous access. All 5 tools are read-only (readOnlyHint: true). Returns structured JSON (outputSchema).
    5
    55 PyPI
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that provides tools and resources to interact with Elasticsearch clusters, including listing indices, searching, and retrieving mappings.
    3
    MIT