samik081 avatar

AdGuard Home MCP Server

samik081/mcp-adguard-home

Connects Claude to your AdGuard Home instance to manage DNS filtering, query logs, DHCP, and rewrites through conversation. Exposes 65 tools covering the complete AdGuard Home API, from checking protection status and viewing blocked queries to clearing caches and updating filter lists. Ships with a read-only mode that surfaces 29 safe monitoring tools while blocking any state changes. Supports both stdio and HTTP transports, runs via npx or Docker, and lets you filter down to specific API categories if you only need DNS or stats tools. Useful if you're already running AdGuard Home and want to check filtering stats, troubleshoot client issues, or toggle protection without opening the web UI.

GitHub stars
15
tools
65
auth
Secret needed
transport
STDIO
env vars
3
last updated
Nov 12, 2026

Tools

65 tools

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

global_get_statusRetrieve server status including version, DNS addresses, protection state, and ports

Retrieve server status including version, DNS addresses, protection state, and ports

No parameter schema in public metadata yet.

global_get_profileRetrieve user profile (name, language, theme)

Retrieve user profile (name, language, theme)

No parameter schema in public metadata yet.

global_check_versionCheck for AdGuard Home updates and compare with current version

Check for AdGuard Home updates and compare with current version

No parameter schema in public metadata yet.

global_set_protectionEnable or disable DNS protection globally, with optional duration for temporary disable

Enable or disable DNS protection globally, with optional duration for temporary disable

No parameter schema in public metadata yet.

global_update_profileUpdate user profile settings (name, language, theme)

Update user profile settings (name, language, theme)

No parameter schema in public metadata yet.

global_begin_updateInitiate an AdGuard Home software update

Initiate an AdGuard Home software update

No parameter schema in public metadata yet.

dns_get_infoRetrieve full DNS configuration including upstreams, cache settings, blocking mode, and DNSSEC

Retrieve full DNS configuration including upstreams, cache settings, blocking mode, and DNSSEC

No parameter schema in public metadata yet.

dns_test_upstreamTest upstream DNS server configuration to verify servers are reachable

Test upstream DNS server configuration to verify servers are reachable

No parameter schema in public metadata yet.

dns_set_configUpdate DNS server configuration (23 optional fields for partial update, incl. rate-limit subnet lengths and allowlist)

Update DNS server configuration (23 optional fields for partial update, incl. rate-limit subnet lengths and allowlist)

No parameter schema in public metadata yet.

dns_clear_cacheClear the DNS resolver cache

Clear the DNS resolver cache

No parameter schema in public metadata yet.

querylog_getSearch DNS query log with optional filtering by reason or response status, search term, and cursor pagination via older_than (returns a paging hint on empty results)

Search DNS query log with optional filtering by reason or response status, search term, and cursor pagination via older_than (returns a paging hint on empty results)

No parameter schema in public metadata yet.

querylog_get_configRetrieve query log configuration settings

Retrieve query log configuration settings

No parameter schema in public metadata yet.

querylog_set_configUpdate query log configuration (enabled, interval, anonymization)

Update query log configuration (enabled, interval, anonymization)

No parameter schema in public metadata yet.

querylog_clearClear the entire DNS query log

Clear the entire DNS query log

No parameter schema in public metadata yet.

stats_getRetrieve DNS statistics including top domains, blocked counts, and client activity

Retrieve DNS statistics including top domains, blocked counts, and client activity

No parameter schema in public metadata yet.

stats_get_configRetrieve statistics configuration settings

Retrieve statistics configuration settings

No parameter schema in public metadata yet.

stats_resetReset all DNS statistics

Reset all DNS statistics

No parameter schema in public metadata yet.

stats_set_configUpdate statistics configuration (enabled, interval, ignored domains)

Update statistics configuration (enabled, interval, ignored domains)

No parameter schema in public metadata yet.

filtering_get_statusRetrieve filtering configuration including blocklists, allowlists, and user rules

Retrieve filtering configuration including blocklists, allowlists, and user rules

No parameter schema in public metadata yet.

filtering_check_hostTest whether a hostname would be blocked by current filtering rules

