Catalog PyPI
PACKAGE EXPLORERView in registry

adguard-home-mcp

PyPI

MCP server for AdGuard Home — wraps the local REST API. Supports stdio and streamable HTTP.

adguardadguard-homednsmcpmodel-context-protocol
Versions collected1
Direct dependencies3From release 0.2.0
Last observed20 Oct, 19:29 UTC

README

Version 0.2.0 documentation

AdGuard-Home-MCP

MCP server wrapping the AdGuard Home local REST API.

Exposes a curated, parameter-driven tool surface (status, stats, DNS config, blocklist/allowlist management, custom rules, query log, per-client policies, protection toggle) over either stdio (for direct MCP clients like Claude Desktop) or streamable HTTP (for MCP aggregators / gateways).

Tools

ToolPurpose
get_statusService status (version, protection, DNS port)
get_stats24h query stats, top domains, top clients
get_dns_configView upstreams / bootstrap / cache config
set_upstreamsReplace upstream DNS (and optionally bootstrap)
list_filter_listsAll blocklists + allowlists with state and rule counts
add_filter_listAdd a blocklist or allowlist (kind="block" | "allow")
remove_filter_listRemove a blocklist or allowlist by URL
toggle_filter_listEnable/disable a list without removing it
refresh_filter_listsForce-refresh lists from source URLs
get_custom_rulesRead user filter rules
update_custom_rulesAppend (default) or replace user rules
check_host"Would AGH block this hostname?" preview
query_log / clear_query_logBrowse / wipe DNS query history
list_clients / update_clientPer-device policies
set_protectionPause/resume filtering globally (with optional auto-resume)

17 tools. Block/allow distinction and append/replace semantics are parameters rather than separate tools.

Environment

VarRequiredNotes
ADGUARD_HOME_URLyesBase URL of the AGH admin interface, e.g. http://adguard.lan
ADGUARD_HOME_USERNAMEyesAdmin user from the AGH setup wizard
ADGUARD_HOME_PASSWORDyesAdmin password
ADGUARD_HOME_VERIFY_SSLnoDefault true; set false for self-signed certs
MCP_TRANSPORTnostdio (default), or streamable_http for service mode
MCP_HTTP_HOSTnoDefault 0.0.0.0 (only used with streamable_http)
MCP_HTTP_PORTnoDefault 3000 (only used with streamable_http)

Run

stdio

ADGUARD_HOME_URL=http://adguard.lan \
ADGUARD_HOME_USERNAME=admin \
ADGUARD_HOME_PASSWORD=REPLACE_ME \
  uvx adguard-home-mcp

Streamable HTTP (Docker)

docker build -t adguard-home-mcp .
docker run --rm -p 3000:3000 \
  -e ADGUARD_HOME_URL=http://adguard.lan \
  -e ADGUARD_HOME_USERNAME=admin \
  -e ADGUARD_HOME_PASSWORD=REPLACE_ME \
  adguard-home-mcp

The container defaults to MCP_TRANSPORT=streamable_http on port 3000. The MCP endpoint is at /mcp.

Client config

Claude Desktop / Claude Code (stdio)

{
  "mcpServers": {
    "adguard-home": {
      "command": "uvx",
      "args": ["adguard-home-mcp"],
      "env": {
        "ADGUARD_HOME_URL": "http://adguard.lan",
        "ADGUARD_HOME_USERNAME": "admin",
        "ADGUARD_HOME_PASSWORD": "REPLACE_ME"
      }
    }
  }
}

Streamable HTTP client

{
  "mcpServers": {
    "adguard-home": {
      "type": "http",
      "url": "http://adguard-host:3000/mcp"
    }
  }
}

Reference

License

MIT.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.2.030 Apr 20263

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
danielrosehill/adguard-home-mcp

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:29 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:e3472106e4277e6e8c78cb6ab18142fd4f8338300cb453c8bd044c70ffd74ece