Gives Claude direct access to your ChangeDetection.io instance for monitoring website changes. You get the full API: create and manage watches, pull change history, diff any two snapshots, search by URL or title, and organize with tags. Ships with a configurable safety fuse that limits cascading mutations per watch after viewing a diff, so one noisy page won't trigger unlimited rechecks. Useful when you want an agent to set up monitoring on product pages, check what changed on a tracked site, or manage your watch list without touching the web UI. Requires a running ChangeDetection.io instance and API key.
An MCP (Model Context Protocol) server that gives AI agents native access to ChangeDetection.io — the open-source website change detection and monitoring platform.
get_snapshot_diff arms a configurable limit on follow-up mutating actions for that watch so one noisy page cannot cascade into unlimited rechecks or editsNo MCP server existed for ChangeDetection.io despite it being one of the most popular self-hosted tools (31k+ GitHub stars). This server fills that gap, letting AI agents:
pip install changedetection-mcp
Add to your MCP client config (Claude Desktop, Cursor, Hermes Agent, etc.):
{
"mcpServers": {
"changedetection": {
"command": "changedetection-mcp",
"env": {
"CHANGEDETECTION_BASE_URL": "http://localhost:5000",
"CHANGEDETECTION_API_KEY": "your-api-key-here"
}
}
}
}
Create ~/.hermes/skills/changedetection/SKILL.md (see skill/ directory) or configure as an MCP server:
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"
| Tool | Description |
|---|---|
list_watches | List all watches (optional tag filter, limit/offset) |
get_watch | Get full details of a single watch |
create_watch | Create a new watch from a URL |
update_watch | Update an existing watch (pause, rename, change schedule, etc.) |
delete_watch | Delete a watch and all its history |
recheck_watch | Trigger an immediate recheck |
get_watch_history | List change history snapshots for a watch |
get_snapshot_diff | Get diff between two snapshots |
search_watches | Full-text search by URL or title |
list_tags | List all tags/groups |
create_tag | Create a tag for organisation |
get_system_info | Get server stats (watch count, uptime, version) |
When an agent asks for a page diff, that diff can prompt follow-up actions such as immediate rechecks, watch edits, or deletes. To stop one noisy site from triggering a cascade, get_snapshot_diff arms a per-watch fuse before returning.
By default, each diff allows 3 mutating MCP actions for that watch. The fuse applies to:
recheck_watchupdate_watchdelete_watchAfter the budget is exhausted, those tools return a clear blocked message instead of calling the ChangeDetection.io API. The fuse is in-process and per watch UUID; watches without an armed fuse are unaffected.
Configuration:
# Default: 3. Set 0 to disable the fuse globally.
export CHANGEDETECTION_MCP_ACTION_LIMIT_PER_WATCH=3
Per call, override the default with the optional action_limit argument on get_snapshot_diff:
get_snapshot_diff(uuid="...", from_timestamp="previous", to_timestamp="latest", action_limit=1)
Use action_limit=0 to disable the fuse for that watch, or call get_snapshot_diff again with a higher value to re-arm it.
git clone https://github.com/rusty4444/changedetection-mcp.git
cd changedetection-mcp
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
MIT — see LICENSE.
CHANGEDETECTION_BASE_URL*Base URL of the ChangeDetection.io instance, e.g. https://changedetection.example.com
CHANGEDETECTION_API_KEY*secretChangeDetection.io API key