Try our Chrome extension

Chrome store icon Chrome Webstore

Easily add the current web-page from your browser directly into your changedetection.io tool, more great features coming soon!

Changedetection.io needs your support!

You can help us by supporting changedetection.io on these platforms;

The more popular changedetection.io is, the more time we can dedicate to adding amazing features!

Many thanks :)

changedetection.io team

MCP - A way for AI Assistants to interact with changedetection.io

Connect AI assistants with MCP

MCP (Model Context Protocol) is an open standard that lets AI assistants such as Claude, ChatGPT, Cursor and VS Code use other applications as tools.

Off: the MCP and OAuth endpoints are switched off and no assistant can connect. Everything here can still be set up first.
Off

Get started

  1. Switch on the MCP server Tick the box above, then Save.
  2. Add an access token Every assistant needs one to connect.
  3. Connect an assistant Copy the command or config for your assistant.
Look

List monitors and groups, what changed between two dates, diffs, page snapshots, errors and what is being checked right now.

Change

Add monitors, change their settings, tag them, recheck them and set up notifications, as far as the permissions allow.

Safe by default

Text from monitored pages is passed on to the assistant as data. Notification URLs are never shown to it in full.

Server

Server address
https://changedetection.yermateranas.burma-family.fr/mcp/v1
MCP access token

Add a token for each assistant on the Access tokens sub-tab. It is shown once, when it is created.

Treat it like a password. It does not expire, and anyone who has it can use these tools and read what they return. Never paste it into a file you commit or share.

Most assistants below can read it from an environment variable, so it stays out of their config files. Set it once, for example in ~/.bashrc or ~/.zshrc:

export CDIO_MCP_TOKEN=YOUR_MCP_TOKEN

Claude Code

Run this in a terminal, then start a new Claude Code session and ask, for example, "Which of my monitors have errors?"

claude mcp add --transport http changedetection https://changedetection.yermateranas.burma-family.fr/mcp/v1 --header "Authorization: Bearer $CDIO_MCP_TOKEN"

To remove it again: claude mcp remove changedetection

By default (--scope local) Claude Code saves this in ~/.claude.json, only for you and only in the current project. Add --scope user to have it in all your projects.

--scope project writes .mcp.json into the project, which is usually committed. Use this form there instead, it saves a reference to the environment variable, not the token:

claude mcp add --transport http --scope project changedetection https://changedetection.yermateranas.burma-family.fr/mcp/v1 --header 'Authorization: Bearer ${CDIO_MCP_TOKEN}'

Cursor ~/.cursor/mcp.json

{"mcpServers": {"changedetection": {"url": "https://changedetection.yermateranas.burma-family.fr/mcp/v1", "headers": {"Authorization": "Bearer ${env:CDIO_MCP_TOKEN}"}}}}

VS Code / GitHub Copilot .vscode/mcp.json

VS Code asks for the token once and stores it securely, so this file is safe to commit.

{"inputs": [{"type": "promptString", "id": "cdio-mcp-token", "description": "changedetection.io MCP access token", "password": true}], "servers": {"changedetection": {"type": "http", "url": "https://changedetection.yermateranas.burma-family.fr/mcp/v1", "headers": {"Authorization": "Bearer ${input:cdio-mcp-token}"}}}}

OpenAI Codex ~/.codex/config.toml

[mcp_servers.changedetection]
url = "https://changedetection.yermateranas.burma-family.fr/mcp/v1"
bearer_token_env_var = "CDIO_MCP_TOKEN"

OpenCode opencode.json

{"mcp": {"changedetection": {"type": "remote", "url": "https://changedetection.yermateranas.burma-family.fr/mcp/v1", "oauth": false, "headers": {"Authorization": "Bearer {env:CDIO_MCP_TOKEN}"}}}}

Gemini CLI ~/.gemini/settings.json

Uses httpUrl, not url (url means the older SSE transport).

{"mcpServers": {"changedetection": {"httpUrl": "https://changedetection.yermateranas.burma-family.fr/mcp/v1", "headers": {"Authorization": "Bearer YOUR_MCP_TOKEN"}}}}

This file contains the token: keep it in your own settings, not in anything you commit or share.

GitHub Copilot CLI ~/.copilot/mcp-config.json

copilot mcp add --transport http --header "Authorization: Bearer $CDIO_MCP_TOKEN" changedetection https://changedetection.yermateranas.burma-family.fr/mcp/v1

This file contains the token: keep it in your own settings, not in anything you commit or share.

Zed settings.json

{"context_servers": {"changedetection": {"url": "https://changedetection.yermateranas.burma-family.fr/mcp/v1", "headers": {"Authorization": "Bearer YOUR_MCP_TOKEN"}}}}

This file contains the token: keep it in your own settings, not in anything you commit or share.

Claude Desktop claude_desktop_config.json

Through the mcp-remote bridge (needs Node.js), since Claude Desktop connectors only support sign-in, not an access token.

{"mcpServers": {"changedetection": {"command": "npx", "args": ["-y", "mcp-remote", "https://changedetection.yermateranas.burma-family.fr/mcp/v1", "--header", "Authorization:${MCP_AUTH}"], "env": {"MCP_AUTH": "Bearer YOUR_MCP_TOKEN"}}}}

This file contains the token: keep it in your own settings, not in anything you commit or share.

Any other assistant (Windsurf, Devin and others)

Most assistants can run a local command: the same mcp-remote bridge (needs Node.js), in the format of that assistant's MCP settings.

{"command": "npx", "args": ["-y", "mcp-remote", "https://changedetection.yermateranas.burma-family.fr/mcp/v1", "--header", "Authorization:${MCP_AUTH}"], "env": {"MCP_AUTH": "Bearer YOUR_MCP_TOKEN"}}

This file contains the token: keep it in your own settings, not in anything you commit or share.

Access tokens

One for each assistant, each with its own permissions. Revoking one disconnects only that assistant.

Notifications are read-only by default. A page an assistant reads could try to get it to send your alerts, and the page text in them, somewhere else.

To make only one assistant read-only, use this address for it instead:

https://changedetection.yermateranas.burma-family.fr/mcp/v1?readonly=1

OAuth connections

ChatGPT and claude.ai in the browser connect with sign-in (OAuth) instead of an access token: you log in here and choose what the assistant may do.

Sign-in needs a login to sit behind: set a password (Settings > General) to allow it.

Claude (claude.ai)

  1. Open Customize > Connectors on claude.ai.
  2. Click the add button, then "Add custom connector".
  3. Give it a name, for example changedetection.io, and paste this as the remote MCP server URL: https://changedetection.yermateranas.burma-family.fr/mcp/v1
  4. Leave the sign-in setting as Claude detects it, then click Add.
  5. Click Connect: you come here to log in, choose what Claude may do and click Allow, then you are sent back to Claude.

On Team and Enterprise plans an Owner adds it under Organization settings > Connectors, then each member clicks Connect. Claude help: custom connectors

ChatGPT (OpenAI)

  1. In ChatGPT, open Settings > Apps & Connectors > Advanced settings and switch on Developer mode. On some accounts it is under Settings > Security.
  2. Back in Apps & Connectors, click Create (or "Add custom connector").
  3. Give it a name, paste this as the MCP server URL and choose OAuth as the authentication: https://changedetection.yermateranas.burma-family.fr/mcp/v1
  4. Confirm and click Create: you come here to log in, choose what ChatGPT may do and click Allow.
  5. In a chat, click +, choose Developer mode and pick the connector.

Custom connectors need a paid ChatGPT plan; on Business and Enterprise plans an admin may need to allow them first.

Signed in

No assistant has signed in yet.