π pihole-mcp-serer
@sbarbett
About π pihole-mcp-serer
A Model Context Protocol (MCP) server for Pi-hole
Basic information
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"pihole-mcp-server": {
"command": "uv",
"args": [
"run",
"mcp",
"dev",
"main.py"
]
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is π pihole-mcp-serer?
The π pihole-mcp-serer is a Model Context Protocol (MCP) server that exposes Pi-hole functionality as tools for AI assistants. It allows AI tools to manage local DNS records, query DNS history, and retrieve metrics from one or multiple Pi-hole instances.
How to use π pihole-mcp-serer?
Create a .env file with PIHOLE_URL and PIHOLE_PASSWORD (and optionally up to three additional Pi-holes). Run the server via Docker (docker-compose up -d) for production or with uv run mcp dev main.py for development. Then configure an MCP client (e.g., Goose or Claude Desktop) to connect to the SSE endpoint at http://localhost:8383/sse.
Key features of π pihole-mcp-serer
- Manage local DNS A and CNAME records
- Query recent DNS query history
- Get query filter suggestions
- Retrieve activity graph data over time
- Support up to four Pi-hole instances
- Deploy with Docker for easy production use
Use cases of π pihole-mcp-serer
- Ask an AI assistant to list all local DNS records
- Add a new local A record via a chat interface
- Remove a misconfigured CNAME record
- Query recent DNS lookups for troubleshooting
- Monitor Pi-hole activity through a conversational agent
FAQ from π pihole-mcp-serer
What are the dependencies?
Docker is required for production deployment. For development, uv is optional to run the server locally.
How do I configure multiple Pi-holes?
Add PIHOLE2_URL, PIHOLE2_PASSWORD, and optionally PIHOLE2_NAME in the .env file. Repeat for up to four Pi-holes.
How do I run the server without Docker?
Use uv run mcp dev main.py after installing uv and any required dependencies.
What transport protocol does it use?
The server uses SSE (Server-Sent Events) on port 8383 by default. Clients like Goose connect directly; Claude Desktop uses a proxy (mcp-remote) to bridge STDIO to SSE.
How does authentication work?
Credentials are set via environment variables (PIHOLE_URL, PIHOLE_PASSWORD) in the .env file. No other authentication mechanism is documented.
More Other MCP servers
MCP Go π
mark3labsA Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.
ICSS
chokcocoδΈζ’δΊ CSS
Inbox Zero AI MCP
elie222The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
Unity MCP β¨
justinpbarnettUnity MCP acts as a bridge between AI assistants and your Unity Editor. Give your LLM tools to manage assets, control scenes, edit scripts, and automate tasks within Unity.
Codelf
unbugA search tool helps dev to solve the naming things problem.
Comments