Pi-hole MCP Server
io.github.hexamatic/pihole-mcp
About Pi-hole MCP Server
Pi-hole MCP Server is an MCP server published by the GitHub account hexamatic. Manage Pi-hole v6: DNS blocking, domains, clients, query analysis, DHCP, and multi-instance sync.
It runs on your own machine: your AI client starts it from the Docker (OCI) package ghcr.io/hexamatic/pihole-mcp:0.9.0, with no version pinned.
It asks for one secret: PIHOLE_PASSWORD. Give it a key with the least access that still works.
It also needs PIHOLE_URL set before it starts.
Version 0.9.0 was published on 11 September 2026, and the source code is public, so you can read it before installing.
Written from the registry entry. 7 automated checks on registry metadata: 4 pass, 0 warn, 0 fail, 3 info. How we check.
What it asks for
| Variable | Required | Secret | Description |
|---|---|---|---|
PIHOLE_URL | Yes | No | Base URL of your Pi-hole web interface. For multiple Pi-holes use PIHOLE_1_URL, PIHOLE_2_URL, ... instead. |
PIHOLE_PASSWORD | Yes | Yes | Pi-hole admin password, or an application password (recommended — bypasses TOTP 2FA) |
TZ | No | No | IANA timezone for rendered timestamps, e.g. Australia/Adelaide. Defaults to UTC in the container. |
PIHOLE_READ_ONLY | No | No | Expose only inspection tools. Every tool that can change Pi-hole is hidden and rejected if called. |
PIHOLE_TLS_SKIP_VERIFY | No | No | Set to true only for a Pi-hole serving a self-signed HTTPS certificate. A trusted certificate is the better fix. |
PIHOLE_REQUEST_TIMEOUT | No | No | HTTP request timeout as a Go duration, e.g. 30s or 1m |
PIHOLE_MAX_RETRIES | No | No | Retries after a transient Pi-hole API failure; 0 disables retrying |
PIHOLE_RETRY_MAX_DELAY | No | No | Upper bound on a single exponential-backoff wait, as a Go duration |
Checks
| Check | Result | Detail |
|---|---|---|
| Source repository linked | Pass | https://github.com/hexamatic/pihole-mcp |
| Version pinned | Pass | Every package has an explicit version |
| Secrets requested | Info | Asks for 1 secret: PIHOLE_PASSWORD |
| Known package registry | Pass | All packages come from npm, PyPI, OCI, NuGet or MCPB |
| Namespace ownership | Info | Name verified via GitHub account hexamatic |
| Registry text aimed at the AI | Pass | Description and settings contain no hidden characters or instructions to the AI |
| Code red flags | Info | oci packages are not read yet |
Popularity & health: 61 / 100
Worked out from public numbers and our own checks, not from user reviews or ratings. It says how used and how looked-after a server is, not whether it is safe.
3 forks, 39 merged pull requests. Sources: GitHub, npm, PyPI (pypistats.org) and Hacker News (Algolia), fetched 2026-10-31.
What people say
No Hacker News threads link to its source code.
Look further: search Reddit, search Hacker News, read its GitHub issues. These are not reviews we checked.
Facts
| Registry name | io.github.hexamatic/pihole-mcp |
|---|---|
| Publisher | GitHub account hexamatic |
| How the name is verified | Name verified via GitHub account hexamatic. The registry ties the name prefix to that account or domain; it does not check the code. |
| Type | Local: runs on your machine from a package |
| Packages | oci ghcr.io/hexamatic/pihole-mcp:0.9.0 no version given (stdio) |
| Version | 0.9.0 |
| Published | |
| Last updated | |
| Source repository | https://github.com/hexamatic/pihole-mcp |
| Website | https://github.com/hexamatic/pihole-mcp |
| Category | Cloud & infrastructure (assigned by keyword rule, not by hand) |
Related servers in Cloud & infrastructure
- mcp-pihole7/7Pi-hole v6 MCP server - manage DNS blocking, stats,…
- mikrotik-mcp7/7MCP server for MikroTik routers: firewall, NAT, routing, DHCP, DNS,…
- mcp-pfsense7/7Manage pfSense firewalls through AI assistants — rules, DHCP, DNS,…
- HydraDNS4/4Manage a self-hosted DNS firewall: block domains, create policies,…
Porkbun (official)8/8Official Porkbun MCP server: domains, DNS, SSL, hosting and…- LWS7/7Manage LWS (lws.fr) domains, DNS zones, hosting and account from…