
AdGuard Home MCP Server
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 toolsPublic 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_USERNAMEsecretAdGuard Home username (omit if authentication is disabled)
ADGUARD_PASSWORDsecretAdGuard Home password (omit if authentication is disabled)
Readme
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
Details
- Repository
- github.com/samik081/mcp-adguard-home
- Package
@samik081/mcp-adguard-home- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active