mcpField
🛡
🛡️ AdGuard Home MCP

🛡️ AdGuard Home MCP

Local
github.com/fcannizzaroSecurity11Updated 23w ago

About 🛡️ AdGuard Home MCP

AdGuard Home MCP lets AI agents or scripts manage AdGuard Home DNS rewrites, filtering rules, and filter lists through MCP or a CLI. It also supports saving instance credentials for CLI use.

Key features

  1. 01List, add, and remove DNS rewrite records
  2. 02List and manage DNS filtering rules
  3. 03Enable or disable filter lists
  4. 04Refresh filter lists
  5. 05Log in and save credentials through the CLI

Use cases

  1. 01Add DNS rewrites for local domains
  2. 02Block or allow specified domains
  3. 03Change filter-list enabled states
  4. 04Manage AdGuard Home DNS from scripts

MCP support

The MCP server exposes tools for managing AdGuard Home DNS rewrite records, filtering rules, and filter lists; the package also includes a CLI.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

🛡️ AdGuard Home MCP

A Model Context Protocol (MCP) server for AdGuard Home. Manage DNS rewrite records, filtering rules, and filter lists via AI agents.

NPM Version CI: Publish Package

LLM agents interacting with AdGuard Home through MCP

📦 Installation

npm i -g @fcannizzaro/mcp-adguard-home

⚙️ Credentials

For the CLI, run:

adguard-cli login

This prompts for your AdGuard Home URL, username, and password, then saves them to ~/.config/mcp-adguard-home/config.json. Saved credentials are loaded automatically on start. If no saved credentials are available, the package falls back to these environment variables:

VariableDescription
ADGUARD_URLBase URL of your AdGuard Home instance (e.g. http://192.168.1.1)
ADGUARD_USERNAMEAdGuard Home username
ADGUARD_PASSWORDAdGuard Home password

🚀 Configuration

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
	"mcpServers": {
		"adguard-home": {
			"command": "npx",
			"args": ["-y", "@fcannizzaro/mcp-adguard-home"],
			"env": {
				"ADGUARD_URL": "http://192.168.1.1",
				"ADGUARD_USERNAME": "admin",
				"ADGUARD_PASSWORD": "your-password"
			}
		}
	}
}
Cursor

Edit .cursor/mcp.json in your project root (or ~/.cursor/mcp.json globally):

{
	"mcpServers": {
		"adguard-home": {
			"command": "npx",
			"args": ["-y", "@fcannizzaro/mcp-adguard-home"],
			"env": {
				"ADGUARD_URL": "http://192.168.1.1",
				"ADGUARD_USERNAME": "admin",
				"ADGUARD_PASSWORD": "your-password"
			}
		}
	}
}
VS Code

Edit .vscode/mcp.json in your project root:

{
	"servers": {
		"adguard-home": {
			"type": "stdio",
			"command": "npx",
			"args": ["-y", "@fcannizzaro/mcp-adguard-home"],
			"env": {
				"ADGUARD_URL": "http://192.168.1.1",
				"ADGUARD_USERNAME": "admin",
				"ADGUARD_PASSWORD": "your-password"
			}
		}
	}
}
Windsurf

Edit ~/.codeium/windsurf/mcp_config.json:

{
	"mcpServers": {
		"adguard-home": {
			"command": "npx",
			"args": ["-y", "@fcannizzaro/mcp-adguard-home"],
			"env": {
				"ADGUARD_URL": "http://192.168.1.1",
				"ADGUARD_USERNAME": "admin",
				"ADGUARD_PASSWORD": "your-password"
			}
		}
	}
}
Claude Code CLI
claude mcp add adguard-home \
  -e ADGUARD_URL=http://192.168.1.1 \
  -e ADGUARD_USERNAME=admin \
  -e ADGUARD_PASSWORD=your-password \
  -- npx -y @fcannizzaro/mcp-adguard-home

🧰 Available Tools

The package also installs a regular CLI for agents or scripts that do not use MCP:

adguard-cli login
adguard-cli list_rewrite_dns_records
adguard-cli add_rewrite_dns_record --domain example.test --ip 192.168.1.10
adguard-cli manage_dns_filtering_rules --domains ads.example --allowed false

CLI arguments can also be passed as a JSON object:

adguard-cli add_rewrite_dns_record '{"domain":"example.test","ip":"192.168.1.10"}'
DNS Rewrite Records
ToolDescriptionParameters
list_rewrite_dns_recordsList all DNS rewrite records—
add_rewrite_dns_recordAdd a DNS rewrite recorddomain: string, ip: string
remove_rewrite_dns_recordRemove a DNS rewrite recorddomain: string, ip: string
DNS Filtering Rules
ToolDescriptionParameters
list_dns_filtering_rulesList all custom DNS filtering rules—
manage_dns_filtering_rulesBlock or allow domainsdomains: string[], allowed: boolean
remove_rdns_filtering_rulesRemove custom filtering rulesdomains: string[]
Filter Lists
ToolDescriptionParameters
list_filter_listsList all configured filter lists—
toggle_filter_listEnable or disable a filter listid: number, enabled: boolean
refresh_filter_listsForce update of all filter lists—

📄 License

Licensed under the MIT License.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.