Manage AdGuard Home through AI assistants
Connect AdGuard Home to Claude, Cursor or any other MCP client and it stops being a tab you switch to. Manage AdGuard Home through AI assistants. The adguard home mcp server is what makes that connection.
MCP server for AdGuard Home. Manage DNS filtering, clients, DHCP, rewrites, and more through natural language in Cursor, Claude Code, and Claude Desktop.
The toolset is worth reading before you wire it up, because it tells you what the integration is really for:
global_get_status — Retrieve server status including version, DNS addresses, protection state, and portsglobal_get_profile — Retrieve user profile (name, language, theme)global_check_version — Check for AdGuard Home updates and compare with current versionglobal_set_protection — Enable or disable DNS protection globally, with optional duration for temporary disableglobal_update_profile — Update user profile settings (name, language, theme)global_begin_update — Initiate an AdGuard Home software updatedns_get_info — Retrieve full DNS configuration including upstreams, cache settings, blocking mode, and DNSSECdns_test_upstream — Test upstream DNS server configuration to verify servers are reachabledns_set_config — Update DNS server configuration (19 optional fields for partial update)dns_clear_cache — Clear the DNS resolver cachequerylog_get — Search DNS query log with optional filtering by reason or response status, search term, and paginationquerylog_get_config — Retrieve query log configuration settings@samik081/mcp-adguard-home on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.
Configuration is passed through the environment: ADGUARD_URL, ADGUARD_USERNAME, ADGUARD_PASSWORD. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
Among the monitoring and observability options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. AdGuard Home's toolset — global_get_status, global_get_profile, global_check_version and 11 more — is a fair guide to whether it matches your workflow. It is maintained by Samik081; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| global_get_status | Retrieve server status including version, DNS addresses, protection state, and ports |
| global_get_profile | Retrieve user profile (name, language, theme) |
| global_check_version | Check for AdGuard Home updates and compare with current version |
| global_set_protection | Enable or disable DNS protection globally, with optional duration for temporary disable |
| global_update_profile | Update user profile settings (name, language, theme) |
| global_begin_update | Initiate an AdGuard Home software update |
| dns_get_info | Retrieve full DNS configuration including upstreams, cache settings, blocking mode, and DNSSEC |
| dns_test_upstream | Test upstream DNS server configuration to verify servers are reachable |
| dns_set_config | Update DNS server configuration (19 optional fields for partial update) |
| dns_clear_cache | Clear the DNS resolver cache |
| querylog_get | Search DNS query log with optional filtering by reason or response status, search term, and pagination |
| querylog_get_config | Retrieve query log configuration settings |
| querylog_set_config | Update query log configuration (enabled, interval, anonymization) |
| querylog_clear | Clear the entire DNS query log |
**Docker (stdio):**
```json
{
"mcpServers": {
"adguard-home": {
"command": "docker",
"args": ["run", "--rm", "-i",
"-e", "ADGUARD_URL=http://your-adguard-ip:3000",
"-e", "ADGUARD_USERNAME=your-username",
"-e", "ADGUARD_PASSWORD=your-password",
"ghcr.io/samik081/mcp-adguard-home"
]
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| ADGUARD_URL | Endpoint or connection string the server talks to. | Yes |
| ADGUARD_USERNAME | Configuration value read at startup. | Optional |
| ADGUARD_PASSWORD | Configuration value read at startup. | Optional |
Give your coding agent the full DevTools toolbox: traces, network, console, heap snapshots and Lighthouse.
Dashboards, Prometheus and Loki queries, incidents and alerts — observability by conversation.
Errors with full context — stack traces, issue triage and AI-powered root-cause analysis from Sentry's server.
Enables enhanced web research capabilities for large language models through intelligent search queuing and advanced content extraction.
Automates browser interactions and enables Large Language Models (LLMs) to interact with web pages through Playwright and Chrome DevTools Protocol
Guides tool usage by providing recommendations for MCP tools at each problem-solving stage.