Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

MCP Pihole

by aplaceforallmystuffversion 1.0.1i★ –iRuns on your computer
Registry nameio.github.aplaceforallmystuff/mcp-pihole

Install

Overview

Description from the maker (original English)

Pi-hole v6 MCP server - manage DNS blocking, stats, whitelists/blacklists

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Developer tools
  • You need to fill in: PIHOLE_URL, PIHOLE_PASSWORD

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: PIHOLE_URL, PIHOLE_PASSWORD

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "pihole": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-pihole-server"
      ],
      "env": {
        "PIHOLE_URL": "your-value",
        "PIHOLE_PASSWORD": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add pihole --env PIHOLE_URL=your-value --env PIHOLE_PASSWORD=your-value -- npx -y mcp-pihole-server

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "pihole": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-pihole-server"
      ],
      "env": {
        "PIHOLE_URL": "your-value",
        "PIHOLE_PASSWORD": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "pihole": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-pihole-server"
      ],
      "env": {
        "PIHOLE_URL": "your-value",
        "PIHOLE_PASSWORD": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • PIHOLE_URL required env
    Pi-hole web interface URL (e.g., http://pihole.local:8080)
  • PIHOLE_PASSWORD secret required env
    Pi-hole app password for API authentication

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account aplaceforallmystuff, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Developer toolsi

  • More stars than 0% of the other 5571 servers in this category
  • Published to the registry more recently than 1% of the other 5571 servers in this category
  • Basic checks equal to or better than 100% of the other 5571 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is MCP Pihole safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: PIHOLE_URL, PIHOLE_PASSWORD

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.0.1) reached the registry 12 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: GitHub, Desktop Commander, Cloudflare MCP

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

GitHub

GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.

by githubWidely used★ 34.2KUpdated 6 days ago

Computer or cloud

Desktop Commander

MCP server for terminal commands, file operations, and process management

by wonderwhy-erWidely used↓ 709.6K/wk★ 10.2KUpdated 18 days ago

Runs on your computer

Cloudflare MCP

Cloudflare MCP servers

by cloudflareWidely used★ 4.4KUpdated 14 months ago

Runs in the cloud✓ mcp.cloudflare.com

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

MCP Pi-hole Server

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:

  • Monitor DNS traffic - View query statistics, top blocked domains, and client activity
  • Control blocking - Enable/disable Pi-hole blocking instantly or with a timer
  • Manage lists - Add or remove domains from whitelist and blacklist without opening the web UI
  • View query logs - See recent DNS queries with detailed information
  • Maintain your Pi-hole - Update gravity (blocklists) and flush DNS cache

Features

CategoryTools
StatisticsQuery totals, blocking percentage, top domains, top clients
Blocking ControlEnable, disable (with optional timer), check status
Domain ListsWhitelist/blacklist CRUD operations
Query LogRecent DNS queries with client, status, response time
MaintenanceUpdate gravity, flush cache
VisualizationsASCII art dashboards and bar charts with ANSI colors

Prerequisites

  • Node.js 18+
  • Pi-hole v6 with API enabled
  • Pi-hole app password (generated in Pi-hole settings)
  • Network access to Pi-hole from your machine

Installation

Option 1: Install from npm (recommended)
npx mcp-pihole-server

Or install globally:

npm install -g mcp-pihole-server
Option 2: Clone and Build
git clone https://github.com/aplaceforallmystuff/mcp-pihole.git

cd mcp-pihole npm install npm run build

Configuration

1. Get Your Pi-hole App Password
  1. Open your Pi-hole web interface
  2. Go to Settings > API
  3. Generate a new app password
  4. Copy the password (it's only shown once)
2. Configure Your MCP Client
For Claude Desktop

Add to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{

"mcpServers": { "pihole": { "command": "npx", "args": ["-y", "mcp-pihole-server"], "env": { "PIHOLE_URL": "http://your-pihole-address:8080", "PIHOLE_PASSWORD": "your-app-password" } } } }

For Claude Code

Add to ~/.claude.json:

{

"mcpServers": { "pihole": { "command": "npx", "args": ["-y", "mcp-pihole-server"], "env": { "PIHOLE_URL": "http://your-pihole-address:8080", "PIHOLE_PASSWORD": "your-app-password" } } } }

Environment Variables
VariableDescriptionExample
PIHOLE_URLPi-hole web interface URLhttp://pihole.local:8080
PIHOLE_PASSWORDPi-hole app passwordYour app password from settings

Usage Examples

Once configured, you can interact with Pi-hole through natural language:

View Statistics

"Show me Pi-hole stats"

"What are the top blocked domains?"

"Which clients are making the most queries?"

Control Blocking

"Is Pi-hole blocking enabled?"

"Disable Pi-hole for 5 minutes"

"Re-enable Pi-hole blocking"

Manage Domain Lists

"Add example.com to the whitelist"

"Block ads.trackersite.com"

"Show me all whitelisted domains"

View Query Log

"Show me the last 50 DNS queries"

"What domains has my phone been querying?"

Visual Dashboards

"Show me Pi-hole stats with visualize: true"

"Get top blocked domains with visualization"

Available Tools

Statistics
  • pihole_get_stats - Get comprehensive Pi-hole statistics
  • pihole_get_top_blocked - Get top blocked domains
  • pihole_get_top_permitted - Get top permitted domains
  • pihole_get_top_clients - Get top clients by query count
  • pihole_get_query_log - Get recent DNS queries
Blocking Control
  • pihole_get_blocking_status - Check if blocking is enabled
  • pihole_enable_blocking - Enable DNS blocking
  • pihole_disable_blocking - Disable blocking (optionally with timer)
Domain Management
  • pihole_get_whitelist - List all whitelisted domains
  • pihole_get_blacklist - List all blacklisted domains
  • pihole_add_to_whitelist - Add domain to whitelist
  • pihole_add_to_blacklist - Add domain to blacklist
  • pihole_remove_from_whitelist - Remove domain from whitelist
  • pihole_remove_from_blacklist - Remove domain from blacklist
Maintenance
  • pihole_update_gravity - Update blocklists (gravity)
  • pihole_flush_cache - Flush DNS cache

ASCII Visualizations

This server supports colorful ASCII art visualizations rendered directly in your terminal using ANSI escape codes.

Supported Tools

The following tools support the optional visualize: true parameter:

ToolVisualization
pihole_get_statsFull dashboard with summary stats, top clients, blocked domains, and permitted domains
pihole_get_top_blockedRed bar chart of blocked domains
pihole_get_top_permittedGreen bar chart of permitted domains
pihole_get_top_clientsBlue bar chart of client activity
Usage

Pass visualize: true to any supported tool:

{

"name": "pihole_get_stats", "arguments": { "visualize": true } }

When visualize is not set or false, tools return JSON data as usual.

Example Output
╔════════════════════════════════════════════════════════════════════════════╗

║ 🛡️ PI-HOLE DASHBOARD ║ ╠════════════════════════════════════════════════════════════════════════════╣ ║ ║ ║ 📊 SUMMARY ║ ║ ────────────────────────────────────────────────────────────────────────── ║ ║ Total Queries: 73K Domains Blocked: 2.4M ║ ║ Blocked: 22K Active Clients: 28 ║ ║ Block Rate: 29.7% Total Clients: 115 ║ ╠════════════════════════════════════════════════════════════════════════════╣ ║ 🔝 TOP CLIENTS ║ ║ ────────────────────────────────────────────────────────────────────────── ║ ║ 192.168.1.52 ████████████████████████████████████████ 28K (38%) ║ ║ 192.168.1.51 ███████████████████▋ 14K (19%) ║ ╚════════════════════════════════════════════════════════════════════════════╝

(Colors appear in terminals that support ANSI escape codes)

Development

# Run in development mode (auto-reloads)

npm run watch

Build for production

npm run build

Run the built version

node dist/index.js

Troubleshooting

"PIHOLE_URL and PIHOLE_PASSWORD environment variables are required"

Ensure both environment variables are set in your MCP config.

"Authentication failed"

Your app password is invalid or expired. Generate a new one from Pi-hole Settings > API.

"API request failed: 401"

Session expired. The server will automatically re-authenticate, but if issues persist, check your password.

Connection refused

Ensure Pi-hole is running and the URL is correct. Check that you can access the Pi-hole web interface from your machine.

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

License

MIT License - see LICENSE for details.

Links

Ask PopNx