返回市场
Kibana-MCP

Kibana-MCP

作者:ggilligan1211 星标更新:2025-06-01

项目介绍

Kibana MCP 服务器

Kibana MCP 示例

Kibana 安全中的 Model Context Protocol (MCP) 服务器——通过AI助手管理警报、规则和例外情况。

快速开始

1. 克隆并构建

git clone https://github.com/ggilligan12/kibana-mcp.git
cd kibana-mcp
docker build -t kibana-mcp .

2. 配置 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)