Pi-hole MCP Server

Manage Pi-hole v6: DNS blocking, domains, clients, query analysis, DHCP, and multi-instance sync.

Local serverstdio

What is the Pi-hole MCP Server?

Pi-hole MCP Server is an MCP integration. Manage Pi-hole v6: DNS blocking, domains, clients, query analysis, DHCP, and multi-instance sync.

Packages and local setup

The published oci package is ghcr.io/hexamatic/pihole-mcp:0.9.0. Its declared MCP transport is stdio.

The package declares PIHOLE_URL (required): Base URL of your Pi-hole web interface. For multiple Pi-holes use PIHOLE_1_URL, PIHOLE_2_URL, ... instead.; PIHOLE_PASSWORD (required): Pi-hole admin password, or an application password (recommended — bypasses TOTP 2FA); TZ: IANA timezone for rendered timestamps, e.g. Australia/Adelaide. Defaults to UTC in the container.; PIHOLE_READ_ONLY: Expose only inspection tools. Every tool that can change Pi-hole is hidden and rejected if called.; PIHOLE_TLS_SKIP_VERIFY: Set to true only for a Pi-hole serving a self-signed HTTPS certificate. A trusted certificate is the better fix.; PIHOLE_REQUEST_TIMEOUT: HTTP request timeout as a Go duration, e.g. 30s or 1m; PIHOLE_MAX_RETRIES: Retries after a transient Pi-hole API failure; 0 disables retrying; PIHOLE_RETRY_MAX_DELAY: Upper bound on a single exponential-backoff wait, as a Go duration.

Before connecting

Check the maintainer’s instructions for account access, authentication and the supported client configuration. Once connected, inspect the tools your client receives and try a small task that matches the server’s stated purpose. The registry description does not include a verified, complete tool list.

Project and source

View the publisher’s registry entry · Project repository · Project website. This profile uses version 0.9.0 from the registry. Registration identifies the publisher namespace; it does not establish that this is a first-party integration for every service it connects.

Browse related other integrations MCP servers for tools that cover the same kind of work.

Configuration

VariableDescriptionRequired
PIHOLE_URLBase URL of your Pi-hole web interface. For multiple Pi-holes use PIHOLE_1_URL, PIHOLE_2_URL, ... instead.Yes
PIHOLE_PASSWORDPi-hole admin password, or an application password (recommended — bypasses TOTP 2FA)Yes
TZIANA timezone for rendered timestamps, e.g. Australia/Adelaide. Defaults to UTC in the container.Optional
PIHOLE_READ_ONLYExpose only inspection tools. Every tool that can change Pi-hole is hidden and rejected if called.Optional
PIHOLE_TLS_SKIP_VERIFYSet to true only for a Pi-hole serving a self-signed HTTPS certificate. A trusted certificate is the better fix.Optional
PIHOLE_REQUEST_TIMEOUTHTTP request timeout as a Go duration, e.g. 30s or 1mOptional
PIHOLE_MAX_RETRIESRetries after a transient Pi-hole API failure; 0 disables retryingOptional
PIHOLE_RETRY_MAX_DELAYUpper bound on a single exponential-backoff wait, as a Go durationOptional