监控管理协议服务器

为Uptime Kuma v2设计的模型上下文协议服务器,支持AI助手管理监控服务,包括添加、更新、暂停、恢复和删除监控器,检查状态和查看心跳记录。

  • by tuliof
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 tuliof/kuma-mcp

使用说明

库马-MCP

一种模型上下文协议(MCP)服务器 正常运行时间Kuma v2。使AI助手能够管理监控服务——添加、更新、暂停、恢复和删除监控器,检查状态和检查心跳。

快速开始

# Install globally
npm install -g kuma-mcp

# Or run directly
npx kuma-mcp

需要正在运行的Uptime Kuma v2实例和凭据。

先决条件

配置

设置这些环境变量:

变量 必填 描述
UPTIME_KUMA_URL 是 您的Uptime Kuma实例的URL(例如。 http://localhost:3001)
UPTIME_KUMA_USERNAME 带密码 身份验证用户名
UPTIME_KUMA_PASSWORD 使用用户名 密码进行身份验证
创建一个 .env 文件(复制自 .env.example)或者直接在MCP客户端配置中传递它们。

注: 正常运行时间Kuma API密钥是REST-only(用于Prometheus /metrics 抓取),不能用于监控管理。此服务器通过Socket上的用户名/密码进行身份验证。IO。

用法

作为CLI

kuma-mcp

通过stdio启动MCP服务器。与任何兼容MCP的客户端集成。

MCP客户端集成

Claude Desktop (claude_desktop_config.json)
{
  "mcpServers": {
    "kuma-mcp": {
      "command": "npx",
      "args": ["kuma-mcp"],
      "env": {
        "UPTIME_KUMA_URL": "http://localhost:3001",
        "UPTIME_KUMA_USERNAME": "your-username",
        "UPTIME_KUMA_PASSWORD": "your-password"
      }
    }
  }
}
GitHub Copilot (~/.github/copilot.json)
{
  "mcpServers": {
    "kuma-mcp": {
      "command": "npx",
      "args": ["-y", "kuma-mcp"],
      "env": {
        "UPTIME_KUMA_URL": "http://localhost:3001",
        "UPTIME_KUMA_USERNAME": "your-username",
        "UPTIME_KUMA_PASSWORD": "your-password"
      }
    }
  }
}
OpenCode (.opencode.json)
{
  "mcp": {
    "kuma-mcp": {
      "type": "command",
      "command": "bunx",
      "args": ["kuma-mcp"],
      "env": {
        "UPTIME_KUMA_URL": "http://localhost:3001",
        "UPTIME_KUMA_USERNAME": "admin",
        "UPTIME_KUMA_PASSWORD": "admin123"
      }
    }
  }
}

可用工具

工具 说明
add_monitor 添加新监视器
update_monitor_by_id 按ID更新现有监视器
remove_monitors 按ID删除监视器
pause_monitors 按ID暂停监视器
resume_monitors 按ID恢复监视器
get_monitors 按ID获取特定监视器的详细信息
find_monitors_by_name 按名称查找监视器(支持正则表达式)
list_monitors 列出所有监视器
bulk_update_monitors 一次更新多个监视器
get_monitor_status 获取监视器的当前状态
get_monitors_by_status 按状态(向上/向下/暂停/…)查找监视器
get_monitor_heartbeats_by_id 获取原始心跳记录
get_monitor_summary_by_id 获取24小时健康状况汇总
get_tags 列出所有标签定义
add_tag 创建新标签
edit_tag 更新现有标记
delete_tag 删除标签(从所有监视器中删除)
add_monitor_tag 在显示器上贴上标签
edit_monitor_tag 更新标签监视器关联值
delete_monitor_tag 从显示器上删除标签

示例提示

使用MCP兼容的AI助手尝试这些自然语言提示:

  • “显示当前关闭的所有监视器”
  • “为添加HTTP监视器https://api.example.com/health每60秒检查一次,并将其命名为“API运行状况”
  • “为什么‘API Prod’监测仪昨晚坏了?看看过去24小时的心跳”
  • “我们今晚将进行维护-暂停“API暂存”监视器和所有匹配“暂存-*”的监视器”
  • “给我一份API Prod监视器的24小时正常运行时间摘要”
  • 卸下旧的“api-test-v2”显示器,它已被更换
  • “将“API生产”重命名为“API生产”,并将其检查间隔增加到120秒”
  • “使用绿色标签将“API Prod”监视器标记为“production”
  • “显示所有标记为“生产”的监视器”

代理设置提示

如果您使用AI编码代理(OpenCode、Cursor、Windsurf等),请将此提示粘贴到您的代理说明或规则文件中,使其自动设置kuma-mcp:

您可以访问管理Uptime kuma监控实例的kuma mcp mcp服务器。您可以创建、更新、暂停、恢复和删除监视器,检查其状态和心跳,以及管理标签。

监视器查找模式:始终使用 find_monitors_by_name 在调用操作工具之前将名称解析为ID。例如,暂停“API Prod”:第一次调用 find_monitors_by_name("API Prod")那么 pause_monitors({ids: [result.id]}).

可用工具:add_monitor、update_monitor_by_id、remove_monitors、pause_mmonitors、resume_monitors,get_monitors,find_monitors_by_name,list_monitors;bulk_update_monitors。get_monitor_status,get_monitors_by_status;get_monitor_heartbeats_by_id,get_monitor_summary_by_id;get_tags;add_tag;edit_tag;delete_tag;add_monitor_tag;edit_monitor_tags;delete_monitor_tog。

环境:服务器通过以下方式连接 UPTIME_KUMA_URL, UPTIME_KUMA_USERNAME,以及 UPTIME_KUMA_PASSWORD.

发展

git clone https://github.com/tuliof/kuma-mcp.git
cd kuma-mcp
bun install
bun run dev

看 贡献.md 了解详情。

许可证

麻省理工学院