使用说明

项目简介

本项目 'Mackerel MCP Server' 是一个实现了 Model Context Protocol (MCP) 协议的服务器,专门为 Mackerel 监控服务设计。它允许大型语言模型 (LLM) 客户端通过标准化的 MCP 接口,安全、便捷地访问和操作 Mackerel 监控平台的数据和功能。

主要功能点

  • 主机管理
    • 获取主机列表、主机详情
    • 更新主机状态(如待机、工作中、维护中、关机)
    • 退役主机
  • 服务管理
    • 获取服务列表、服务详情
  • 监控项管理
    • 获取监控项列表
    • 创建、更新、删除监控项
  • 告警管理
    • 获取告警列表
    • 关闭告警
  • 停机维护管理
    • 获取停机维护计划列表
    • 创建、更新、删除停机维护计划
  • 通知渠道管理
    • 获取通知渠道列表
    • 创建、删除通知渠道

所有功能均以 工具 (Tools) 的形式暴露给 LLM 客户端,客户端可以通过调用这些工具获取 Mackerel 的监控数据或执行操作。

安装步骤

  1. 环境准备:

    • 确保已安装 Python 3.12 或更高版本。
    • 确保已安装 'uv' (可以使用 'pip install uv' 安装)。
    • 获取 Mackerel API 密钥 (MACKEREL_API_KEY)。
  2. 下载代码:

  3. 配置环境变量:

    • 设置环境变量 'MACKEREL_API_KEY' 为您的 Mackerel API 密钥。例如,在 Linux/macOS 中可以执行 'export MACKEREL_API_KEY=YOUR_API_KEY'。
  4. 运行服务器:

    • 进入 'src/mackerel_mcp_server' 目录。
    • 执行命令 'uv run server.py' 启动 MCP 服务器。

服务器配置

以下 JSON 配置信息用于 MCP 客户端(例如 Claude Desktop)连接 'Mackerel MCP Server'。客户端需要配置 'command' 和 'args' 来启动服务器进程,并配置 'env' 传递必要的环境变量。

{
  "mcp-mackerel": {  //  服务器名称,客户端用于识别和调用
    "command": "uv",  //  启动服务器的命令,这里使用 uv 运行 Python 脚本
    "args": [         //  命令参数
      "run",         //  uv 的 run 命令
      "--directory", //  指定工作目录
      "/app/mackerel_mcp_server", //  服务器代码所在的目录 (根据实际部署路径修改)
      "server.py"    //  服务器启动脚本
    ],
    "env": {           //  环境变量
      "MACKEREL_API_KEY": "YOUR_MACKEREL_API_KEY"  //  Mackerel API 密钥,请替换为您的密钥
    }
  }
}

注意:

  • '/app/mackerel_mcp_server' 应替换为服务器代码在客户端运行环境中的实际路径。
  • 'YOUR_MACKEREL_API_KEY' 应替换为您的 Mackerel API 密钥。

基本使用方法

  1. 启动 MCP 客户端:

    • 配置并启动支持 MCP 协议的客户端,例如 Claude Desktop,并加载上述服务器配置。
  2. 调用工具:

    • 在客户端中,您可以通过自然语言指令或图形界面,调用 'Mackerel MCP Server' 提供的工具。例如:
    • 询问 "列出所有主机" 或 "显示主机列表",客户端将调用 'list_hosts' 工具获取主机信息。
    • 询问 "获取服务 web 的信息",客户端将调用 'get_service' 工具并传入服务名称 "web"。
    • 您可以参考 'server.py' 文件中 '@mcp.tool()' 注解的函数,了解所有可用的工具及其参数。
  3. 查看结果:

    • 工具执行结果将以 JSON 格式返回给客户端,客户端根据需要展示或处理这些信息。

通过以上步骤,您可以利用 'Mackerel MCP Server' 将 Mackerel 监控服务集成到支持 MCP 协议的 LLM 应用中,实现更智能的监控数据访问和运维操作。

信息

分类

开发者工具