关于 PiHole MCP Server
PiHole MCP Server 是供 AI 应用检查和管理 Pi-hole 实例的 Java 服务。它提供 DNS 屏蔽和域名列表控制,并可查询统计数据与系统信息。
主要功能
- 01重启 FTL DNS 服务
- 02读取和更改 DNS 屏蔽状态
- 03向允许或拒绝列表添加域名
- 04获取查询与域名统计
- 05查看系统指标和运行时间
适用场景
- 01启用或停用 DNS 屏蔽
- 02将域名加入允许或拒绝列表
- 03查看被屏蔽查询的统计数据
- 04检查 Pi-hole 系统负载和运行时间
MCP 相关
它向 MCP 客户端提供 Pi-hole 管理工具,包括 DNS 屏蔽、域名列表、服务重启、统计数据和系统信息的操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Pi-hole MCP 服务
借助 AI 的力量管理 Pi-hole
这是一个用 Java 实现的 Pi-hole MCP(Model Control Protocol)服务,可让 AI 应用通过标准命令与 Pi-hole 实例交互并进行管理。
功能
- 核心 AI 工具
Restart Pi-hole FTL Service— 重启 Pi-hole FTL DNS 服务以应用更改或恢复服务。Get Pi-hole DNS Blocking Status— 获取当前的拦截模式和剩余时间。Set Pi-hole DNS Blocking Status— 启用/停用 DNS 拦截;也可设置停用时长(秒)。Add New Domain— 将域名添加到允许列表/拒绝列表(支持exact和regex类型),并进行验证;也可添加备注。Retrive Pi-hole Statistics— 获取统计数据,如查询总数、拦截的查询数和热门域名。Retrive Pi-hole System Information— 获取系统信息,包括 CPU 负载、内存使用量、拦截百分比和运行时间。
运行服务
要运行 MCP 服务,机器上需要安装 Java 21。
- 从发布页面下载 Pi-hole MCP 服务 JAR 文件。
- 在 AI 应用客户端中添加 MCP 服务配置。
JSON 配置示例:
{
"mcpServers": {
"pihole-mcp-server-java": {
"command": "java",
"args": [
"-jar",
"/absolute/path/to/pihole-mcp.jar"
],
"env": {
"PIHOLE_PORT": "8080",
"PIHOLE_HOST": "192.168.1.2",
"PIHOLE_APP_PASSWORD": "your_app_password"
}
}
}
}
YAML 配置示例:
name: pihole-mcp-server-java
version: 0.0.1
schema: v1
mcpServers:
- name: pihole-mcp-server-java
command: java
args:
- -jar
- /absolute/path/to/pihole-mcp.jar
env: {
"PIHOLE_PORT": "8080",
"PIHOLE_HOST": "192.168.1.2",
"PIHOLE_APP_PASSWORD": "your_app_password"
}
环境变量
请确保设置以下环境变量:
PIHOLE_PORT:(可选)Pi-hole 实例运行的端口(默认为 80)。PIHOLE_HOST:Pi-hole 实例的 IP 地址或主机名。PIHOLE_APP_PASSWORD:Pi-hole 实例的应用密码。
从源代码构建
前置条件:
- Java JDK 21
- Maven
按照以下步骤从源代码构建 Pi-hole MCP 服务:
- 克隆/下载仓库。
- 使用 Maven 构建项目:
mvn clean package - 使用上文提到的命令运行服务。
许可证
本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。