Token导航 LogoToken导航TokenDH.com
MCP Pi-hole Server logo
运维云端stdio官方级别未说明来源级核验

MCP Pi-hole Server

MCP Server

mcp-pihole-server

一个连接AI助手与Pi-hole网络广告拦截器的MCP服务器,通过自然语言管理DNS拦截、查看统计、控制白名单/黑名单等功能。

工具数

16

提示词数

0

GitHub Stars

1

资源数

0
JavaScriptClaude网络监控Claude DesktopClaude

安装说明

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

作者 / 组织

aplaceforallmystuff

提供方

aplaceforallmystuff

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

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

命令预览

npx mcp-pihole-server

详细介绍

MCP Pi孔服务器

](https://www.npmjs.com/package/mcp-pihole-server) ![CI](https://github.com/aplaceforallmystuff/mcp-pihole/actions/workflows/ci.yml) ![License: MIT](https://opensource.org/licenses/MIT) ![MCP](https://modelcontextprotocol.io)

Architecture

一个MCP(模型上下文协议)服务器,将Claude等人工智能助手连接到您的 Pi孔 网络广告拦截器。通过自然语言管理DNS阻止、查看统计数据、控制白名单/黑名单等。

为什么使用这个?

如果你在网络上运行Pi hole,这个MCP服务器可以让你:

  • 监控DNS流量 -查看查询统计信息、最受阻止的域和客户端活动
  • 控制阻塞 -立即或使用计时器启用/禁用Pi孔堵塞
  • 管理列表 -在不打开web UI的情况下从白名单和黑名单中添加或删除域
  • 查看查询日志 -查看最近DNS查询的详细信息
  • 保持你的Pi孔 -更新重力(阻止列表)并刷新DNS缓存

特性

类别工具
统计查询总数、阻止百分比、顶级域、顶级客户端
阻塞控制启用、禁用(带可选定时器)、检查状态
域名列表白名单/黑名单CRUD操作
查询日志最近的DNS查询,包括客户端、状态、响应时间
维护更新重力,刷新缓存
可视化ANSI颜色的ASCII艺术仪表板和条形图

先决条件

  • Node.js 18+
  • Pi孔 启用API的v6
  • Pi hole应用程序密码(在Pi hole设置中生成)
  • 从您的机器访问Pi孔的网络

安装

选项1:从npm安装(推荐)

npx mcp-pihole-server

或全局安装:

npm install -g mcp-pihole-server

选项2:克隆和构建

git clone https://github.com/aplaceforallmystuff/mcp-pihole.git
cd mcp-pihole
npm install
npm run build

配置

1.获取您的Pi hole应用程序密码

  1. 打开您的Pi hole web界面
  2. 前往“设置”>“API”
  3. 生成新的应用程序密码
  4. 复制密码(只显示一次)

2.配置您的MCP客户端

适用于克劳德桌面

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "pihole": {
      "command": "npx",
      "args": ["-y", "mcp-pihole-server"],
      "env": {
        "PIHOLE_URL": "http://your-pihole-address:8080",
        "PIHOLE_PASSWORD": "your-app-password"
      }
    }
  }
}

克劳德代码

添加到 ~/.claude.json:

{
  "mcpServers": {
    "pihole": {
      "command": "npx",
      "args": ["-y", "mcp-pihole-server"],
      "env": {
        "PIHOLE_URL": "http://your-pihole-address:8080",
        "PIHOLE_PASSWORD": "your-app-password"
      }
    }
  }
}

环境变量

变量描述示例
PIHOLE_URLPi孔web界面URLhttp://pihole.local:8080
PIHOLE_PASSWORDPi hole应用程序密码设置中的应用程序密码

使用示例

配置后,您可以通过自然语言与Pi hole交互:

查看统计信息

“显示Pi洞统计数据”
“被屏蔽的顶级域名是什么?”
“哪些客户提出的问题最多?”

控制阻塞

“Pi孔堵塞是否启用?”
“禁用Pi孔5分钟”
“重新启用Pi孔封堵”

管理域列表

“将example.com添加到白名单”
“屏蔽ads.trackersite.com”
“显示所有白名单域名”

