使用说明
项目简介
本项目 'Mackerel MCP Server' 是一个实现了 Model Context Protocol (MCP) 协议的服务器,专门为 Mackerel 监控服务设计。它允许大型语言模型 (LLM) 客户端通过标准化的 MCP 接口,安全、便捷地访问和操作 Mackerel 监控平台的数据和功能。
主要功能点
- 主机管理:
- 获取主机列表、主机详情
- 更新主机状态(如待机、工作中、维护中、关机)
- 退役主机
- 服务管理:
- 获取服务列表、服务详情
- 监控项管理:
- 获取监控项列表
- 创建、更新、删除监控项
- 告警管理:
- 获取告警列表
- 关闭告警
- 停机维护管理:
- 获取停机维护计划列表
- 创建、更新、删除停机维护计划
- 通知渠道管理:
- 获取通知渠道列表
- 创建、删除通知渠道
所有功能均以 工具 (Tools) 的形式暴露给 LLM 客户端,客户端可以通过调用这些工具获取 Mackerel 的监控数据或执行操作。
安装步骤
-
环境准备:
- 确保已安装 Python 3.12 或更高版本。
- 确保已安装 'uv' (可以使用 'pip install uv' 安装)。
- 获取 Mackerel API 密钥 (MACKEREL_API_KEY)。
-
下载代码:
- 从 GitHub 仓库 https://github.com/ryuichi1208/mackerel-mcp-server 下载代码。
-
配置环境变量:
- 设置环境变量 'MACKEREL_API_KEY' 为您的 Mackerel API 密钥。例如,在 Linux/macOS 中可以执行 'export MACKEREL_API_KEY=YOUR_API_KEY'。
-
运行服务器:
- 进入 '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 密钥。
基本使用方法
-
启动 MCP 客户端:
- 配置并启动支持 MCP 协议的客户端,例如 Claude Desktop,并加载上述服务器配置。
-
调用工具:
- 在客户端中,您可以通过自然语言指令或图形界面,调用 'Mackerel MCP Server' 提供的工具。例如:
- 询问 "列出所有主机" 或 "显示主机列表",客户端将调用 'list_hosts' 工具获取主机信息。
- 询问 "获取服务 web 的信息",客户端将调用 'get_service' 工具并传入服务名称 "web"。
- 您可以参考 'server.py' 文件中 '@mcp.tool()' 注解的函数,了解所有可用的工具及其参数。
-
查看结果:
- 工具执行结果将以 JSON 格式返回给客户端,客户端根据需要展示或处理这些信息。
通过以上步骤,您可以利用 'Mackerel MCP Server' 将 Mackerel 监控服务集成到支持 MCP 协议的 LLM 应用中,实现更智能的监控数据访问和运维操作。
信息
分类
开发者工具