mcpField
P
pingpulse

pingpulse

本地服务
github.com/CloudCorpRecords云与基础设施02 天前更新

关于 pingpulse

pingpulse 是连接 Hyperping 托管式正常运行时间监控 MCP 服务的本地桥接工具,面向处理监控和事件响应的 Agent。工具涵盖监视器、故障、值班安排、状态页、维护、日志及相关项目视图。

主要功能

  1. 01列出、查看和控制监视器
  2. 02查看和处理故障
  3. 03读取正常运行时间及响应时间指标
  4. 04查看值班安排和升级策略
  5. 05管理状态页及事件
  6. 06搜索日志并安排维护

适用场景

  1. 01检查监视器健康状况和性能
  2. 02确认、升级或解决故障
  3. 03发布状态页事件更新
  4. 04调查日志并规划维护窗口

MCP 相关

通过本地桥接向 MCP 客户端提供 Hyperping 监控工具,将工具调用转发至 Hyperping 托管的 MCP 服务,并原样返回回复。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-pingpulse": {
"command": "npx",
"args": [
"-y",
"@reneturcios/pingpulse"
]
}
}
}
启动命令npx -y @reneturcios/pingpulse

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/pingpulse0.1.0
ocighcr.io/cloudcorprecords/pingpulse:0.1.0

工具

69

收录的工具列表 · 更新于 2 天前

参数类型必填说明
pageinteger否从 0 开始的页码。默认值为 0。
limitinteger否每页行数。默认值为 50,最大值为 200。
statusenum否按状态筛选。"ssl_expiring" 表示 SSL 将在 30 天内过期。up | down | paused | ssl_expiring

详细介绍

pingpulse

pingpulse 是一个小型本地桥接服务,用于连接托管的 Hyperping 正常运行时间监控 MCP 服务。它将整个监控工作区 整合到一个工具界面中:监控网站和 API 的监控器、这些监控器 产生的故障、发生问题时会被唤醒的人员,以及向用户说明 当前情况的公共状态页。

Agent 可以在此列出和检查监控器, 暂停或恢复监控器,按需运行检查,查看 正常运行时间、响应时间、MTTR 和 MTTA 数据,处理故障 (确认、升级、解决),查看值班安排和升级策略, 管理状态页并发布或更新其中的故障,安排维护窗口,搜索日志 和日志仪表板,并获取项目报告、 健康检查、服务器、浏览器运行记录和审计日志。此界面包含 69 个工具,与从实时端点捕获的内容完全一致。其中没有 付款、账单或套餐工具。

此桥接服务不保存自己的监控数据。它会在本地返回工具列表, 与捕获的内容完全一致;并将每次工具调用转发到上游,原样 返回收到的内容。

工具

按类别分组;对于捕获的架构中带有必需参数的工具,已列出这些参数。 未列出必需参数的工具没有必需参数 (捕获内容中 69 个工具有 26 个完全不含 required 键, 它们也按此方式提供)。

  • 监控器:list_monitors、get_monitor(uuid)、 create_monitor(name、url)、update_monitor (uuid)、pause_monitor(uuid)、resume_monitor (uuid)、search_monitors_by_name(query)、 get_status_summary。
  • 故障和警报:list_outages、get_outage (uuid)、get_outage_timeline(uuid)、 get_monitor_outages(monitor_uuid)、 create_outage(description)、 acknowledge_outage(uuid)、escalate_outage (uuid)、resolve_outage(uuid)、 list_recent_alerts、get_outage_alerts(uuid)。
  • 监控器指标:get_monitor_uptime、 get_monitor_response_time、get_monitor_mttr、 get_monitor_mtta、get_monitor_anomalies(uuid)、 get_monitor_http_logs(uuid)。
  • 值班:list_on_call_schedules、 get_on_call_schedule(uuid)、 list_escalation_policies、get_escalation_policy (uuid)、list_team_members、get_on_call_now。
  • 集成:list_integrations、get_integration (uuid)。
  • 状态页:list_status_pages、 get_status_page(uuid)、create_status_page (name、subdomain)、update_status_page(uuid)、 add_status_page_services(uuid、services)、 remove_status_page_services(uuid、services)。
  • 状态页故障:list_status_page_incidents、 get_status_page_incident(uuid)、 create_status_page_incident(title、message、 status_pages)、add_status_page_incident_update (uuid、message、status)、 resolve_status_page_incident(uuid、message)、 update_status_page_incident(uuid)、 edit_status_page_incident_update(uuid、 update_uuid)。
  • 维护:list_maintenance_windows、 get_maintenance_window(uuid)、 create_maintenance_window(name、start_date、 end_date、monitors)、update_maintenance_window (uuid)、complete_maintenance_window(uuid)、 cancel_maintenance_window(uuid)。
  • 日志:search_logs、get_outage_logs(uuid)、 summarize_log_errors、list_log_dashboards、 run_log_chart、create_log_dashboard_from_template (template_id)。
  • 检查和变更:get_outage_checks(uuid)、 find_correlated_outages、get_recent_changes、 run_check_now(uuid)。
  • 平台视图:list_healthchecks、 get_healthcheck(uuid)、list_servers、 get_server(uuid)、list_audit_log、 get_project_report、list_browser_runs(uuid)、 get_browser_run(uuid)。

