README
🚀 Kibana MCP 服务器
Kibana MCP 服务器允许任何 MCP 兼容客户端(如 Claude Desktop)通过自然语言或程序化请求访问您的 Kibana 实例,基于官方 Elastic Kibana API 文档,使用 Elastic Stack 8.x (ES8) 的 OpenAPI YAML 规范动态获取和管理所有 Kibana API 端点。
🚀 快速开始
构建项目
npm install
启动服务器
node dist/index.js
配置 MCP 服务器
在 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"
}
}
}
}
✨ 主要特性
- 动态 API 管理:使用 OpenAPI 规范动态获取和管理所有 Kibana API 端点。
- 兼容性:支持与 Claude Desktop 等工具集成,提供基于工具和基于资源两种交互模式。
- 安全性:支持身份验证和权限控制,确保安全访问 Kibana 实例。
📦 安装指南
安装依赖
npm install
构建服务器
npm run build
自动重建(开发模式)
npm run watch
💻 使用示例
基础用法
以下是一些示例查询:
- "我的 Kibana 服务器状态如何?"
- "列出所有可用的 Kibana API 端点。"
- "显示 POST /api/saved_objects/_find 端点的详细信息。"
- "执行自定义 API 请求以获取 /api/status 的内容。"
- "获取所有 Kibana 仪表板的列表。"
- "查询与端点事件相关的 API 端点。"
- "列出所有与案例相关的 API 端点。"
- "在 Kibana 中创建新案例。"
- "在 Kibana 中创建新仪表板。"
高级用法
基于工具的提示模式
- 工作原理:Claude Desktop 可以直接调用服务器工具(如
get_status、execute_api、search_kibana_api_paths等)来回答问题或执行操作。 - 适用场景:用户希望获得对话式、引导型体验。服务器将自动搜索、执行并解释 Kibana API。
- 示例:"显示所有与已保存对象相关的 Kibana API 端点。"
基于资源的提示模式
- 工作原理:Claude Desktop 通过资源 URI(如
kibana-api://paths或kibana-api://path/GET/%2Fapi%2Fstatus)与服务器交互,服务器返回结构化数据供 Claude 解析。 - 适用场景:高级用户、仅支持资源访问的 MCP 客户端或需要原始 API 元数据的编程场景。
📚 详细文档
API 规范
该项目基于官方 Elastic Kibana API 文档,并使用 Elastic Stack 8.x (ES8) 的 OpenAPI YAML 规范动态获取和管理所有 Kibana API 端点。有关最新细节,请参阅 Kibana API 文档。
开发
依赖安装
npm install
项目构建
npm run build
自动重建(开发模式)
npm run watch
调试
由于 MCP 服务器通过标准输入输出进行通信,调试可能不太方便。推荐使用 MCP Inspector:
npm run inspector
启动后,Inspector 会提供一个可通过浏览器访问的调试工具 URL。
社区
该项目由社区维护。欢迎贡献和反馈!请在所有交流中保持尊重和包容,并遵守 Elastic Community Code of Conduct。
故障排除
- 检查 MCP 配置是否正确。
- 确保 Kibana 地址可以访问。
- 验证身份验证凭据是否有足够的权限。
- 如果使用自定义 CA,确保证书路径正确且可读。
- 如果使用
NODE_TLS_REJECT_UNAUTHORIZED=0,注意安全风险。 - 检查终端输出的错误信息。
📄 许可证
该项目 licensed under the Apache License 2.0。请参阅 LICENSE 文件获取详细信息。
⚠️ 重要提示 该项目由社区维护,并非 Elastic 或 MCP 的官方产品。
💡 使用建议 在使用
NODE_TLS_REJECT_UNAUTHORIZED=0时,要特别注意安全风险。
扫码联系在线客服