aplaceforallmystuff avatar

Mcp Pihole

aplaceforallmystuff/mcp-pihole

Connects Claude to your Pi-hole v6 instance through its API to manage network-wide DNS blocking from natural language. You get tools for toggling blocking on and off (with optional timers), viewing query stats and logs, managing whitelist and blacklist entries, and running maintenance tasks like gravity updates and cache flushes. Returns data as JSON by default, but supports ASCII dashboard visualizations with ANSI colors when you need at-a-glance stats in the terminal. Requires an app password generated from Pi-hole's settings and network access to your Pi-hole server. Useful when you want to check what's being blocked, temporarily disable filtering for troubleshooting, or add domains to lists without opening the web interface.

GitHub stars
3
tools
16
auth
Secret needed
transport
STDIO
env vars
2
last updated
Nov 28, 2025

Tools

16 tools

Public tool metadata for what this MCP can expose to an agent.

pihole_get_statsGet comprehensive Pi-hole statistics

Get comprehensive Pi-hole statistics

No parameter schema in public metadata yet.

pihole_get_top_blockedGet top blocked domains

Get top blocked domains

No parameter schema in public metadata yet.

pihole_get_top_permittedGet top permitted domains

Get top permitted domains

No parameter schema in public metadata yet.

pihole_get_top_clientsGet top clients by query count

Get top clients by query count

No parameter schema in public metadata yet.

pihole_get_query_logGet recent DNS queries

Get recent DNS queries

No parameter schema in public metadata yet.

pihole_get_blocking_statusCheck if blocking is enabled

Check if blocking is enabled

No parameter schema in public metadata yet.

pihole_enable_blockingEnable DNS blocking

Enable DNS blocking

No parameter schema in public metadata yet.

pihole_disable_blockingDisable blocking (optionally with timer)

Disable blocking (optionally with timer)

No parameter schema in public metadata yet.

pihole_get_whitelistList all whitelisted domains

List all whitelisted domains

No parameter schema in public metadata yet.

pihole_get_blacklistList all blacklisted domains

List all blacklisted domains

No parameter schema in public metadata yet.

pihole_add_to_whitelistAdd domain to whitelist

Add domain to whitelist

No parameter schema in public metadata yet.

pihole_add_to_blacklistAdd domain to blacklist

Add domain to blacklist

No parameter schema in public metadata yet.

pihole_remove_from_whitelistRemove domain from whitelist

Remove domain from whitelist

No parameter schema in public metadata yet.

pihole_remove_from_blacklistRemove domain from blacklist

Remove domain from blacklist

No parameter schema in public metadata yet.

pihole_update_gravityUpdate blocklists (gravity)

Update blocklists (gravity)

No parameter schema in public metadata yet.

pihole_flush_cacheFlush DNS cache

Flush DNS cache

No parameter schema in public metadata yet.

Sponsors

Configuration

PIHOLE_URL*

Pi-hole web interface URL (e.g., http://pihole.local:8080)

PIHOLE_PASSWORD*secret

Pi-hole app password for API authentication

Readme

MCP Pi-hole Server

npm version CI License: MIT MCP

Architecture

An MCP (Model Context Protocol) server that connects AI assistants like Claude to your Pi-hole network-wide ad blocker. Manage DNS blocking, view statistics, control whitelists/blacklists, and more through natural language.

Why Use This?

If you're running Pi-hole on your network, this MCP server lets you:


View the full README on GitHub

Details

Repository
github.com/aplaceforallmystuff/mcp-pihole
Package
mcp-pihole-server
Transport
STDIO
Auth
Required
Registry
MCP registry, active

More from aplaceforallmystuff