About Changedetection MCP Rs
Changedetection MCP Rs is an MCP server in the AI category: 🔄 A Rust-based Model Context Protocol (MCP) server for ChangeDetection.io, enabling AI models to monitor website changes, manage watchlists, and retrieve snapshots via a robust API bridge. 🤖.
Install
git clone https://github.com/nicholaswilde/changedetection-mcp-rsThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Changedetection MCP Rs
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
🔄 ChangeDetection.io MCP Server (Rust) 🤖
[!WARNING] This project is currently in active development (v0.1.5) and is not production-ready. Features may change, and breaking changes may occur without notice. Use this MCP server at your own risk.
A Rust implementation of a ChangeDetection.io MCP (Model Context Protocol) server. This server connects to a ChangeDetection.io instance and exposes tools to monitor website changes via the Model Context Protocol.
✨ Features
The server provides a consolidated set of tools for efficient interaction, optimized for lower token usage and better context management.
watch_ops: Comprehensive watch management.- Actions:
List,Search,Get,Create,Update,Delete,Trigger,Pause,Unpause,Mute,Unmute,Import,SetSelectors,SetFetcher,ConfigureNotifications,ListErrors,ListByProcessor.
- Actions:
tag_ops: Management of watch tags.- Actions:
List,Create,Get,Update,Delete.
- Actions:
notification_ops: Global notification endpoint management.- Actions:
List,Add,Update,Delete.
- Actions:
history_ops: Watch history, snapshots, and diffs.- Actions:
GetHistory,GetDiff,GetContent,GetScreenshot,ListAll,SetLimit,GetInfo.
- Actions:
system_ops: System discovery and global settings.- Actions:
GetInfo,GetSpec,ListFetchers,ListProxies,GetSettings,ListProcessors.
- Actions:
maintenance_ops: System maintenance tasks.- Actions:
Backup,Export.
- Actions:
📚 MCP Resources
The server exposes key data through the MCP Resources protocol, allowing LLMs to read content directly via URIs.
watches://{uuid}/latest: Access the most recent snapshot content for a specific watch.system://openapi-spec: Retrieve the full OpenAPI specification for the ChangeDetection.io API.
🚀 Optimization Features
- Consolidated Tools: Reduces tool discovery overhead by grouping related operations.
- Pagination: Supports
pageandper_pageparameters for list operations. - Field Selection: Allows requesting only specific fields to minimize response size.
- Multi-Transport Support: Stdio (default) and HTTP/JSON-RPC.
📦 Installation
Homebrew
Install the MCP server using Homebrew via the nicholaswilde/homebrew-tap:
brew install nicholaswilde/tap/changedetection-mcp-rs
Build from Source
To build the project, you need a Rust toolchain installed.
Local Build
# Build in release mode
task build:local
Cross-Compilation
# Build for amd64 (Linux)
task build:amd64
# Build for arm64 (Linux)
task build:arm64
🚀 Usage
⌨️ Command Line Interface
The server is configured via CLI arguments or environment variables.
# Run via Stdio (default)
./target/release/changedetection-mcp-rs --api-key your_key
# Run via HTTP
./target/release/changedetection-mcp-rs --transport http --port 3000 --api-key your_key
🤖 Configuration Example (Claude Desktop)
If installed via Homebrew, use the executable name. If built from source, use the absolute path to the binary.
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"changedetection": {
"command": "changedetection-mcp-rs",
"env": {
"CHANGEDETECTION_API_KEY": "your_api_key_here",
"CHANGEDETECTION_BASE_URL": "http://your_instance_url:5000"
}
}
}
}
🧪 Testing
The project uses go-task for development tasks.
# Run all CI checks (fmt, lint, unit tests)
task test:ci
# Run unit tests only
task test
# Run MCP integration tests
task test:integration
# Run MCP Inspector (requires npx)
task inspector
📊 Coverage
The project uses cargo-llvm-cov for code coverage analysis.
# Show coverage summary in console
task coverage
🤝 Contributing
Contributions are welcome! Please follow standard Rust coding conventions and ensure all tests pass (task test:ci) before submitting features.
⚖️ License
✍️ Author
This project was started in 2026 by Nicholas Wilde.
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.