Test whether a hostname would be blocked by current filtering rules

No parameter schema in public metadata yet.

filtering_set_configUpdate global filtering configuration (enabled state and update interval)

Update global filtering configuration (enabled state and update interval)

No parameter schema in public metadata yet.

filtering_add_urlAdd a new filter URL (blocklist or allowlist)

Add a new filter URL (blocklist or allowlist)

No parameter schema in public metadata yet.

filtering_remove_urlRemove a filter URL from blocklist or allowlist

Remove a filter URL from blocklist or allowlist

No parameter schema in public metadata yet.

filtering_set_urlUpdate an existing filter URL (rename, change URL, or enable/disable)

Update an existing filter URL (rename, change URL, or enable/disable)

No parameter schema in public metadata yet.

filtering_refreshForce refresh of filter lists to fetch latest updates

Force refresh of filter lists to fetch latest updates

No parameter schema in public metadata yet.

filtering_set_rulesSet custom filtering rules (replaces all existing custom rules)

Set custom filtering rules (replaces all existing custom rules)

No parameter schema in public metadata yet.

safebrowsing_get_statusRetrieve safe browsing (malware/phishing protection) status

Retrieve safe browsing (malware/phishing protection) status

No parameter schema in public metadata yet.

safebrowsing_setEnable or disable safe browsing protection

Enable or disable safe browsing protection

No parameter schema in public metadata yet.

parental_get_statusRetrieve parental filtering status

Retrieve parental filtering status

No parameter schema in public metadata yet.

parental_setEnable or disable parental filtering (content restrictions)

Enable or disable parental filtering (content restrictions)

No parameter schema in public metadata yet.

safesearch_get_statusRetrieve safe search settings showing per-engine enforcement status

Retrieve safe search settings showing per-engine enforcement status

No parameter schema in public metadata yet.

safesearch_set_settingsUpdate safe search settings with per-engine configuration (Bing, DuckDuckGo, Google, Pixabay, Yandex, YouTube)

Update safe search settings with per-engine configuration (Bing, DuckDuckGo, Google, Pixabay, Yandex, YouTube)

No parameter schema in public metadata yet.

clients_getRetrieve all configured and auto-detected clients with their settings

Retrieve all configured and auto-detected clients with their settings

No parameter schema in public metadata yet.

clients_searchSearch for specific clients by their IDs (IP, MAC, CIDR, or client ID)

Search for specific clients by their IDs (IP, MAC, CIDR, or client ID)

No parameter schema in public metadata yet.

clients_addAdd a new persistent client with per-client settings

Add a new persistent client with per-client settings

No parameter schema in public metadata yet.

clients_updateUpdate an existing persistent client by name

Update an existing persistent client by name

No parameter schema in public metadata yet.

clients_deleteDelete a persistent client by name

Delete a persistent client by name

No parameter schema in public metadata yet.

dhcp_get_statusRetrieve DHCP server configuration, static leases, and active leases

Retrieve DHCP server configuration, static leases, and active leases

No parameter schema in public metadata yet.

dhcp_get_interfacesRetrieve available network interfaces for DHCP server binding

Retrieve available network interfaces for DHCP server binding

No parameter schema in public metadata yet.

dhcp_find_activeScan for competing DHCP servers on a network interface

Scan for competing DHCP servers on a network interface

No parameter schema in public metadata yet.

dhcp_set_configUpdate DHCP server configuration (enabled state, interface, IPv4/IPv6 settings)

Update DHCP server configuration (enabled state, interface, IPv4/IPv6 settings)

No parameter schema in public metadata yet.

dhcp_add_static_leaseAdd a static DHCP lease mapping a MAC address to an IP

Add a static DHCP lease mapping a MAC address to an IP

No parameter schema in public metadata yet.

dhcp_remove_static_leaseRemove a static DHCP lease

Remove a static DHCP lease

No parameter schema in public metadata yet.

dhcp_update_static_leaseUpdate a static DHCP lease (remove + add pattern)

Update a static DHCP lease (remove + add pattern)

No parameter schema in public metadata yet.

dhcp_resetReset DHCP configuration to defaults

