Skip to main content
Glama

Get AdGuard Home configuration

adguard_get_config
Read-onlyIdempotent

Reads AdGuard Home add-on status, DNS upstreams, filters, safe search, access lists and DHCP state through the Supervisor without changing any settings.

Instructions

Read the AdGuard Home add-on's status, DNS settings, filtering, safe search, access lists and dhcp state.

Finds the AdGuard Home add-on through the Supervisor, then reads its local API (http://127.0.0.1:45158/control/...): status, dns_info (upstreams, bootstrap, fallback, rate limit, cache, PTR), filtering/status (lists with name/url/rules_count; custom rules as a count plus the first 20), safesearch/status, access/list and dhcp/status reduced to enabled and interface_name (no leases). Changes nothing.

Use when: inspecting AdGuard before changing it, or answering what DNS upstreams and filters are active. Not for: changing DNS settings — use adguard_set_dns_config; testing one domain against the filters — use adguard_check_host. Returns: {"addon_slug", "status", "dns", "filtering", "safesearch", "access", "dhcp"}; a section AdGuard answers with an HTTP error holds {"error": "HTTP <status>", "detail"} instead. Errors: adguard_not_found, adguard_not_running, adguard_unsupported_addon, adguard_unreachable, adguard_auth_required, timeout, HTTP <status>, or a missing SUPERVISOR_TOKEN.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.28.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/idempotent/non-destructive, but the description adds substantial context beyond them: it resolves the add-on via Supervisor, hits the local API at 127.0.0.1:45158, discloses that dhcp is reduced to enabled/interface_name with no leases, that custom rules are truncated to 20, and that failures are returned as per-section `{error, detail}` objects rather than aborting. It also names the concrete error codes and the SUPERVISOR_TOKEN requirement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the resource and its sections, then usage, then return shape, then errors — a clean scannable order. It is long, and the enumerated internal API paths are more detail than most callers need, but each block (return contract, error list) earns its place for a multi-section read.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description still usefully spells out the top-level return keys and the per-section error form, lists every failure mode, and states 'changes nothing.' For a no-arg read of a multi-endpoint add-on, nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-param tool is 4. The description does not need to compensate for any schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

State a specific verb+resource: reads the AdGuard Home add-on's config, and enumerates exactly which sections (status, dns_info, filtering/status, safesearch, access, dhcp). It distinctly routes away from adguard_set_dns_config and adguard_check_host, so an agent can tell it apart from siblings without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'Use when' (inspecting before changing, answering what upstreams/filters are active) and 'Not for' (setting DNS → adguard_set_dns_config; testing a domain → adguard_check_host). Both inclusion and exclusion conditions are stated with named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools