mcpField
C
cli-anything-adguardhome

cli-anything-adguardhome

github.com/hkudsCloud & DevOps57.6k479 installsUpdated 5w ago
Repository

About cli-anything-adguardhome

A CLI for AI agents and power users to manage AdGuard Home through its REST API. It covers filtering, DNS, clients, DHCP, and query logs without a GUI.

Key features

  1. 01Check server status and version
  2. 02Manage DNS filter lists
  3. 03Configure parental and safe browsing controls
  4. 04Manage clients and DNS rewrites
  5. 05View DHCP leases and query statistics
  6. 06Inspect and clear query logs

Use cases

  1. 01Add or refresh network filter lists
  2. 02Create local DNS rewrite rules
  3. 03Review DNS queries and statistics
  4. 04Manage client devices and DHCP leases

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/hkuds/cli-anything --skill cli-anything-adguardhome

After installing, type/cli-anything-adguardhomein Claude Code to confirm it loaded.

Details

From the project README

cli-anything-adguardhome

Network-wide ad blocking and DNS management via the AdGuard Home REST API. Designed for AI agents and power users who need to manage filtering, DNS rewrites, clients, DHCP, and query logs without a GUI.

Installation

This CLI is installed as part of the cli-anything-adguardhome package:

pip install cli-anything-adguardhome

Prerequisites:

  • Python 3.10+
  • AdGuard Home must be installed and running
  • Install AdGuard Home: curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v

Usage

Basic Commands
# Show help
cli-anything-adguardhome --help

# Start interactive REPL mode
cli-anything-adguardhome

# Check server status
cli-anything-adguardhome server status

# Run with JSON output (for agent consumption)
cli-anything-adguardhome --json server status
REPL Mode

When invoked without a subcommand, the CLI enters an interactive REPL session:

cli-anything-adguardhome
# Enter commands interactively with tab-completion and history

Command Groups

Config

Connection and configuration management.

CommandDescription
showShow current connection configuration
saveSave connection settings to a config file
testTest the connection to AdGuard Home
Server

Server status and control commands.

CommandDescription
statusShow server protection status
versionShow AdGuard Home version
restartRestart the AdGuard Home server
Filter

DNS filter list management.

CommandDescription
listList all configured filter lists
statusShow filtering status
toggleEnable or disable filtering globally
addAdd a new filter list by URL
removeRemove a filter list
enableEnable a specific filter list
disableDisable a specific filter list
refreshForce-refresh all filter lists
Blocking

Parental control, safe browsing, and safe search settings.

CommandDescription
parental statusShow parental control status
parental enableEnable parental control
parental disableDisable parental control
safebrowsing statusShow safe browsing status
safebrowsing enableEnable safe browsing
safebrowsing disableDisable safe browsing
safesearch statusShow safe search status
safesearch enableEnable safe search
safesearch disableDisable safe search
Blocked-Services

Manage blocked internet services.

CommandDescription
listList currently blocked services
setSet the list of blocked services
Clients

Client device management.

CommandDescription
listList all configured clients
addAdd a new client by name and IP
removeRemove a client
showShow details for a specific client
Stats

Query statistics.

CommandDescription
showShow DNS query statistics
resetReset all statistics
configView or update statistics retention interval
Log

DNS query log management.

CommandDescription
showShow recent DNS query log entries
configView or update query log settings
clearClear the query log
Rewrite

DNS rewrite rules.

CommandDescription
listList all DNS rewrite rules
addAdd a DNS rewrite rule
removeRemove a DNS rewrite rule
DHCP

DHCP server management.

CommandDescription
statusShow DHCP server status
leasesList active DHCP leases
add-staticAdd a static DHCP lease
remove-staticRemove a static DHCP lease
TLS

TLS/HTTPS configuration.

CommandDescription
statusShow TLS configuration status

Examples

Check Server Status
cli-anything-adguardhome server status
cli-anything-adguardhome server version
Manage Filter Lists
# List current filters
cli-anything-adguardhome filter list

# Add a new blocklist
cli-anything-adguardhome filter add --url https://somehost.com/list.txt --name "My List"

# Refresh all filters
cli-anything-adguardhome filter refresh
DNS Rewrites
# Add a local DNS entry
cli-anything-adguardhome rewrite add --domain "myserver.local" --answer "192.168.1.50"

# List all rewrites
cli-anything-adguardhome rewrite list
Client Management
cli-anything-adguardhome clients add --name "My PC" --ip 192.168.1.100
cli-anything-adguardhome clients list
Query Statistics
# Show stats (human-readable)
cli-anything-adguardhome stats show

# Show stats (JSON for agents)
cli-anything-adguardhome --json stats show

Output Formats

All commands support dual output modes:

  • Human-readable (default): Tables, colors, formatted text
  • Machine-readable (--json flag): Structured JSON for agent consumption
# Human output
cli-anything-adguardhome filter list

# JSON output for agents
cli-anything-adguardhome --json filter list

For AI Agents

When using this CLI programmatically:

  1. Always use --json flag for parseable output
  2. Check return codes - 0 for success, non-zero for errors
  3. Parse stderr for error messages on failure
  4. Use absolute paths for all file operations
  5. Test connection first with config test before other commands

More Information

  • Full documentation: See README.md in the package
  • Test coverage: See TEST.md in the package
  • Methodology: See HARNESS.md in the cli-anything-plugin

Version

1.0.0

Comments

Markdown supported