Skip to main content

MCP server for ChangeDetection.io — AI-native website change monitoring

Project description

ChangeDetection.io MCP Server

An MCP (Model Context Protocol) server that gives AI agents native access to ChangeDetection.io — the open-source website change detection and monitoring platform.

Features

  • Watch Management — Create, list, update, delete, and trigger rechecks on watches
  • Change History — Browse snapshot history and get diffs between any two points in time
  • Per-watch action fuseget_snapshot_diff arms a configurable limit on follow-up mutating actions for that watch so one noisy page cannot cascade into unlimited rechecks or edits
  • Tag Management — Organise watches with tags/groups
  • Search — Full-text search through watches by URL or title
  • System Info — Quick health and stats readout

Why This Exists

No 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:

  • "Watch this product page and notify me when it changes"
  • "Show me all my failed watches"
  • "What changed on this page yesterday?"
  • "Set up a watch for this job listing"

Quick Start

Prerequisites

  • A running ChangeDetection.io instance (self-hosted or SaaS)
  • An API key from Settings → API

Installation

pip install changedetection-mcp

Configuration

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"
      }
    }
  }
}

Usage with Hermes Agent

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"

API Coverage

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)

Safety Fuse: Per-Watch Action Limit

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_watch
  • update_watch
  • delete_watch

After 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.

Development

git clone https://github.com/rusty4444/changedetection-mcp.git
cd changedetection-mcp
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

changedetection_mcp-0.1.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

changedetection_mcp-0.1.0-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file changedetection_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: changedetection_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for changedetection_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4c9711631af1f2223af6c6133741ef414ddaac6698062d5dba8bbd75465f5b73
MD5 afc491b0e2d678f34a1b525a0e8d6902
BLAKE2b-256 991f83299a8eddef9187442d5640ddce29ccc86a1fc72631431ff5685a789af2

See more details on using hashes here.

File details

Details for the file changedetection_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for changedetection_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 abca7b9c17ce388acbc5f90065f141a63eed25cbedf7e23ad1347d90dac2d740
MD5 c88a7d37ceb7683de6053295993586d5
BLAKE2b-256 6bf2afa1a088936092b58e3272ba520a1877e07a5418ff94bd06c393d161ff66

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page