配置

  • HYPERPING_MCP_URL(可选)— 覆盖上游端点。默认为 https://api.hyperping.io/v1/mcp。(此覆盖钩子是本次重建中特别标注的还原内容。)
  • HYPERPING_API_KEY(可选)— 设置后,每个上游请求都会携带包含 Hyperping API 密钥的 Authorization: Bearer <key> 标头。未设置时,不会发送密钥标头;抓取到的接口无需密钥即可返回工具列表。(原始注册表记录指定了 Authorization 标头名称,并声明它是远程服务的必需密钥;该记录未指定软件包的环境变量名称,因此 Bearer 格式以及从此环境变量转发密钥均为特别标注的还原内容。)
转发机制

首次调用工具时,客户端会在上游打开一个可流式传输的 HTTP 会话:先发送 JSON-RPC initialize 请求(protocolVersion 为 2025-03-26,clientInfo 名称为 pingpulse),然后发送 notifications/initialized 通知,最后发送携带调用方参数且保持原样的 tools/call 请求。上游在 initialize 响应中返回 Mcp-Session-Id 标头时,该值会随之后的每个请求一起发送;此会话会在整个进程生命周期内重复使用。响应可能是普通 JSON,也可能是服务器发送的事件;两种形式都会读取。

成功的上游结果会原样传递,包括上游设置的任何 isError 标记。失败情况——JSON-RPC 错误、非 2xx 状态、无法读取的响应或无法完成的请求——会作为 isError 结果返回,文本以 pingpulse error: 开头(此错误呈现方式是本次重建中特别标注的还原内容)。

CLI

每个工具也可以作为子命令使用,并接受一个 JSON 参数字符串:

npx @reneturcios/pingpulse list_monitors '{"status":"down"}'
npx @reneturcios/pingpulse get_monitor '{"uuid":"mon_..."}'
npx @reneturcios/pingpulse create_monitor '{"name":"API","url":"https://example.com/health"}'
npx @reneturcios/pingpulse get_status_summary '{}'
npx @reneturcios/pingpulse --version

退出代码:成功时为 0,结果为 isError 时为 1,用法错误时为 2。

MCP 服务

npx -y @reneturcios/pingpulse mcp

MCP 客户端配置:

{
  "mcpServers": {
    "pingpulse": {
      "command": "npx",
      "args": ["-y", "@reneturcios/pingpulse", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/pingpulse
docker run --rm ghcr.io/cloudcorprecords/pingpulse --version

容器的默认命令为 mcp,因此第一种形式是 stdio MCP 服务;其他参数会照常传递给 CLI。

开发

npm install
npm run build
npm test
npm run dev

测试套件完全通过桩接的 JSON-RPC 上游运行,不会进行实时网络调用。

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。