关于 ChangeDetection.io MCP Server
连接 AI Agent 与 ChangeDetection.io 的 MCP 服务,用于管理网站监控并查看变化;查看快照差异后,可限制每个监控项的修改操作次数。
主要功能
- 01创建、更新、删除和重查监控项
- 02查看快照历史和差异
- 03按网址或标题搜索监控项
- 04使用标签整理监控项
- 05获取系统状态和统计信息
- 06限制每个监控项的后续操作
适用场景
- 01监控商品页面是否发生变化
- 02查看快照之间的变化
- 03查找失败的监控项或按标签整理
MCP 相关
向 MCP 客户端提供 ChangeDetection.io 监控管理、历史、搜索、标签和系统信息工具。需要运行中的实例和 API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx changedetection-mcpCHANGEDETECTION_BASE_URLBase URL of the ChangeDetection.io instance, e.g. https://changedetection.example.comCHANGEDETECTION_API_KEY密钥ChangeDetection.io API key本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ChangeDetection.io MCP 服务
一个 MCP(Model Context Protocol)服务,让 AI Agent 能够原生访问 ChangeDetection.io——这是一款开源的网站变更检测与监控平台。
功能
- 监控项管理 — 创建、列出、更新、删除监控项,并触发重新检查
- 变更历史 — 浏览快照历史,并获取任意两个时间点之间的差异
- 每个监控项的操作熔断器 —
get_snapshot_diff会为该监控项设置可配置的后续变更操作次数上限,避免某个频繁变化的页面引发无限次重新检查或编辑 - 标签管理 — 使用标签/分组整理监控项
- 搜索 — 按 URL 或标题全文搜索监控项
- 系统信息 — 快速查看健康状况和统计信息
项目缘起
尽管 ChangeDetection.io 是最受欢迎的可自托管工具之一(GitHub 星标数超过 31k),此前却没有适用于它的 MCP 服务。本服务填补了这一空白,让 AI Agent 可以:
- “监控这个商品页面,变更时通知我”
- “显示所有检查失败的监控项”
- “这个页面昨天有哪些变化?”
- “为这个招聘信息设置监控”
快速开始
前提条件
- 正在运行的 ChangeDetection.io 实例(可自托管或 SaaS)
- 从“设置”→“API”获取的 API 密钥
安装
pip install changedetection-mcp
配置
添加到 MCP 客户端配置中(Claude Desktop、Cursor、Hermes Agent 等):
{
"mcpServers": {
"changedetection": {
"command": "changedetection-mcp",
"env": {
"CHANGEDETECTION_BASE_URL": "http://localhost:5000",
"CHANGEDETECTION_API_KEY": "your-api-key-here"
}
}
}
}
与 Hermes Agent 配合使用
创建 ~/.hermes/skills/changedetection/SKILL.md(参见 skill/ 目录),或配置为 MCP 服务:
hermes mcp add changedetection --command "changedetection-mcp"
hermes config set changedetection.base_url "http://localhost:5000"
hermes config set changedetection.api_key "your-api-key"
API 覆盖范围
| 工具 | 描述 |
|---|---|
list_watches | 列出所有监控项(可选标签筛选、数量限制/偏移量) |
get_watch | 获取单个监控项的完整详情 |
create_watch | 根据 URL 创建新的监控项 |
update_watch | 更新现有监控项(暂停、重命名、更改计划等) |
delete_watch | 删除监控项及其所有历史记录 |
recheck_watch | 立即触发重新检查 |
get_watch_history | 列出监控项的变更历史快照 |
get_snapshot_diff | 获取两个快照之间的差异 |
search_watches | 按 URL 或标题进行全文搜索 |
list_tags | 列出所有标签/分组 |
create_tag | 创建标签以便整理 |
get_system_info | 获取服务统计信息(监控项数量、运行时间、版本) |
安全熔断器:每个监控项的操作次数上限
当 Agent 请求页面差异时,该差异可能引发后续操作,例如立即重新检查、编辑监控项或删除监控项。为防止某个频繁变化的网站引发连锁操作,get_snapshot_diff 会在返回结果前为该监控项启用熔断器。
默认情况下,每次差异查询允许对该监控项执行 3 次变更型 MCP 操作。熔断器适用于:
recheck_watchupdate_watchdelete_watch
超出次数上限后,这些工具会返回明确的拦截消息,而不会调用 ChangeDetection.io API。熔断器在进程内按监控项 UUID 生效;未启用熔断器的监控项不受影响。
配置:
# Default: 3. Set 0 to disable the fuse globally.
export CHANGEDETECTION_MCP_ACTION_LIMIT_PER_WATCH=3
每次调用时,可通过 get_snapshot_diff 的可选参数 action_limit 覆盖默认值:
get_snapshot_diff(uuid="...", from_timestamp="previous", to_timestamp="latest", action_limit=1)
使用 action_limit=0 可禁用该监控项的熔断器;也可以再次调用 get_snapshot_diff 并设置更高的值,以重新启用熔断器。
开发
git clone https://github.com/rusty4444/changedetection-mcp.git
cd changedetection-mcp
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。