
Kibana 安全中的 Model Context Protocol (MCP) 服务器——通过AI助手管理警报、规则和例外情况。
git clone https://github.com/ggilligan12/kibana-mcp.git
cd kibana-mcp
docker build -t kibana-mcp .
在您的 MCP 客户端配置中添加(例如 Claude Desktop, Cursor 等):
选项 A:使用环境变量(推荐)
首先设置您的凭据:
export KIBANA_URL="https://your-kibana.example.com:5601"
# 选项 1:API 密钥(推荐)
export KIBANA_API_KEY="your_base64_api_key"
# 选项 2:用户名/密码
# export KIBANA_USERNAME="your_username"
# export KIBANA_PASSWORD="your_password"
然后在您的 MCP 配置中添加:
{
"mcpServers": {
"kibana-mcp": {
"command": "docker",
"args": ["run", "-i", "--rm", "--network", "host", "-e", "KIBANA_URL", "-e", "KIBANA_API_KEY", "kibana-mcp"]
}
}
}
对于用户名/密码,使用:
{
"mcpServers": {
"kibana-mcp": {
"command": "docker",
"args": ["run", "-i", "--rm", "--network", "host", "-e", "KIBANA_URL", "-e", "KIBANA_USERNAME", "-e", "KIBANA_PASSWORD", "kibana-mcp"]
}
}
}
选项 B:直接凭据(适用于 Claude Desktop 更方便)
使用 API 密钥:
{
"mcpServers": {
"kibana-mcp": {
"command": "docker",
"args": [
"run", "-i", "--rm", "--network", "host",
"-e", "KIBANA_URL=https://your-kibana.example.com:5601",
"-e", "KIBANA_API_KEY=your_base64_api_key",
"kibana-mcp"
]
}
}
}
使用用户名/密码:
{
"mcpServers": {
"kibana-mcp": {
"command": "docker",
"args": [
"run", "-i", "--rm", "--network", "host",
"-e", "KIBANA_URL=https://your-kibana.example.com:5601",
"-e", "KIBANA_USERNAME=your_username",
"-e", "KIBANA_PASSWORD=your_password",
"kibana-mcp"
]
}
}
}
注意:选项 B 虽然更方便,但安全性较低,特别是对于像 Claude Desktop 这样的工具,其中环境变量较难管理。
get_alerts - 获取安全警报tag_alert - 向警报添加标签adjust_alert_status - 更改警报状态(打开/已确认/关闭)find_rules - 搜索检测规则get_rule_exceptions - 获取规则例外项add_rule_exception_items - 向规则添加例外项create_exception_list - 创建新的例外列表associate_shared_exception_list - 将例外列表链接到规则# 安装依赖
uv sync
# 设置环境变量(参见上文)
# 本地运行
uv run kibana-mcp
# 启动带有测试数据的本地 Kibana/Elasticsearch
pip install -r testing/requirements-dev.txt
./testing/quickstart-test-env.sh
# 访问 http://localhost:5601 (elastic/elastic)