changedetection-mcp-rs

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License รขโ‚ฌโ€ License: Apache-2.0
  • Description รขโ‚ฌโ€ Repository has a description
  • Active repo รขโ‚ฌโ€ Last push 0 days ago
  • Low visibility รขโ‚ฌโ€ Only 7 GitHub stars
Code Gecti
  • Code scan รขโ‚ฌโ€ Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions รขโ‚ฌโ€ No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

๐Ÿ”„ 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. ๐Ÿค–

README.md

๐Ÿ”„ ChangeDetection.io MCP Server (Rust) ๐Ÿค–

task

[!IMPORTANT]
Repository Archived & Deprecated: ChangeDetection.io now provides first-class, official MCP support directly in core.

Please use the official MCP implementation:

This repository is archived and preserved for historical reference only.

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.
  • tag_ops: Management of watch tags.
    • Actions: List, Create, Get, Update, Delete.
  • notification_ops: Global notification endpoint management.
    • Actions: List, Add, Update, Delete.
  • history_ops: Watch history, snapshots, and diffs.
    • Actions: GetHistory, GetDiff, GetContent, GetScreenshot, ListAll, SetLimit, GetInfo.
  • system_ops: System discovery and global settings.
    • Actions: GetInfo, GetSpec, ListFetchers, ListProxies, GetSettings, ListProcessors.
  • maintenance_ops: System maintenance tasks.
    • Actions: Backup, Export.

๐Ÿ“š 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 page and per_page parameters 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

Apache License 2.0

โœ๏ธ Author

This project was started in 2026 by Nicholas Wilde.

Yorumlar (0)

Sonuc bulunamadi