Overview
What is PiHole MCP Server?
The PiHole MCP Server is a FastAPI-based RESTful service that enables natural-language query-based management and retrieval of statistics from Pi-hole devices using a Retrieval-Augmented Generation (RAG) system. It is designed for users who want to interact with their Pi-hole devices through natural language commands.
How to use PiHole MCP Server?
Clone the repository, set up a virtual environment, install dependencies from requirements.txt, and configure config.toml (with secrets in a .env file). Start the server with uvicorn main:app --host 0.0.0.0 --port 8000. Then send POST requests to the /query endpoint with an X-API-Key header and a JSON body containing the query.
Key features of PiHole MCP Server
- RESTful API built with FastAPI for interacting with Pi-hole
- Natural language query processing via a RAG system
- Feature flags configurable in
config.toml - API documentation available at
/docswhen running - Milvus database integration for retrieval-augmented generation
Use cases of PiHole MCP Server
- Block internet access for a specified duration using natural language
- Query Pi-hole statistics without manual API calls
- Automate Pi-hole management tasks through a programmable interface
FAQ from PiHole MCP Server
What does the PiHole MCP Server do?
It provides a RESTful API that lets you manage and retrieve Pi-hole statistics using natural language queries, backed by a RAG system.
How do I install and run the server?
Clone the repo, create a Python virtual environment, run pip install -r requirements.txt, copy config.toml.example to config.toml and adjust settings, then execute uvicorn main:app --host 0.0.0.0 --port 8000.
How is authentication handled?
Requests to the /query endpoint must include an X-API-Key header containing your API key. API keys are stored in a .env file.
What are the dependencies required?
Dependencies are listed in the requirements.txt file. External services used include Pi-hole and a Milvus database for the RAG system.
Where can I find the full API documentation?
When the server is running, navigate to /docs in a browser to view the interactive OpenAPI documentation.