网站变更检测服务

一个基于Rust实现的ChangeDetection.io MCP服务器,用于监控网站变更并提供高效的管理工具。

  • by nicholaswilde
  • Rust
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 nicholaswilde/changedetection-mcp-rs

使用说明

🔄 ChangeDetection.io MCP服务器(Rust)🤖

[!警告] 该项目目前正在积极开发中(v0.1.6) 可生产的. 功能可能会发生变化,并且可能会发生重大变化,恕不另行通知。 使用此MCP服务器的风险由您自行承担。

一个Rust实现 变更检测.io MCP(模型上下文协议)服务器此服务器连接到ChangeDetection.io实例,并公开工具以通过模型上下文协议监视网站更改。

✨ 特性

服务器为高效交互提供了一套整合的工具,针对较低的令牌使用率和更好的上下文管理进行了优化。

  • watch_ops:全面的手表管理。
    • 行动: List, Search, Get, Create, Update, Delete, Trigger, Pause, Unpause, Mute, Unmute, Import, SetSelectors, SetFetcher, ConfigureNotifications, ListErrors, ListByProcessor.
  • tag_ops:手表标签的管理。
    • 行动: List, Create, Get, Update, Delete.
  • notification_ops:全局通知端点管理。
    • 行动: List, Add, Update, Delete.
  • history_ops:查看历史记录、快照和差异。
    • 行动: GetHistory, GetDiff, GetContent, GetScreenshot, ListAll, SetLimit, GetInfo.
  • system_ops:系统发现和全局设置。
    • 行动: GetInfo, GetSpec, ListFetchers, ListProxies, GetSettings, ListProcessors.
  • maintenance_ops:系统维护任务。
    • 行动: Backup, Export.

📚 MCP资源

服务器通过MCP资源协议公开关键数据,允许LLM通过URI直接读取内容。

  • watches://{uuid}/latest:访问特定手表的最新快照内容。
  • system://openapi-spec:检索ChangeDetection.io API的完整OpenAPI规范。

🚀 优化功能

  • 整合工具: 通过对相关操作进行分组来减少工具发现开销。
  • 分页: 支持 page 和 per_page 列表操作的参数。
  • 字段选择: 允许仅请求特定字段以最小化响应大小。
  • 多种运输支持: Stdio(默认)和HTTP/JSON-RPC。

📦 安装

家酿

使用安装MCP服务器 家酿 通过 尼古拉斯·斯维尔德/自制水龙头:

brew install nicholaswilde/tap/changedetection-mcp-rs

从源代码构建

要构建该项目,您需要安装一个Rust工具链。

本地建设

# Build in release mode
task build:local

交叉编译

# Build for amd64 (Linux)
task build:amd64

# Build for arm64 (Linux)
task build:arm64

🚀 用法

⌨️ 命令行界面

服务器是通过CLI参数或环境变量配置的。

# 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

🤖 配置示例(克劳德桌面)

如果通过安装 家酿,使用可执行文件名。如果 从源代码构建,使用二进制文件的绝对路径。

将以下内容添加到您的 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"
      }
    }
  }
}

🧪 测试

该项目使用 go任务 用于开发任务。

# 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

📊 覆盖

该项目使用 cargo-llvm-cov 用于代码覆盖率分析。

# Show coverage summary in console
task coverage

🤝 贡献

欢迎投稿!请遵循标准的Rust编码约定,并确保所有测试通过(task test:ci)在提交功能之前。

⚖️ 许可证

Apache许可证2.0

✍️ 作者

该项目于2026年启动 尼古拉斯·王尔德.