关于 Pulsetic Mcp Server
Pulsetic MCP Server 将兼容 MCP 的 AI 客户端连接到 Pulsetic 监控平台,适用于管理团队的正常运行时间监控、事件、维护窗口和状态页。其工具覆盖监控数据查询及相关管理操作。
主要功能
- 01列出监控项并查看正常运行时间统计
- 02创建、更新、暂停和恢复监控项
- 03查看监控事件和停机时间
- 04列出状态页和事件
- 05创建、更新和解决事件
- 06安排和删除维护窗口
适用场景
- 01检查服务正常运行时间和近期中断
- 02在部署或迁移期间调整监控
- 03在状态页发布事件更新
- 04安排状态页维护窗口
MCP 相关
该服务通过远程 HTTP 端点向 MCP 客户端提供 Pulsetic 监控、状态页、事件和维护工具。访问需要具备 API 权限的 Pulsetic 账户及 API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Pulsetic MCP 服务
使用 Model Context Protocol(MCP)将 AI 助手连接到你的 Pulsetic 监控平台。
什么是 MCP?
Model Context Protocol 是一项开放标准,允许 AI 助手与外部工具和服务交互。借助 Pulsetic 的 MCP 服务,你可以通过自然对话让 AI 助手检查监控器状态、创建事件、安排维护等。
支持的客户端:
- Claude Desktop — Anthropic 的桌面应用
- Claude Code — Anthropic 面向开发者的命令行工具
- ChatGPT — OpenAI 的 AI 助手(通过 OAuth)
- Cursor — AI 驱动的代码编辑器
- Windsurf — AI 驱动的 IDE
- 任何实现了 MCP 规范 的客户端
前置条件
- 拥有开通了 API 访问权限 的 Pulsetic 账户(Business 或 Enterprise 套餐)。
- Pulsetic API 密钥 — 在控制面板的 Settings → API 中生成。
- 兼容 MCP 的 AI 客户端。
设置
Claude Desktop
Claude Desktop 使用基于 stdio 的 MCP 服务。使用 mcp-remote 连接远程 HTTP 端点。打开 Settings → Developer → Edit Config 并添加:
{
"mcpServers": {
"pulsetic": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://api.pulsetic.com/mcp",
"--header", "Authorization: Bearer YOUR_API_KEY"
]
}
}
}
将 YOUR_API_KEY 替换为你的实际 API 密钥。重启 Claude Desktop 以应用更改。
Claude Code
将服务添加到项目的 .mcp.json 文件中:
{
"mcpServers": {
"pulsetic": {
"type": "streamableHttp",
"url": "https://api.pulsetic.com/mcp",
"headers": {
"Authorization": "YOUR_API_KEY"
}
}
}
}
Cursor
打开 Settings → MCP Servers → Add Server 并进行配置:
- Type: streamableHttp
- URL:
https://api.pulsetic.com/mcp - Headers:
Authorization: YOUR_API_KEY
ChatGPT
ChatGPT 通过 Developer Mode 原生支持 MCP。它使用 OAuth 与 Pulsetic 进行身份验证。
第 1 步。 在 ChatGPT 中启用 Developer Mode:前往 Enabled apps → Advanced settings → Developer mode 并将其开启。ChatGPT Pro、Plus、Team、Business、Enterprise 和 Edu 用户均可使用此功能。
第 2 步。 创建新应用:前往 Enabled apps → Create app。
第 3 步。 填写应用详情:
| 字段 | 值 |
|---|---|
| 名称 | Pulsetic MCP(或你喜欢的任何名称) |
| 描述 | Uptime monitoring(可选) |
| MCP 服务 URL | https://api.pulsetic.com/mcp |
| 身份验证 | OAuth |
第 4 步。 服务会自动发现 OAuth 端点。你可以在 Advanced settings 下查看并确认:
| 字段 | 值 |
|---|---|
| 身份验证 URL | https://api.pulsetic.com/mcp/oauth/authorize |
| 令牌 URL | https://api.pulsetic.com/mcp/oauth/token |
| 注册 URL | https://api.pulsetic.com/mcp/oauth/register |
第 5 步。 勾选 "I understand and want to continue",然后点击 Create。
第 6 步。 完成 OAuth 登录流程。系统会将你重定向到 Pulsetic 授权页面,你需要在此输入账户邮箱和 API 令牌。
邮箱必须与 API 令牌匹配。 在授权页面中,你输入的邮箱必须与所提供 API 令牌的所有者邮箱一致。
请妥善保管 API 密钥。 你的 API 密钥拥有对 Pulsetic 账户的完整访问权限。切勿将其提交到版本控制系统或公开分享。
可用工具
MCP 服务提供 17 个工具,分为四类。
监控器
| 工具 | 描述 |
|---|---|
list_monitors | 列出所有监控器及其状态、正常运行时间和响应时间。 |
get_monitor | 获取指定监控器的详细信息。 |
get_monitor_stats | 查看 1d/7d/30d/90d 内的正常运行时间百分比、停机时间和响应时间。 |
get_monitor_events | 查看指定日期范围内的在线/离线事件。 |
get_monitor_downtime | 获取指定时段内的停机总秒数。 |
create_monitor | 创建新的 HTTP、TCP 或 ICMP 监控器。 |
update_monitor | 更新监控器的名称、URL、频率或设置。 |
delete_monitor | 永久删除监控器。 |
pause_monitor | 暂停监控(停止检查)。 |
resume_monitor | 恢复已暂停的监控器。 |
状态页
| 工具 | 描述 |
|---|---|
list_status_pages | 列出所有状态页及其标题、slug 和域名。 |
事件
| 工具 | 描述 |
|---|---|
list_incidents | 列出状态页的事件。 |
create_incident | 创建事件并发布初始状态更新。 |
update_incident | 向现有事件发布状态更新。 |
resolve_incident | 将事件标记为已解决。 |
维护
| 工具 | 描述 |
|---|---|
create_maintenance | 在状态页上安排维护时段。 |
delete_maintenance | 删除已安排的维护时段。 |
使用示例
配置完成后,你可以通过自然语言与 Pulsetic 交互。
查看监控器状态
"Show me all my monitors and their current status."
"What's the uptime for my production API monitor over the last 30 days?"
"Are any of my monitors currently down?"
"Show me the downtime events for monitor 42 in the past week."
管理监控器
"Create a new monitor for https://api.example.com that checks every 30 seconds."
"Pause the staging monitor while we do the migration."
"Resume all paused monitors."
"Change the check frequency of monitor 15 to 60 seconds."
"Delete the old marketing-site monitor."
处理事件
"Create an incident on our main status page: 'Elevated API latency'
with status investigating and message 'We're looking into slow response times.'"
"Update the API latency incident to identified: 'Root cause is a database
connection pool issue. Working on a fix.'"
"Resolve incident 8 with message 'Connection pool limits increased.
Response times back to normal.'"
安排维护
"Schedule a maintenance window on status page 1 called 'Database upgrade'
starting 2025-03-20 at 2am UTC and ending at 4am UTC."
"Delete the maintenance window we scheduled for next week."
使用 cURL 测试
你可以使用 cURL 直接测试 MCP 端点,以验证 API 密钥是否有效。
初始化
curl -X POST https://api.pulsetic.com/mcp \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-03-26",
"capabilities": {},
"clientInfo": {"name": "curl", "version": "1.0"}
}
}'
列出工具
curl -X POST https://api.pulsetic.com/mcp \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
调用工具
curl -X POST https://api.pulsetic.com/mcp \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "list_monitors",
"arguments": {}
}
}'
工具参考
list_monitors
返回账户的所有监控器。
无参数。
get_monitor
返回单个监控器的完整详情,包括 SSL 证书信息。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
monitor_id | integer | 是 | 监控器 ID。 |
get_monitor_stats
返回 1 天、7 天、30 天和 90 天周期内的在线率 %、停机时间、事件数量和平均响应时间。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
monitor_id | integer | 是 | 监控器 ID。 |
get_monitor_events
返回指定日期范围内的上线/离线事件(最多 100 条,按时间倒序排列)。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
monitor_id | integer | 是 | 监控器 ID。 |
from | string | 否 | 开始日期(YYYY-MM-DD)。默认值:7 天前。 |
to | string | 否 | 结束日期(YYYY-MM-DD)。默认值:今天。 |
get_monitor_downtime
返回指定周期内的总停机时间(秒)和事件数量。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
monitor_id | integer | 是 | 监控器 ID。 |
days | integer | 否 | 回溯天数。默认值:30。 |
create_monitor
创建新的正常运行时间监控器。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
url | string | 是 | 要监控的 URL 或主机名。 |
name | string | 否 | 显示名称。 |
request_type | string | 否 | http、tcp 或 icmp。默认值:http。 |
uptime_check_frequency | integer | 否 | 检查间隔(秒)。默认值:60。 |
request_method | string | 否 | HTTP 方法。默认值:GET。 |
request_timeout | integer | 否 | 超时时间(秒)。默认值:30。 |
ssl_check | boolean | 否 | 启用 SSL 监控。 |
update_monitor
更新现有监控器的设置。仅填写要更改的字段。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
monitor_id | integer | 是 | 监控器 ID。 |
name | string | 否 | 新的显示名称。 |
url | string | 否 | 新的 URL 或主机名。 |
uptime_check_frequency | integer | 否 | 新的检查间隔(秒)。 |
request_method | string | 否 | HTTP 方法。 |
request_timeout | integer | 否 | 超时时间(秒)。 |
ssl_check | boolean | 否 | 启用/禁用 SSL 监控。 |
delete_monitor
永久删除监控器及其所有关联数据。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
monitor_id | integer | 是 | 监控器 ID。 |
pause_monitor
暂停监控项。在恢复之前,将停止对其进行检查。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
monitor_id | integer | 是 | 监控项 ID。 |
resume_monitor
恢复已暂停的监控项。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
monitor_id | integer | 是 | 监控项 ID。 |
list_status_pages
返回你账户的所有状态页面。
无参数。
list_incidents
返回状态页面的事件,包括每个事件的最新更新。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
status_page_id | integer | 是 | 状态页面 ID。 |
create_incident
创建新事件,并发布一条初始状态更新,该更新会显示在状态页面上。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
status_page_id | integer | 是 | 状态页面 ID。 |
title | string | 是 | 事件标题。 |
status | string | 是 | investigating、identified、monitoring 或 resolved。 |
message | string | 是 | 初始更新消息。 |
update_incident
向现有事件发布新的状态更新。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
incident_id | integer | 是 | 事件 ID。 |
status | string | 是 | investigating、identified、monitoring 或 resolved。 |
message | string | 是 | 更新消息。 |
title | string | 否 | 更新事件标题。 |
resolve_incident
将事件标记为已解决,并附上解决消息。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
incident_id | integer | 是 | 事件 ID。 |
message | string | 是 | 解决消息。 |
create_maintenance
在状态页面上安排维护窗口。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
status_page_id | integer | 是 | 状态页面 ID。 |
name | string | 是 | 维护标题。 |
description | string | 否 | 维护说明。 |
start | string | 是 | ISO 8601 格式的开始时间。 |
end | string | 是 | ISO 8601 格式的结束时间。 |
timezone | string | 否 | 时区(例如:UTC、America/New_York)。默认值:UTC。 |
delete_maintenance
删除已安排的维护窗口。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
maintenance_id | integer | 是 | 维护窗口 ID。 |
故障排除
401 未授权
- 确认你的 API 密钥正确且尚未过期。
- 确保在
Authorization标头中传递密钥(直接使用令牌,或添加Bearer前缀)。 - 确认你的账户套餐已启用 API 访问权限。
OAuth 授权失败(ChatGPT)
- 在授权页面上,你输入的电子邮件必须与 API 令牌所有者的电子邮件一致。
- 确保已在 ChatGPT 设置中启用开发者模式。
- 确保你的 ChatGPT 套餐支持开发者模式(Pro、Plus、Team、Business、Enterprise 或 Edu)。
“未找到监控项或访问被拒绝”
- 监控项 ID 不存在,或属于其他账户。
- 使用
list_monitors查看可用的监控项 ID。
AI 客户端中未显示工具
- 编辑 MCP 配置后,重启 AI 客户端。
- 检查 URL 是否准确为
https://api.pulsetic.com/mcp。 - 使用 cURL 测试端点,以验证连接。
出现协议错误
- 确保请求使用
Content-Type: application/json。 jsonrpc字段必须准确为"2.0"。- 除通知外,所有请求都必须包含
id字段(整数或字符串)。
API 参考
该 MCP 服务通过单个 POST /mcp 端点,使用基于 JSON-RPC 2.0 的 Streamable HTTP 传输实现了 MCP 规范(2025-03-26)。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。