K

Kibana MCP服务器

@TocharianOU/mcp-server-kibana
1 Stars 455 次浏览 TocharianOU 更新于 2026-08-23

识别到的语言类型为英语。 翻译结果:Kibana MCP服务器

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "kibana-mcp-server": {
      "args": [
        "@tocharian/mcp-server-kibana"
      ],
      "command": "npx",
      "env": {
        "KIBANA_DEFAULT_SPACE": "default",
        "KIBANA_PASSWORD": "your-password",
        "KIBANA_URL": "http://your-kibana-server:5601",
        "KIBANA_USERNAME": "your-username",
        "NODE_TLS_REJECT_UNAUTHORIZED": "0"
      }
    }
  }
}

服务介绍

Kibana MCP 服务器

API 规范

本项目基于 Elastic 官方的 Kibana API 文档,并使用来自 Elastic Stack 8.x (ES8) 的 OpenAPI YAML 规范来动态检索和管理所有 Kibana API 端点。有关最新详情,请参阅 Kibana API 文档

这是一个 Kibana MCP 服务器实现,允许任何与 MCP 兼容的客户端(如 Claude Desktop)通过自然语言或编程请求访问您的 Kibana 实例。

此项目由社区维护,并非 Elastic 或 MCP 的官方产品。


功能

  • 连接到本地或远程 Kibana 实例
  • 安全认证(用户名/密码)
  • SSL/TLS 和自定义 CA 证书支持
  • 将 Kibana API 端点作为工具和资源公开
  • 从 MCP 客户端搜索、查看和执行 Kibana APIs
  • 类型安全、可扩展且易于集成

目录结构

├── index.ts # 服务器入口点
├── src/
│ ├── types.ts # 类型定义和模式
│ ├── base-tools.ts # 工具注册和 API 逻辑
│ ├── prompts.ts # 提示注册(专家 & 资源助手)
│ └── resources.ts # 资源注册(API 路径/URI)
├── kibana-openapi-source.yaml # Kibana API OpenAPI 索引
├── README.md # 英文文档
├── README_zh.md # 中文文档


资源

资源 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 APIs。推荐大多数用户使用。
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 | 设置为 0 以禁用 SSL 证书验证(谨慎使用) | 否 |


使用方法

启动服务器

bash
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):

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 请求 /api/status。"
  • "获取 Kibana 中的所有仪表板列表。"
  • "查询与端点事件相关的 API 端点。"
  • "列出所有与案件相关的 API 端点。"
  • "在 Kibana 中创建一个新案件。"
  • "在 Kibana 中创建一个新的仪表板。"

Claude Desktop 中的两种提示模式

当使用此服务器与 Claude Desktop 结合时,支持两种不同的提示交互模式:

1. 基于工具的提示模式

  • 工作原理: Claude Desktop 可以直接调用服务器工具(如 get_statusexecute_apisearch_kibana_api_paths 等)来回答您的问题或执行操作。
  • 最适合: 希望获得对话式、引导式体验的用户。服务器将自动搜索、执行并解释 Kibana API。
  • 示例: "显示所有与保存对象相关的 Kibana API 端点。"
  • 测试提示: 在 Claude Desktop 中选择 kibana-tool-expert 提示进行集成测试,然后开始使用。

2. 基于资源的提示模式

  • 工作原理: Claude Desktop 通过资源 URI(如 kibana-api://pathskibana-api://path/GET/%2Fapi%2Fstatus)与服务器交互,服务器返回结构化数据供 Claude 解析。
  • 最适合: 高级用户、仅支持资源访问的 MCP 客户端或需要原始 API 元数据的编程场景。
  • 示例: "获取资源 kibana-api://paths?search=dashboard"

注意: resources 中的两个端点(kibana-api://pathskibana-api://path/{method}/{encoded_path})有对应的基工具(list_all_kibana_api_pathsget_kibana_api_detail)。这种设计确保了与无法智能选择多个资源的 MCP 客户端的兼容性,使像 Claude Desktop 这样的工具更容易与 Kibana 交互。

提示: 大多数用户建议使用工具模式以获得更自然和强大的体验;资源模式则为高级和兼容性用例提供了最大的灵活性。


开发

安装依赖项:

bash
npm install

构建服务器:

bash
npm run build

开发模式下自动重建:

bash
npm run watch


调试由于MCP服务器通过stdio进行通信,调试可能不太方便。建议使用MCP Inspector:

bash
npm run inspector

启动后,Inspector将提供一个可通过浏览器访问的调试工具URL。


社区

本项目由社区维护。欢迎贡献和反馈!请在所有交流中保持尊重和包容,并遵守Elastic Community Code of Conduct


许可证

本项目采用Apache License 2.0许可。详情请参阅LICENSE文件。


故障排除

  • 检查MCP配置是否正确
  • 确保Kibana地址可访问
  • 验证认证凭据是否有足够的权限
  • 如果使用自定义CA,请确保证书路径正确且可读
  • 如果使用NODE_TLS_REJECT_UNAUTHORIZED=0,请注意安全风险
  • 检查终端输出的错误信息

相关 MCP 服务