关于 HostTracker
HostTracker 的 MCP 服务将 AI 助手连接到网站和基础设施监控账户,可执行检查并管理监控项、告警、事件和状态页。它提供托管 HTTP 端点,也可从源代码自行运行。
主要功能
- 01从 300 多个地点运行检查
- 02创建和管理监控项
- 03查看正常运行时间与事件
- 04管理联系人和告警订阅
- 05配置 Webhook 和状态页
- 06生成报告并管理任务
适用场景
- 01从指定区域检查网站
- 02在计划维护期间暂停监控项
- 03查看事件并发布状态更新
- 04管理告警接收者和 Webhook 交付
MCP 相关
该服务通过支持 OAuth 2.1 或 Bearer Token 身份验证的流式 HTTP,将 HostTracker v2 REST API 暴露为 MCP 工具。它也支持供本地启动的客户端使用的 stdio。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.host-tracker.com/mcpclaude mcp add --transport http hosttracker https://mcp.host-tracker.com/mcp{"mcpServers":{"hosttracker":{"type":"http","url":"https://mcp.host-tracker.com/mcp"}}}在 Cursor 中打开{"servers":{"hosttracker":{"type":"http","url":"https://mcp.host-tracker.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"hosttracker":{"type":"http","url":"https://mcp.host-tracker.com/mcp"}}}{"mcpServers":{"hosttracker":{"serverUrl":"https://mcp.host-tracker.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.host-tracker.com/mcp需要授权工具
详细介绍
HostTracker MCP 服务
通过 Model Context Protocol 将 AI 助手连接到 HostTracker,让它在对话中操作你的监控账户:从全球 300 多个位置运行实时检查,查看哪些服务宕机,创建或暂停监控项,安排维护时段,查看事件,管理告警接收者,接入 webhook,以及发布状态页更新。
Endpoint https://mcp.host-tracker.com/mcp
Transport streamable HTTP
Auth OAuth 2.1 (sign in when your client asks) - or Authorization: Bearer <HostTracker API token>
此仓库是该托管服务的公开入口:连接元数据(server.json)、各客户端的设置指南(CLIENT.md)和安全策略(SECURITY.md);从 2.0.0 版起,也包含服务本身的源代码 src/,让你可以准确了解端点背后运行的内容,或自行运行一份副本(参见下文“自行运行”)。
两分钟内完成连接
使用 OAuth(推荐——适用于 Claude.ai、Claude Desktop、Claude Code、ChatGPT,以及任何带有支持 OAuth 的连接器对话框的客户端):
- 添加端点:在客户端中将
https://mcp.host-tracker.com/mcp添加为连接器。 - 登录并授权。 客户端会打开 HostTracker 登录页面,随后显示列出所需权限的授权卡片(默认权限:运行检查 + 读取监控项)。点击“批准”。令牌不会显示。
- 用日常语言提问: “example.com 现在正常吗?从欧洲和亚洲检查一下。”、“我的哪些监控项已宕机?”、“将 staging 监控项暂停到明天。”
Claude Code
使用 OAuth(无需令牌):
claude mcp add --transport http hosttracker https://mcp.host-tracker.com/mcp
# then, inside Claude Code: /mcp -> hosttracker -> Authenticate (opens the sign-in + consent page)
或者在标头中使用 bearer 令牌:
项目中的 .mcp.json(或用户级连接器的 ~/.claude.json):
{
"mcpServers": {
"hosttracker": {
"type": "http",
"url": "https://mcp.host-tracker.com/mcp",
"headers": { "Authorization": "Bearer YOUR_HOSTTRACKER_API_TOKEN" }
}
}
}
或者通过命令行:
claude mcp add --transport http hosttracker https://mcp.host-tracker.com/mcp \
--header "Authorization: Bearer YOUR_HOSTTRACKER_API_TOKEN"
Claude.ai 和 Claude Desktop
Settings -> Connectors -> Add custom connector -> 粘贴 https://mcp.host-tracker.com/mcp -> Connect。浏览器会打开 HostTracker 登录和授权页面;点击“批准”后,连接器即可使用。设置到此完成。
也可以改用 bearer 令牌(例如,使用长期有效且权限范围经过手动选择的令牌);Desktop 还可以通过 mcp-remote 桥接程序连接。编辑 claude_desktop_config.json:
{
"mcpServers": {
"hosttracker": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://mcp.host-tracker.com/mcp",
"--header", "Authorization:${HT_AUTH}"
],
"env": { "HT_AUTH": "Bearer YOUR_HOSTTRACKER_API_TOKEN" }
}
}
}
这里使用 ${HT_AUTH} 间接引用是有意为之:某些 mcp-remote 构建版本会在第一个空格处分割参数,导致字面形式的 Authorization: Bearer ... 无法正常工作。需要 Node.js 18 或更高版本。
Cursor
为所有项目配置 ~/.cursor/mcp.json,或为单个项目配置 .cursor/mcp.json:
{
"mcpServers": {
"hosttracker": {
"url": "https://mcp.host-tracker.com/mcp",
"headers": { "Authorization": "Bearer YOUR_HOSTTRACKER_API_TOKEN" }
}
}
}
VS Code(GitHub Copilot Agent 模式)
在工作区中配置 .vscode/mcp.json。inputs 块可避免将令牌写入文件:它只会提示输入一次,并将令牌存储在编辑器的机密存储中:
{
"inputs": [
{
"type": "promptString",
"id": "ht-token",
"description": "HostTracker API token",
"password": true
}
],
"servers": {
"hosttracker": {
"type": "http",
"url": "https://mcp.host-tracker.com/mcp",
"headers": { "Authorization": "Bearer ${input:ht-token}" }
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"hosttracker": {
"serverUrl": "https://mcp.host-tracker.com/mcp",
"headers": { "Authorization": "Bearer YOUR_HOSTTRACKER_API_TOKEN" }
}
}
}
自行运行(Docker)
托管端点是使用该服务的常规方式。如果你更愿意运行自己的副本——以便阅读代码、审查代码,或让 MCP 通信保持在自己的网络内——此仓库可以从源代码构建:
docker build -t hosttracker-mcp https://github.com/HostTracker/mcp.git
docker run --rm -p 8080:8080 hosttracker-mcp
随后,你的副本会在 http://localhost:8080/mcp 响应,并使用完全相同的 Authorization: Bearer 标头:
它是无状态桥接服务,因此不会存储任何内容,并且仍会使用你的令牌访问公开的 HostTracker API v2。
如果不使用 Docker,在任何安装了 .NET 10 SDK 的机器上运行 dotnet run --project src 也能达到相同效果。
同一个二进制文件也支持 stdio,适用于以子进程方式启动服务,而非连接 URL 的客户端。添加 --stdio,并将令牌作为 HT_TOKEN 环境变量传入(stdio 不使用请求
标头):
HT_TOKEN=YOUR_HOSTTRACKER_API_TOKEN dotnet run --project src -- --stdio
docker run -i --rm -e HT_TOKEN=YOUR_HOSTTRACKER_API_TOKEN hosttracker-mcp --stdio
在此模式下,日志会写入 stderr,因此 stdout 会保持为干净的协议流。
ChatGPT 和其他客户端
ChatGPT(开发者模式 -> 连接器):添加 https://mcp.host-tracker.com/mcp;ChatGPT 会提供“关联
账户”步骤,并打开 HostTracker 的登录和授权页面。任何带有支持 OAuth 的连接器对话框的其他客户端也能以相同方式使用——只需提供 URL。
任何可以发送静态标头的客户端也能使用承载令牌:端点为
https://mcp.host-tracker.com/mcp,标头为 Authorization: Bearer YOUR_HOSTTRACKER_API_TOKEN。如果
客户端的连接器表单提供 API 密钥或自定义标头身份验证模式,请在其中填写令牌。
适用于任何只能启动命令的客户端的通用无依赖桥接方案:
npx -y mcp-remote https://mcp.host-tracker.com/mcp --header "Authorization:${HT_AUTH}"
更详细的操作指南、验证命令和故障排除内容请参阅 CLIENT.md。
助手可以做什么
此服务将 HostTracker v2 REST API 暴露为 MCP 工具。每个列表工具都接受 limit(最大值为 50)和
cursor,并返回下一个游标;所有时间戳均以 Unix 秒表示,输入和输出均如此;ID 均为不透明字符串。
| 分类 | 涵盖内容 |
|---|---|
| 检查 | 从 300 多个位置对任意 URL 执行即时检查(HTTP/S、ping、TCP 端口、traceroute、DNS、黑名单、WHOIS、Web Risk、爬取、页面速度),获取检查结果,列出可用的检查类型和设备。 |
| 监控项 | 以单项或批量形式列出、读取、创建、编辑、复制、暂停、恢复和删除监控项,并查看监控项类型目录。 |
| 结果和事件 | 正常运行时间摘要、原始检查结果、事件列表、单个事件详情,以及事件评论。 |
| 维护 | 列出、创建、编辑和删除维护时段,避免计划内工作触发警报。 |
| 联系人 | 管理联系人和联系人组,发送并确认联系人确认请求,以及向联系人发送测试警报。 |
| 订阅 | 查看哪些联系人会收到哪些监控项的通知,并订阅或取消订阅联系人。 |
| Webhook | 管理 Webhook 端点、发送测试投递、查看投递日志,并重新投递失败的请求。 |
| 状态页 | 管理公开状态页,在状态页上发布事件并发布后续更新。 |
| 报告 | 生成报告,并列出你的套餐支持的报告类型。 |
| 任务 | 轮询、等待、取消或恢复批量操作和报告返回的异步任务。 |
| 账户 | 只读:账户资料、配额和当前用量。可用于诊断调用被拒的原因。 |
| 位置 | 列出可供选择的检查点池和独立监控位置。 |
| 通用入口 | describe_api 可搜索实际的 v2 操作,api_request 可调用这些操作,适用于没有专用工具的情况。它不是 URL 代理:操作必须存在于已发布的 API 描述中,并且仍受下文安全策略约束。 |
完整工具列表
| 家族 | 工具 | |---|---| | 检查 | `run_instant_check`, `get_check_result`, `list_check_types` | | 监控项 | `list_monitors`, `get_monitor`, `create_monitor`, `update_monitor`, `delete_monitor`, `pause_monitor`, `resume_monitor`, `copy_monitor`, `bulk_create_monitors`, `bulk_update_monitors`, `bulk_delete_monitors`, `list_monitor_types` | | 结果和事件 | `get_uptime_summary`, `list_monitor_results`, `list_incidents`, `get_incident`, `comment_incident` | | 维护 | `list_maintenance`, `create_maintenance`, `update_maintenance`, `delete_maintenance` | | 联系人 | `list_contacts`, `get_contact`, `create_contact`, `update_contact`, `delete_contact`, `send_contact_confirmation`, `confirm_contact`, `test_contact`, `list_contact_groups`, `create_contact_group`, `update_contact_group`, `delete_contact_group` | | 订阅 | `list_subscriptions`, `subscribe_contact`, `unsubscribe_contact` | | Webhook | `list_webhooks`, `create_webhook`, `update_webhook`, `delete_webhook`, `test_webhook`, `list_webhook_deliveries`, `redeliver_webhook` | | 状态页 | `list_status_pages`, `get_status_page`, `create_status_page`, `update_status_page`, `delete_status_page`, `create_status_page_incident`, `add_status_page_incident_update` | | 报告 | `generate_report`, `list_report_types` | | 作业 | `get_job`, `wait_for_job`, `cancel_job`, `resume_job` | | 账户 | `get_account`, `get_account_quota`, `get_account_usage` | | 位置 | `list_locations` | | 通用接口 | `describe_api`, `api_request` |首次调用前,有三点行为值得了解:
- 批量操作会先进行验证。 批量工具会返回一份验证报告;要执行写入,需要显式地再次调用并设置
submit=true。批量删除还需要confirmed=true和验证阶段报告的数量,因此如果期间选择内容发生变化,操作会被拒绝。 - 批量操作和报告是异步的。 它们会返回一个作业 ID;使用
wait_for_job轮询作业。 - 删除任何内容都无法撤销,因此始终需要两次调用。 删除工具的首次调用不会删除任何内容——它会返回资源,以便助手向你展示即将删除的内容;只有再次调用并设置
confirmed=true才会执行删除。API 会返回一份列出已删除内容的回执。
身份验证和权限范围
两种接入方式,共用同一套权限模型:
- OAuth(已连接的应用)。 客户端自行注册,你只需登录一次,并在授权页面批准一组权限范围。服务器会在后台签发有效期较短的访问令牌(1 小时)和可轮换的刷新令牌(90 天)。如果客户端未请求任何权限范围,则会获得
check+monitor:read。account系列权限永远不会授予已连接的应用。每个连接都会列在 集成 -> API -> 已连接的应用 下,点击一次即可撤销(之后应用必须再次向你请求授权)。如果工具需要的权限范围不在连接的授权范围内,则会返回missing_scope,并指出所需权限——重新连接并批准更广泛的权限范围即可。 - Bearer 令牌。 在 集成 -> API 中创建令牌,并手动选择权限范围、过期时间和可选的 IP 允许列表;将令牌放在
Authorization标头中传递。
权限范围按系列划分,每个系列都有 :read 和 :write 叶级权限,二者互不隐含;仅指定系列名称即可获得该系列下的所有叶级权限。
| 你希望助手执行的操作 | 权限范围 |
|---|---|
| 运行即时检查 | check |
| 查看监控项、正常运行时间和事件 | monitor:read |
| 创建、编辑、暂停或删除监控项和维护计划 | monitor:write |
| 查看通知对象 | contact:read、subs:read |
| 管理联系人和订阅 | contact:write、subs:write |
| 管理 Webhook | webhook:read、webhook:write |
| 管理状态页并发布事件 | statuspage:read、statuspage:write |
| 查看配额、使用量和限制 | account:read(仅限 Bearer 令牌——OAuth 连接不提供此权限) |
只授予足以完成工作的最小权限范围。绝无理由授予 account:write:无论令牌允许什么,服务器都会拒绝 /account 下的所有写入操作。如果调用被拒绝,请让助手运行 get_account_quota,查看令牌实际携带的权限范围。
限制和配额
- 该端点会按客户端 IP 对
/mcp进行速率限制。被限流的响应会携带Retry-After,服务器会原样传递其值;服务器绝不会代你等待或重试,因此由助手决定如何处理。 - 你的 API 套餐配额会根据你自己的令牌执行,与直接调用 REST API 时完全相同。
get_account_usage和get_account_quota会报告当前情况。详情请参阅错误和限制指南。 - 应用层故障(没有令牌、权限范围错误、配额用尽、输入无效)会作为普通工具结果返回,并附带可操作的说明,而不是协议错误。
安全
该服务是无状态的,不存储任何内容:每次调用都会使用你自己的令牌转发到 API,所有权、配额和速率限制均由 API 执行。此外,无论令牌如何,服务器都会拒绝 /account 下的任何写入操作,以及任何涉及付款、套餐、密码、登录或签发 API 令牌的操作。经过检查的目标所控制的内容,在发送给模型之前会被包裹在带长度上限的围栏块中,防止恶意目标向助手注入指令。完整政策请参阅 SECURITY.md。
链接
- MCP 服务概览
- 创建 API 令牌
- API v2 参考文档 和指南
- 所有集成
- 官方客户端:JavaScript · Python · Go · .NET · CLI · OpenAPI 描述 · GitHub Action
- 支持:[email protected]
许可证
本仓库的内容(文档和元数据)采用 MIT 许可证发布。托管的 MCP 服务和 HostTracker 服务本身均为专有产品。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。