Token导航 LogoToken导航TokenDH.com
Adguardhome MCP Rs logo
运维云端未说明官方级别未说明来源级核验

Adguardhome MCP Rs

MCP Server

一个用于连接和管理多个AdGuard Home实例的Rust实现的MCP服务器,提供监控和过滤管理功能。

工具数

7

提示词数

0

GitHub Stars

0

资源数

0
网络管理RustClaudeAPI集成Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

nicholaswilde

提供方

nicholaswilde

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

:shield:AdGuard Home MCP服务器(Rust):机器人:

![Coveralls](https://coveralls.io/github/nicholaswilde/adguardhome-mcp-rs?branch=main) ![task](https://taskfile.dev/#/) ![ci](https://github.com/nicholaswilde/adguardhome-mcp-rs/actions/workflows/ci.yml)

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

AdGuard Home的Rust实现 MCP(模型上下文协议)服务器此服务器连接到一个或多个AdGuard Home实例,并公开工具以通过模型上下文协议监视和管理过滤。

:闪光:特征

  • 多种运输支持:

- 音乐节目 : 本地集成的默认传输(例如,Claude Desktop)。 - HTTP/SSE: 远程客户端的网络可访问传输。

  • 多实例管理: 从单个MCP服务器管理和定位多个AdGuard Home实例。工具接受可选 instance 参数(名称或索引)。
  • 多实例同步: 自动或按需将配置(过滤规则、阻止的服务、DNS重写)从主实例同步到一个或多个副本实例。
  • 稳健的配置: 支持通过CLI参数、环境变量和配置文件(TOML、YAML、JSON)进行配置。
  • 身份验证:

- 使用用户名/密码或API密钥连接到AdGuard Home。 - 使用承载令牌身份验证保护HTTP传输。

  • 令牌优化: 将粒度工具整合到功能组中,以优化AI上下文窗口的使用。

- 工具: - manage_system:系统状态、监控统计数据、查询日志、备份和维护。 - manage_dns:DNS重写管理、服务器配置和缓存控制。 - manage_protection:全局保护状态、安全搜索、安全浏览和家长控制。 - manage_filtering:Adblock筛选器列表、自定义用户规则和服务阻止。 - manage_clients:网络客户端管理、DHCP租约和访问控制。 - sync_instances:手动触发与副本实例的同步。 - manage_tools:(仅限懒惰模式)上述工具的动态按需加载。

:package:安装

家酿

brew install nicholaswilde/tap/adguardhome-mcp-rs

:hammer_and_wrench:构建

要构建该项目,您需要安装一个Rust工具链。对于交叉编译, 穿过 使用。

本地建设

# Build in release mode
task build:local

二进制文件将在 target/release/adguardhome-mcp-rs.

交叉编译

支持的架构可以使用以下方式构建 task:

# Build for AMD64 (x86_64)
task build:amd64

# Build for ARM64 (aarch64)
task build:arm64

# Build for ARMv7
task build:armv7

# Build for all supported architectures
task build

:火箭:用途

:键盘:命令行界面

服务器可以通过CLI参数或环境变量进行配置。

./target/release/adguardhome-mcp-rs --adguard-host "192.168.1.10" --adguard-port 8080 --adguard-username "admin" --adguard-password "yourpassword"

可用参数

参数环境变量描述默认值
-c, --config-配置文件的路径config.toml
--adguard-hostADGUARD_HOSTAdGuard主实例主机(必填)
--adguard-portADGUARD_PORTAdGuard主实例端口3000
--adguard-usernameADGUARD_USERNAMEAdGuard主页用户名-
--adguard-passwordADGUARD_PASSWORDAdGuard主页密码-
--transportADGUARD_MCP_TRANSPORT运输方式(stdiohttp)stdio
--http-portADGUARD_HTTP_PORTHTTP传输端口3000
--http-tokenADGUARD_HTTP_AUTH_TOKENHTTP安全承载令牌-
--no-verify-sslADGUARD_NO_VERIFY_SSL禁用SSL证书验证true
--lazyADGUARD_LAZY_MODE启用令牌优化的延迟加载false
--log-levelADGUARD_LOG_LEVEL日志级别(info, debug等等)info
-ADGUARD_INSTANCES____多个实例的配置(见下文)-
-ADGUARD_REPLICASJSON副本对象数组(url, api_key)[]
-ADGUARD_SYNC_INTERVAL_SECONDS自动后台同步间隔3600
-ADGUARD_DEFAULT_SYNC_MODE默认同步模式(additive-mergefull-overwrite)additive-merge

:file_folder:配置文件

服务器会自动查找 config.toml, config.yaml,或 config.json 在当前目录和 ~/.config/adguardhome-mcp-rs/.

多实例配置

您可以配置多个AdGuard主页实例。列表中的第一个实例是默认值。

# Default instance (legacy format supported for single instance)
adguard_host = "192.168.1.10"
adguard_port = 8080
adguard_username = "admin"
adguard_password = "yourpassword"

# OR use the instances list
[[instances]]
name = "primary"
url = "http://192.168.1.10:8080"
username = "admin"
password = "yourpassword"

[[instances]]
name = "homelab"
url = "http://10.0.0.5:3000"
api_key = "your-api-key"
no_verify_ssl = false

# Synchronization settings
sync_interval_seconds = 3600
default_sync_mode = "additive-merge"

[[replicas]]
url = "http://192.168.1.11:3000"
api_key = "replica-api-key-1"

多个实例的环境变量

使用图案 ADGUARD_INSTANCES____:

  • ADGUARD_INSTANCES__0__NAME=primary
  • ADGUARD_INSTANCES__0__URL=http://192.168.1.10:8080
  • ADGUARD_INSTANCES__1__NAME=secondary
  • ADGUARD_INSTANCES__1__URL=http://192.168.1.20:8080

:robot:配置示例(Claude Desktop)

将以下内容添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "adguardhome": {
      "command": "/path/to/adguardhome-mcp-rs/target/release/adguardhome-mcp-rs",
      "args": [
        "--adguard-host", "192.168.1.10",
        "--adguard-port", "8080",
        "--adguard-username", "admin",
        "--adguard-password", "yourpassword"
      ]
    }
  }
}

:test_tube:测试

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

# Run all checks (format, lint, unit tests)
task test:ci

# Run unit tests only
task test

# Run Docker integration tests (requires Docker)
RUN_DOCKER_TESTS=true task test:integration

# Run MCP Inspector (requires npx)
task inspector

# Update cargo dependencies
task update

:bar_chart:覆盖范围

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

# Show coverage summary in console
task coverage

# Generate detailed HTML and LCOV reports
task coverage:report

# Upload coverage to Coveralls.io (requires COVERALLS_REPO_TOKEN)
COVERALLS_REPO_TOKEN=your_token task coverage:upload

:握手:贡献

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

:balance_scale:许可证

Apache许可证2.0

:writing_hand:作者

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

目录标签

目录标签

网络管理RustClaudeAPI集成本地部署多实例同步Rust实现DNS过滤API管理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP