Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 02 May 02:46
4161a4a

Highlights

The repository moved from lloydmcl/pihole-mcp to hexamatic/pihole-mcp — existing GitHub URLs redirect, stars, watchers, issues, and forks remain in place; new container images publish to ghcr.io/hexamatic/pihole-mcp. This release also lands the v0.2.0 feature set: twelve new tools (68 total, ~95% Pi-hole v6 REST API coverage), three new MCP prompts (nine total), structured output schemas on key tools per the MCP 2025-11-25 specification, and sixteen new unit-test files raising coverage across all 17 tool categories.

Added

  • Long-term database statistics — four new tools surface historical analysis over the FTL database with mandatory from/until windows:
    • pihole_stats_database_top_domains
    • pihole_stats_database_top_clients
    • pihole_stats_database_upstreams
    • pihole_stats_database_query_types
  • Granular configuration — three new tools support dotted-path access into Pi-hole's hierarchical config and deferred FTL restart for batch operations:
    • pihole_config_get_value
    • pihole_config_add_value
    • pihole_config_remove_value
  • System info — three new tools expose FTL engine internals, live DNS/DHCP metrics, and hardware temperature sensors (pihole_info_ftl, pihole_info_metrics, pihole_info_sensors).
  • Session management — two new tools for security auditing: pihole_auth_sessions (list active sessions) and pihole_auth_revoke_session (terminate a session by ID).
  • MCP prompts — three new prompts:
    • security_audit — reviews active sessions, authentication configuration, and diagnostic messages for unauthorised access patterns.
    • weekly_trends — week-over-week DNS statistics comparison via the new long-term database tools.
    • upstream_health — DNS resolver performance, cache efficiency, and DNSSEC validation analysis.
  • Structured output schemaspihole_dns_get_blocking, pihole_stats_summary, and pihole_domains_list now return structured output per MCP 2025-11-25, allowing downstream agents to parse results programmatically without LLM interpretation of formatted text.

Changed

  • Repository transferred from lloydmcl/pihole-mcp to hexamatic/pihole-mcp. Existing GitHub URLs redirect; the Go module path, container image references, badge URLs, and goreleaser configuration are rewritten to the new namespace across README.md, CONTRIBUTING.md, SECURITY.md, the issue templates, and every Go source file.
  • Container images now publish to ghcr.io/hexamatic/pihole-mcp (multi-arch: linux/amd64, linux/arm64).
  • Project branding — replaced the Pi-hole Vortex logo with custom branding to avoid trademark conflicts.
  • Shared helpers extracted across tool handlers (toolError, getCountCapped) centralise error formatting and count clamping that were previously duplicated.

Fixed

  • justfile PATH compositionmise bin-paths emits one path per line; the previous concatenation truncated PATH at the first entry, leaving goreleaser and other mise-managed tools unreachable from just release-dry. Now collapses newlines into the colon separator before prepending.

Quality

  • Sixteen new unit-test files raise tool-handler coverage across all 17 tool categories, including error paths and parameter validation.
  • The E2E suite is extended to cover the twelve new tools and a config add/remove round-trip against a live Pi-hole.

Migration Notes

  • Container image path — pull from ghcr.io/hexamatic/pihole-mcp:0.2.0 (or :latest). The previous ghcr.io/lloydmcl/pihole-mcp path is no longer published; existing images at the old path remain accessible but receive no updates.
  • Go module pathgo install github.com/hexamatic/pihole-mcp/cmd/pihole-mcp@v0.2.0. Existing imports of github.com/lloydmcl/pihole-mcp should be updated; the GitHub redirect handles the source pull, but Go's module proxy may cache under the new path.

Installation

Go install:

go install github.com/hexamatic/pihole-mcp/cmd/pihole-mcp@v0.2.0

Docker (multi-arch):

docker pull ghcr.io/hexamatic/pihole-mcp:0.2.0

Binary download: grab the archive for your platform from the release assets.

Requirements

Configuration

Variable Required Default Description
PIHOLE_URL Yes Pi-hole base URL
PIHOLE_PASSWORD Yes Admin or application password
PIHOLE_REQUEST_TIMEOUT No 30s HTTP request timeout

See the README for client-specific setup guides (Claude Desktop, Cursor, Windsurf, VS Code, Cline) and the OpenTelemetry section for opt-in tracing configuration.