查看查询日志

“显示最近50个DNS查询”
“我的手机一直在查询哪些域名?”

可视化仪表板

“用visualize:true显示Pi洞统计数据”
“通过可视化获取被屏蔽的顶级域名”

可用工具

统计

  • pihole_get_stats -获取全面的Pi孔统计数据
  • pihole_get_top_blocked -获取被屏蔽的顶级域名
  • pihole_get_top_permitted -获取允许的顶级域名
  • pihole_get_top_clients -按查询计数获取顶级客户端
  • pihole_get_query_log -获取最近的DNS查询

阻塞控制

  • pihole_get_blocking_status -检查是否启用了阻止
  • pihole_enable_blocking -启用DNS阻止
  • pihole_disable_blocking -禁用阻塞(可选配定时器)

域管理

  • pihole_get_whitelist -列出所有白名单域名
  • pihole_get_blacklist -列出所有被列入黑名单的域名
  • pihole_add_to_whitelist -将域添加到白名单
  • pihole_add_to_blacklist -将域名添加到黑名单
  • pihole_remove_from_whitelist -从白名单中删除域
  • pihole_remove_from_blacklist -从黑名单中删除域

维护

  • pihole_update_gravity -更新阻止列表(重力)
  • pihole_flush_cache -刷新DNS缓存

ASCII可视化

此服务器支持使用ANSI转义码直接在终端中呈现的彩色ASCII艺术可视化。

支持的工具

以下工具支持可选 visualize: true 参数:

工具可视化
pihole_get_stats完整的仪表板,包含汇总统计数据、顶级客户端、被阻止的域和允许的域
pihole_get_top_blocked被屏蔽域名的红色条形图
pihole_get_top_permitted允许域的绿色条形图
pihole_get_top_clients客户活动蓝色柱状图

用法

通过 visualize: true 任何支持的工具:

{
  "name": "pihole_get_stats",
  "arguments": {
    "visualize": true
  }
}

visualize 未设置或 false,工具像往常一样返回JSON数据。

输出示例

╔════════════════════════════════════════════════════════════════════════════╗
║                         🛡️  PI-HOLE DASHBOARD                          ║
╠════════════════════════════════════════════════════════════════════════════╣
║                                                                            ║
║ 📊 SUMMARY                                                                 ║
║ ────────────────────────────────────────────────────────────────────────── ║
║ Total Queries:      73K             Domains Blocked:    2.4M               ║
║ Blocked:            22K             Active Clients:     28                 ║
║ Block Rate:         29.7%           Total Clients:      115                ║
╠════════════════════════════════════════════════════════════════════════════╣
║ 🔝 TOP CLIENTS                                                             ║
║ ────────────────────────────────────────────────────────────────────────── ║
║ 192.168.1.52     ████████████████████████████████████████   28K (38%)      ║
║ 192.168.1.51     ███████████████████▋                       14K (19%)      ║
╚════════════════════════════════════════════════════════════════════════════╝

(颜色显示在支持ANSI转义码的端子中)

发展

# Run in development mode (auto-reloads)
npm run watch

# Build for production
npm run build

# Run the built version
node dist/index.js

故障排除

“PIHOLE_URL和PIHOLE_PASSWORD环境变量是必需的”

确保在MCP配置中设置了这两个环境变量。

“身份验证失败”

您的应用密码无效或已过期。从Pi-hole设置>API生成一个新的。

“API请求失败:401”

会话已过期。服务器将自动重新进行身份验证,但如果问题仍然存在,请检查您的密码。

连接被拒绝

确保Pi孔正在运行并且URL正确。检查您是否可以从机器访问Pi hole web界面。

贡献

欢迎投稿!请查看 贡献.md 作为指导方针。

许可证

MIT许可证-请参阅 许可证 了解详情。

链接

目录标签

目录标签

JavaScriptClaude网络监控DNS管理本地部署广告拦截自然语言控制Pi-hole集成

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

remote-capable

来源包(packageName,安装包名)

mcp-pihole-server

工具数量(toolCount,工具数)

16

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiononeremote-capable

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

安装前确认

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

来源信息

继续浏览同类 MCP