Pi-hole MCP Server (hexamatic)

A production-grade MCP server for Pi-hole v6. Its 40 documented tools cover pihole, stats, domains, dns.

People who work with pihole, stats and domains and want it reachable from Claude, Cursor, VS Code, or another MCP client. The project is written in Go.

VERIFIED ACTIVE

LAST COMMIT 2026-09-14 · ★ 8 · VERIFIED 2026-09-18

MIT · Go servers · how we verify → /methodology

01 · Install Pi-hole MCP Server (hexamatic)

before you install - you'll need

Set PIHOLE_URL, PIHOLE_PASSWORD, PIHOLE_1_URL, PIHOLE_1_PASSWORD, PIHOLE_2_URL, PIHOLE_2_PASSWORD, PIHOLE_READ_ONLY, PIHOLE_HTTP_AUTH_TOKEN, PIHOLE_ALLOWED_ORIGINS before connecting. PIHOLE_1_NAME, PIHOLE_2_NAME, PIHOLE_TOOLSETS are optional or environment-specific per the README.

Docker

docker run -i --rm ghcr.io/hexamatic/pihole-mcp:0.9.0

Claude Desktop - add to config

{
  "mcpServers": {
    "hexamatic-pihole-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/hexamatic/pihole-mcp:0.9.0"
      ]
    }
  }
}
Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as container (OCI image) - can be sandboxed away from your filesystem

license MIT - declared in the repository

registry namespace io.github.hexamatic is GitHub-verified and matches the repo owner

03 · What Pi-hole MCP Server (hexamatic) can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

What you can build

With this server connected, an agent can get current DNS blocking status and timer, list local A and AAAA records (dns.hosts), remove a local A or AAAA record by IP address and hostname, and list local CNAME records (dns.cnameRecords).

The 40 tools it gives your agent

Extracted from the project's README - what Pi-hole MCP Server lets an agent do.

pihole_padd
- One-call snapshot: queries, blocking, top domain/client, cache, versions, host health
pihole_dns_get_blocking
- Get current DNS blocking status and timer
pihole_dns_set_blocking
- Enable/disable blocking with optional timer
pihole_local_dns_list
- List local A and AAAA records (dns.hosts)
pihole_local_dns_add
- Point a hostname at an IP address; the record type follows the address family
pihole_local_dns_delete
- Remove a local A or AAAA record by IP address and hostname
pihole_local_cname_list
- List local CNAME records (dns.cnameRecords)
pihole_local_cname_add
- Point an alias at another name, with an optional TTL
pihole_local_cname_delete
- Remove a local CNAME record by its alias
pihole_stats_summary
- Queries, blocking rate, clients, gravity size
pihole_stats_top_domains
- Top queried or blocked domains
pihole_stats_top_clients
- Most active clients by query count
show all 40 tools
pihole_stats_upstreams
- Upstream DNS server performance
pihole_stats_query_types
- Query type distribution (A, AAAA, MX, etc.)
pihole_stats_recent_blocked
- Recently blocked domains
pihole_stats_database
- Long-term database statistics
pihole_domains_list
- List allow/deny domains
pihole_domains_add
- Add domains (bulk supported)
pihole_domains_update
- Update domain entry
pihole_domains_delete
- Remove a domain
pihole_domains_batch_delete
- Remove multiple domains
pihole_queries_search
- Search queries with 12 filters + cursor pagination
pihole_queries_suggestions
- Available filter values
pihole_info_system
- Host, CPU, memory, disk, load, temperature
pihole_info_version
- Pi-hole component versions
pihole_info_database
- Database size and query count
pihole_info_messages
- FTL diagnostic messages
pihole_info_dismiss_message
- Dismiss a diagnostic message by ID
pihole_info_client
- The requesting client's own IP and connection info
pihole_info_ftl
- FTL process info: PID, privacy level, client/domain counts
pihole_info_metrics
- Live DNS and DHCP operational metrics (cache, inserts, evictions, leases)
pihole_info_sensors
- Hardware temperature sensors
pihole_search_domains
- Cross-list domain search
pihole_config_properties
- List read-only config keys (Pi-hole v6.6.1+)
pihole_action_gravity_update
- Re-download blocklists
pihole_action_restart_dns
- Restart FTL DNS resolver
pihole_action_flush_logs
- Flush the query log
pihole_action_flush_network
- Flush the network table (Pi-hole v6.3+)
pihole_network_delete_device
- Remove a stale network device record
pihole_instance_diff
- Compare configuration between two instances

Latest releases

v0.9.0 · 2026-09-11

Highlights · Upgrade from any earlier release. Every binary and container image from v0.6.0 to v0.8.1 was built with a Go toolchain carrying six reachable standard-library advisories, which the vulnerability scan…

v0.8.1 · 2026-08-30

Highlights · pihole_config_set has never applied a configuration change. From v0.1.0 through v0.8.0 the tool sent its payload as the bare PATCH /api/config body, and Pi-hole rejects that with No "config" object in body…

v0.8.0 · 2026-07-25

Highlights · This release is about being findable and being verifiable. pihole-mcp is now listed in the official MCP Registry as io.github.hexamatic/pihole-mcp - the index MCP clients and directory aggregators read…

04 · Who maintains Pi-hole MCP Server (hexamatic)

Pi-hole MCP Server is maintained by hexamatic. It's the only MCP server we track from this author; the repo dates to Apr 2026.

05 · Facts

category
cloud infrastructure - actively maintained as of 2026-09-18.
release cadence
6 releases in the last 90 days (latest 2026-09-11)
registry
io.github.hexamatic/pihole-mcp (active, first published 2026-07-25 · 3 versions)
packages
oci:ghcr.io/hexamatic/pihole-mcp:0.9.0

06 · Pi-hole MCP Server (hexamatic) FAQ

Is Pi-hole MCP Server (hexamatic) still maintained?

Yes - as of 2026-09-18, its last commit was 2026-09-14 and it shipped 6 releases in the last 90 days. We re-verify nightly.

What can Pi-hole MCP Server (hexamatic) do?

With this server connected, an agent can get current DNS blocking status and timer, list local A and AAAA records (dns.hosts), remove a local A or AAAA record by IP address and hostname, and list local CNAME records (dns.cnameRecords).

How do I install Pi-hole MCP Server (hexamatic)?

Run `docker run -i --rm ghcr.io/hexamatic/pihole-mcp:0.9.0`. The README documents 12 environment variables (PIHOLE_URL, PIHOLE_PASSWORD, PIHOLE_1_URL…) to set first. Set PIHOLE_URL, PIHOLE_PASSWORD, PIHOLE_1_URL, PIHOLE_1_PASSWORD, PIHOLE_2_URL, PIHOLE_2_PASSWORD, PIHOLE_READ_ONLY, PIHOLE_HTTP_AUTH_TOKEN, PIHOLE_ALLOWED_ORIGINS before connecting. PIHOLE_1_NAME, PIHOLE_2_NAME, PIHOLE_TOOLSETS are optional or environment-specific per the README. You can also paste the ready-made client config above.

07 · Alternatives to Pi-hole MCP Server (hexamatic)