Reset DHCP configuration to defaults

No parameter schema in public metadata yet.

dhcp_reset_leasesClear all DHCP leases

Clear all DHCP leases

No parameter schema in public metadata yet.

rewrites_listRetrieve all configured DNS rewrite rules

Retrieve all configured DNS rewrite rules

No parameter schema in public metadata yet.

rewrites_get_settingsRetrieve DNS rewrite module enabled/disabled state

Retrieve DNS rewrite module enabled/disabled state

No parameter schema in public metadata yet.

rewrites_addAdd a new DNS rewrite rule

Add a new DNS rewrite rule

No parameter schema in public metadata yet.

rewrites_updateUpdate a DNS rewrite rule (remove + add pattern)

Update a DNS rewrite rule (remove + add pattern)

No parameter schema in public metadata yet.

rewrites_deleteDelete a DNS rewrite rule

Delete a DNS rewrite rule

No parameter schema in public metadata yet.

rewrites_set_settingsEnable or disable the DNS rewrite module

Enable or disable the DNS rewrite module

No parameter schema in public metadata yet.

tls_get_statusRetrieve TLS configuration and certificate validation status

Retrieve TLS configuration and certificate validation status

No parameter schema in public metadata yet.

tls_validateValidate TLS configuration without applying changes

Validate TLS configuration without applying changes

No parameter schema in public metadata yet.

tls_set_configUpdate TLS configuration including certificates and HTTPS/DoH/DoT settings

Update TLS configuration including certificates and HTTPS/DoH/DoT settings

No parameter schema in public metadata yet.

blocked_services_get_allList all available services that can be blocked, organized by group

List all available services that can be blocked, organized by group

No parameter schema in public metadata yet.

blocked_services_getRetrieve currently blocked services list and schedule

Retrieve currently blocked services list and schedule

No parameter schema in public metadata yet.

blocked_services_updateUpdate the list of blocked services and optional schedule

Update the list of blocked services and optional schedule

No parameter schema in public metadata yet.

access_get_listRetrieve access control lists: allowed clients, disallowed clients, and blocked hosts

Retrieve access control lists: allowed clients, disallowed clients, and blocked hosts

No parameter schema in public metadata yet.

access_set_listSet access control lists for allowed clients, disallowed clients, and blocked hosts

Set access control lists for allowed clients, disallowed clients, and blocked hosts

No parameter schema in public metadata yet.

install_get_addressesRetrieve network interface details and ports for initial setup

Retrieve network interface details and ports for initial setup

No parameter schema in public metadata yet.

install_check_configValidate install configuration without applying (checks web/DNS binding, credentials)

Validate install configuration without applying (checks web/DNS binding, credentials)

No parameter schema in public metadata yet.

install_apply_configApply initial setup configuration (web/DNS binding and admin credentials)

Apply initial setup configuration (web/DNS binding and admin credentials)

No parameter schema in public metadata yet.

mobile_config_get_dohGenerate Apple .mobileconfig profile for DNS-over-HTTPS

Generate Apple .mobileconfig profile for DNS-over-HTTPS

No parameter schema in public metadata yet.

mobile_config_get_dotGenerate Apple .mobileconfig profile for DNS-over-TLS

Generate Apple .mobileconfig profile for DNS-over-TLS

No parameter schema in public metadata yet.

Sponsors

Configuration

ADGUARD_URL*

URL of the AdGuard Home instance (e.g. http://192.168.1.1:3000)

ADGUARD_USERNAMEsecret

AdGuard Home username (omit if authentication is disabled)

ADGUARD_PASSWORDsecret

AdGuard Home password (omit if authentication is disabled)

Readme

npm version Docker image License: MIT Node.js Version

MCP AdGuard Home

MCP server for AdGuard Home. Manage DNS filtering, clients, DHCP, rewrites, and more through natural language in Cursor, Claude Code, and Claude Desktop.

Features


View the full README on GitHub

Details

Repository
github.com/samik081/mcp-adguard-home
Package
@samik081/mcp-adguard-home
Transport
STDIO
Auth
Required
Registry
MCP registry, active

More from samik081