Pi-hole管理协议服务器

一个用Java实现的Pi-hole MCP服务器,允许AI应用通过标准命令与Pi-hole实例交互和管理。

  • by JafarKhQ
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 JafarKhQ/pihole-mcp-server

使用说明

Pi hole MCP服务器


Manage Pi-hole with the power of AI

用Java实现的Pi孔MCP(模型控制协议)服务器,允许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 --将域添加到allowlist/denylist(支持 exact 和 regex 种类),并经过验证 可选评论。
    • Retrive Pi-hole Statistics --获取查询总数、被阻止的查询和顶级域等统计信息。
    • Retrive Pi-hole System Information --获取系统信息,包括CPU负载、内存使用情况、阻塞百分比和 正常运行时间。

运行服务器

要运行MCP服务器,您的计算机上需要安装Java 21。

  1. 从下载Pi hole MCP服务器JAR文件 这 发布页面
  2. 将MCP服务器配置添加到您的AI应用程序客户端。

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
  • 梅文

要从源代码构建Pi hole MCP服务器,请执行以下步骤:

  1. 克隆/下载存储库。
  2. 使用Maven构建项目:
    mvn clean package
    
  3. 使用上面提到的命令运行服务器。

许可证

该项目根据MIT许可证获得许可。请参阅 许可证 详细信息文件