MCP Server
MCP
Pi-hole MCP Server
Manage Pi-hole v6: DNS blocking, domains, clients, query analysis, DHCP, and multi-instance sync.
Install
oci:ghcr.io/hexamatic/pihole-mcp:0.8.0
Configuration Example
{
"remotes": [],
"packages": [
{
"registryType": "oci",
"identifier": "ghcr.io/hexamatic/pihole-mcp:0.8.0",
"transport": {
"type": "stdio"
},
"environmentVariables": [
{
"description": "Base URL of your Pi-hole web interface. For multiple Pi-holes use PIHOLE_1_URL, PIHOLE_2_URL, ... instead.",
"isRequired": true,
"format": "string",
"placeholder": "http://192.168.1.2",
"name": "PIHOLE_URL"
},
{
"description": "Pi-hole admin password, or an application password (recommended — bypasses TOTP 2FA)",
"isRequired": true,
"format": "string",
"isSecret": true,
"name": "PIHOLE_PASSWORD"
},
{
"description": "IANA timezone for rendered timestamps, e.g. Australia/Adelaide. Defaults to UTC in the container.",
"format": "string",
"name": "TZ"
},
{
"description": "Set to true only for a Pi-hole serving a self-signed HTTPS certificate. A trusted certificate is the better fix.",
"format": "boolean",
"default": "false",
"name": "PIHOLE_TLS_SKIP_VERIFY"
},
{
"description": "HTTP request timeout as a Go duration, e.g. 30s or 1m",
"format": "string",
"default": "30s",
"name": "PIHOLE_REQUEST_TIMEOUT"
},
{
"description": "Retries after a transient Pi-hole API failure; 0 disables retrying",
"format": "number",
"default": "3",
"name": "PIHOLE_MAX_RETRIES"
},
{
"description": "Upper bound on a single exponential-backoff wait, as a Go duration",
"format": "string",
"default": "8s",
"name": "PIHOLE_RETRY_MAX_DELAY"
}
]
}
]
}
mcp
model-context-protocol
oci
By
Comments
Sign in to leave a comment