About
AdGuard Home Agent / MCP
README
CLI or API | MCP
Overview
Adguard Home Agent is a production-grade Agent and Model Context Protocol (MCP) server designed to interface directly with AdGuard Home MCP Server for Agentic AI!.
Key Features
- Consolidated Action-Routed MCP Tools: Minimizes token overhead and eliminates tool bloat in LLM contexts by grouping methods into optimized, togglable tool modules.
- Enterprise-Grade Security: Comprehensive support for Eunomia policies, OIDC token delegation, and granular execution context tracking.
- Integrated Graph Agent: Built-in Pydantic AI agent supporting the Agent Control Protocol (ACP) and standard Web interfaces (AG-UI).
- Native Telemetry & Tracing: Out-of-the-box OpenTelemetry exports and native Langfuse tracing.
CLI or API
This agent wraps the AdGuard Home MCP Server for Agentic AI! API. You can interact with it programmatically or via its integrated execution entrypoints.
Detailed instructions on how to use the underlying API wrappers, extended schema bindings, and developer SDK references are maintained in docs/index.md.
MCP
This server utilizes dynamic Action-Routed tools to optimize token overhead and maximize IDE compatibility.
Available MCP Tools
| Tool Module | Toggle Env Var | Enabled by Default | Description & Nested Methods |
|---|---|---|---|
| System | SYSTEMTOOL |
True |
Manage adguard home system operations. Action-routed methods: get_version, set_protection, clear_cache. |
| Access | ACCESSTOOL |
True |
Manage adguard home access operations. Action-routed methods: get_access_list, set_access_list. |
| Blocked Services | BLOCKED_SERVICESTOOL |
True |
Manage adguard home blocked services operations. Action-routed methods: get_blocked_services_list, get_all_blocked_services, update_blocked_services. |
| Filtering | FILTERINGTOOL |
True |
Manage adguard home filtering operations. Action-routed methods: set_filtering_rules, check_host_filtering, set_filter_url_params, get_filtering_status, set_filtering_config, add_filter_url, remove_filter_url, refresh_filters. |
| Clients | CLIENTSTOOL |
True |
Manage adguard home clients operations. Action-routed methods: list_clients, search_clients, add_client, update_client, delete_client. |
| Profile | PROFILETOOL |
True |
Manage adguard home profile operations. Action-routed methods: get_profile, update_profile. |
| Dhcp | DHCPTOOL |
True |
Manage adguard home dhcp operations. Action-routed methods: get_dhcp_status, get_dhcp_interfaces, set_dhcp_config, find_active_dhcp, add_dhcp_static_lease, remove_dhcp_static_lease, update_dhcp_static_lease, reset_dhcp, reset_dhcp_leases. |
| Settings | SETTINGSTOOL |
True |
Manage adguard home settings operations. Action-routed methods: get_parental_status, enable_parental_control, disable_parental_control, get_safebrowsing_status, enable_safebrowsing, disable_safebrowsing, get_safesearch_status. |
| Query Log | QUERY_LOGTOOL |
True |
Manage adguard home query log operations. Action-routed methods: get_query_log, clear_query_log. |
| Rewrites | REWRITESTOOL |
True |
Manage adguard home rewrites operations. Action-routed methods: list_rewrites, add_rewrite, delete_rewrite, update_rewrite, get_rewrite_settings, update_rewrite_settings. |
| Tls | TLSTOOL |
True |
Manage adguard home tls operations. Action-routed methods: get_tls_status, configure_tls, validate_tls. |
| Mobile | MOBILETOOL |
True |
Manage adguard home mobile operations. Action-routed methods: get_doh_mobile_config, get_dot_mobile_config. |
| Stats | STATSTOOL |
True |
Manage adguard home stats operations. Action-routed methods: get_stats, reset_stats, get_stats_config, set_stats_config. |
| Dns | DNSTOOL |
True |
Manage adguard home dns operations. Action-routed methods: get_dns_info, set_dns_config, test_upstream_dns. |
Detailed tool schemas, parameter shapes, and validation constraints are preserved in docs/mcp.md.
MCP Configuration Examples
stdio Transport (Recommended for local IDEs e.g., Cursor, Claude Desktop)
Configure your IDE's mcp.json to launch the MCP server via uvx:
{
"mcpServers": {
"adguard-home-agent": {
"command": "uvx",
"args": [
"--from",
"adguard-home-agent",
"adguard-home-agent"
],
"env": {
"ADGUARD_HOST": "your_adguard_host_here",
"ADGUARD_API_KEY": "your_adguard_api_key_here",
"ADGUARD_DEFAULT_ADMIN_USER": "your_adguard_default_admin_user_here",
"ADGUARD_DEFAULT_ADMIN_PASS": "your_adguard_default_admin_pass_here",
"LLM_ROUTER_MODEL": "your_llm_router_model_here",
"LLM_AGENT_MODEL": "your_llm_agent_model_here",
"GRAPH_ROUTER_TIMEOUT": "your_graph_router_timeout_here",
"GRAPH_VERIFIER_TIMEOUT": "your_graph_verifier_timeout_here"
}
}
}
}
Streamable-HTTP Transport (Recommended for production deployments)
Configure your client's mcp.json to launch the Streamable-HTTP server via uvx with explicit host and port definition:
{
"mcpServers": {
"adguard-home-agent": {
"command": "uvx",
"args": [
"--from",
"adguard-home-agent",
"adguard-home-agent"
],
"env": {
"TRANSPORT": "streamable-http",
"HOST": "0.0.0.0",
"PORT": "8000",
"ADGUARD_HOST": "your_adguard_host_here",
"ADGUARD_API_KEY": "your_adguard_api_key_here",
"ADGUARD_DEFAULT_ADMIN_USER": "your_adguard_default_admin_user_here",
"ADGUARD_DEFAULT_ADMIN_PASS": "your_adguard_default_admin_pass_here",
"LLM_ROUTER_MODEL": "your_llm_router_model_here",
"LLM_AGENT_MODEL": "your_llm_agent_model_here",
"GRAPH_ROUTER_TIMEOUT": "your_graph_router_timeout_here",
"GRAPH_VERIFIER_TIMEOUT": "your_graph_verifier_timeout_here"
}
}
}
}
Alternatively, connect to a pre-deployed remote or local Streamable-HTTP instance:
{
"mcpServers": {
"adguard-home-agent": {
"url": "http://localhost:8000/adguard-home-agent/mcp"
}
}
}
Deploying the Streamable-HTTP server via Docker:
docker run -d \
--name adguard-home-agent-mcp \
-p 8000:8000 \
-e TRANSPORT=streamable-http \
-e PORT=8000 \
-e ADGUARD_HOST="your_value" \
-e ADGUARD_API_KEY="your_value" \
-e ADGUARD_DEFAULT_ADMIN_USER="your_value" \
-e ADGUARD_DEFAULT_ADMIN_PASS="your_value" \
-e LLM_ROUTER_MODEL="your_value" \
-e LLM_AGENT_MODEL="your_value" \
-e GRAPH_ROUTER_TIMEOUT="your_value" \
-e GRAPH_VERIFIER_TIMEOUT="your_value" \
knucklessg1/adguard-home-agent:latest
Security & Governance
Built directly upon the enterprise-ready agent-utilities core, standard security parameters are fully supported:
Access Control & Policy Enforcement
- Eunomia Policies: Fine-grained, policy-driven tool authorization. Supports
none, localembedded(mcp_policies.json), or centralizedremotemodes. - OIDC Token Delegation: Compliant with RFC 8693 token exchange for flowing authenticating user credentials from Web UI / ACP → Agent → MCP.
- Scoped Credentials: Execution context runs restricted to the specific caller identity.
Runtime Security Grid
| Feature | Functionality | Enablement |
|---|---|---|
| Tool Guard | Sensitivity inspection with human-in-the-loop validation | Enabled by default |
| Prompt Injection Defense | Input scanning, repetition monitoring, and recursive loop blocks | Enabled by default |
| Context Safety Guard | Stuck-loop detectors and contextual overflow preemptive alerts | Enabled by default |
Installation
Install the Python package locally:
# Using uv (highly recommended)
uv pip install adguard-home-agent[all]
# Using standard pip
python -m pip install adguard-home-agent[all]
Repository Owners
Contribute
Contributions are welcome! Please ensure code quality by executing local checks before submitting pull requests:
- Format code using
ruff format . - Lint code using
ruff check . - Validate type-safety with
mypy . - Execute test suites using
pytest
Installing Adguard Home Agent
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/Knuckles-Team/adguard-home-agentFAQ
Is Adguard Home Agent MCP free?
Yes, Adguard Home Agent MCP is free — one-click install via Unyly at no cost.
Does Adguard Home Agent need an API key?
No, Adguard Home Agent runs without API keys or environment variables.
Is Adguard Home Agent hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Adguard Home Agent in Claude Desktop, Claude Code or Cursor?
Open Adguard Home Agent on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
LibreOffice Tools
Enables AI agents to read, write, and edit Office documents via LibreOffice with token-efficient design. Supports multiple formats including DOCX, XLSX, PPTX, a
by passerbyflutterFigma
Extract design specs and assets
by Figmadannote/figma-use
Figma control: create shapes, text and components, and set styles, auto-layout, variables and exports.
by dannoteLogo.dev
Search and retrieve company logos by brand or domain. Customize size, format, and theme to match your design needs. Accelerate design, prototyping, and content
by NOVA-3951Design Inspiration Server
Searches top design platforms like Dribbble and Behance to provide UI inspiration, color palettes, and layout patterns via the Serper API. It allows users to re
by YonasValentinPIX4Dmatic
Enables GUI automation for controlling PIX4Dmatic on Windows through MCP. Supports launching, focusing, capturing screenshots, sending hotkeys, clicking UI elem
by jangjo123mcp-dockmaster
An Open-Sourced UI to install and manage MCP servers for Windows, Linux and macOS.
ariekogan/ateam-mcp
Build, validate and deploy multi-agent AI solutions on the ADAS platform: design skills with tools and manage the solution lifecycle.
by ariekoganthinkchainai/mcpbundles
Create custom tool bundles, connect providers with OAuth or API keys, and use one MCP server across many integrations, with a UI for bundles and credentials.
by thinkchainaijau123/MeiGen-AI-Design-MCP
Image generation and editing with a curated prompt library, prompt enhancement and routing across local ComfyUI, MeiGen Cloud and OpenAI-compatible APIs.
by jau123Compare Adguard Home Agent with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All design MCPs
