MCP Pi-hole Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PIHOLE_URL | Yes | Pi-hole web interface URL | |
| PIHOLE_PASSWORD | Yes | Pi-hole app password (generated in Pi-hole settings) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pihole_get_statsA | Get Pi-hole statistics including total queries, blocked queries, blocking percentage, active clients, and domains being blocked |
| pihole_get_blocking_statusA | Check if Pi-hole blocking is currently enabled or disabled |
| pihole_enable_blockingB | Enable Pi-hole DNS blocking |
| pihole_disable_blockingA | Disable Pi-hole DNS blocking, optionally for a specific duration |
| pihole_get_top_blockedB | Get the top blocked domains |
| pihole_get_top_permittedC | Get the top permitted (allowed) domains |
| pihole_get_top_clientsC | Get the top clients by query count |
| pihole_get_query_logC | Get recent DNS queries from the query log |
| pihole_add_to_whitelistC | Add a domain to the Pi-hole whitelist (allow list) |
| pihole_add_to_blacklistC | Add a domain to the Pi-hole blacklist (block list) |
| pihole_remove_from_whitelistC | Remove a domain from the Pi-hole whitelist |
| pihole_remove_from_blacklistC | Remove a domain from the Pi-hole blacklist |
| pihole_get_whitelistA | Get all domains on the Pi-hole whitelist |
| pihole_get_blacklistA | Get all domains on the Pi-hole blacklist |
| pihole_update_gravityA | Update Pi-hole's gravity (refresh blocklists). This may take a minute to complete. |
| pihole_flush_cacheB | Flush Pi-hole's DNS cache |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Every tool has a clearly distinct purpose with no ambiguity. Tools are organized around specific actions on well-defined resources like blacklist, whitelist, blocking status, cache, logs, and statistics, making it easy for an agent to select the correct tool without confusion.
All tools follow a consistent 'pihole_verb_noun' pattern throughout, using snake_case and starting with the server prefix. This predictable naming scheme enhances readability and makes the tool set easy to navigate and understand.
With 16 tools, the server is well-scoped for managing a Pi-hole system, covering essential operations like blocking control, list management, statistics, and maintenance. Each tool earns its place by addressing a specific aspect of Pi-hole administration without being excessive or insufficient.
The tool surface provides complete CRUD/lifecycle coverage for Pi-hole management, including adding/removing from blacklist/whitelist, enabling/disabling blocking, flushing cache, updating gravity, and retrieving logs and stats. There are no obvious gaps that would hinder an agent's ability to perform core tasks.