Adguardctrl logo

Adguardctrl

Unclaimed

by lidless-labs

One bad call can take down your DNS filtering. adguardctrl gates every AdGuard Home write behind confirm and destructive flags. CLI plus MCP adapter, no daemon.

Set up this server

01 / Choose your client

02 / Before you connect

Authentication is not specified. Check the project instructions before connecting.

Install the runtime required by the project and make it available to your client.

Project instructions

Use names from the project instructions, separated by commas. Enter names only, never secret values.

03 / Add the configuration

Source: generated from public install instructions

claude mcp add --transport stdio 'adguardctrl' -- 'npx' '-y' '@solomonneas/adguard-mcp'

Run in your terminal after replacing any placeholders.

04 / Check it in your client

Open your client’s MCP settings and confirm the server connects and lists its tools. A copied configuration does not confirm a working connection.

ad-blockingadguard-homednsmcpmcp-servermodel-context-protocoltypescriptlidless-labsdns-filteringhomelab

More in AI & ML

Browse the full directory

Unclaimed listing

Is this your MCP server?

This listing was auto-indexed from the public record. Claim it to edit the page, set compatibility and unlock growth tools. Takes under two minutes.

Claim this server

Security profile

Claimed and verified servers get a weekly static scan that shows what the code can reach: external services, environment variables, shell commands, agent configuration folders, plus any dependencies with known advisories. Claim this listing to get one. How the security profile works

33 of 33 tools

Documented tools (33)

From project documentation. A server handshake does not verify each tool’s description or behavior.

adguard_add_client

Register a new named client with per-client settings (POST /control/clients/add).

adguard_add_filter_list

Subscribe to a new blocklist or allowlist URL (POST /control/filtering/addurl).

adguard_add_user_rule

Append a single user filter rule (POST /control/filtering/setrules).

adguard_check_host

Test what AGH would do with a hostname: filter decision, matched rules, CNAME chain, IPs (GET /control/filtering/checkhost).

adguard_clear_query_log

Wipe the DNS query log (POST /control/querylogclear).

adguard_delete_client

Remove a configured named client; per-client rules and stats are lost (POST /control/clients/delete).

adguard_get_blocked_services

Global blocked-services list + weekly schedule (GET /control/blockedservices/get).

adguard_get_dns_config

DNS upstreams, bootstrap, cache, parallel resolution, blocking mode (GET /control/dnsinfo).

adguard_get_safesearch_settings

SafeSearch enabled state + per-engine flags (GET /control/safesearch/status).

adguard_list_blocked_services_catalog

Available service IDs to block (GET /control/blockedservices/services).

adguard_list_clients

Configured named clients (GET /control/clients).

adguard_list_filter_lists

Subscribed blocklists + allowlists (GET /control/filtering/status).

adguard_list_user_rules

Custom user rules (GET /control/filtering/status).

adguard_query_log

DNS query log slice with filters (GET /control/querylog).

adguard_refresh_filter_lists

Force refresh subscribed filter lists immediately (POST /control/filtering/refresh).

adguard_remove_filter_list

Unsubscribe from a filter list by URL (POST /control/filtering/removeurl).

adguard_remove_user_rule

Remove a single user filter rule by exact match (POST /control/filtering/setrules).

adguard_replace_user_rules

Wholesale replace the user rules block (POST /control/filtering/setrules).

adguard_reset_stats

Zero the stats window (POST /control/statsreset).

adguard_set_blocked_services

Set GLOBAL blocked services + optional weekly schedule; accepts HH:MM strings or ms (PUT /control/blockedservices/update).

adguard_set_client_blocked_services

Set per-client blocked services + schedule (POST /control/clients/update).

adguard_stats

Stats window: top queries, blocked counts, clients (GET /control/stats).

adguard_status

Server status + protection state (GET /control/status).

adguard_sync_clear_logs

Clear AdGuardHome Sync in-memory logs (POST /api/v1/clear-logs).

adguard_sync_health

AdGuardHome Sync health check (HEAD /healthz).

adguard_sync_logs

AdGuardHome Sync in-memory logs (GET /api/v1/logs).

adguard_sync_run

Trigger AdGuardHome Sync immediately (POST /api/v1/sync).

adguard_sync_status

AdGuardHome Sync origin/replica status (GET /api/v1/status).

adguard_toggle_filter_list

Enable or disable a subscribed filter list (POST /control/filtering/seturl).

adguard_toggle_protection

Enable or disable global filtering; off stops ALL blocking (POST /control/protection).

adguard_toggle_safebrowsing

Enable or disable AGH SafeBrowsing (POST /control/safebrowsing/enable or /disable).

adguard_toggle_safesearch

Enable or disable SafeSearch globally with per-engine flags (PUT /control/safesearch/settings).

adguard_update_client

Full update for an existing named client; body is nested {name, data} (POST /control/clients/update).

Tool change history

Compared across complete checks of the same configuration. Tools were listed, not invoked. Input-schema changes are not measured here.

No complete tool checks yet.

FAQ

Questions about Adguardctrl MCP Server

How do I connect Adguardctrl MCP Server to Claude?
Run `claude mcp add adguardctrl -- npx -y @solomonneas/adguard-mcp` in Claude Code, or add the same command and arguments under mcpServers in Cursor's mcp.json or Claude Desktop's claude_desktop_config.json, then restart the client. The blocks above are ready to paste.
Is Adguardctrl MCP Server free?
The listed licence is MIT. Check the upstream terms for permitted use and commercial requirements; a public repository does not by itself mean the software is free or open source. Connected APIs and hosted services may have separate charges.
What can Adguardctrl MCP Server do?
Adguardctrl MCP Server documents 33 tools to the agent, including adguard_add_client, adguard_add_filter_list, adguard_add_user_rule. The descriptions above come from project documentation. A live handshake does not test individual tool behavior.