Skip to main content
Glama

check_agent_discovery

Read-onlyIdempotent

Assess the security posture of IETF BANDAID agent-discovery records (draft-mozleywilliams-dnsop-dnsaid). Detects SVCB agent records under _agents/index.{protocol}._agents, reports whether the discovery zone is DNSSEC-anchored (unsigned = spoofable agent endpoints), evaluates DANE/TLSA binding trust (RFC 6698 §10.1), and checks capability-document integrity (cap / cap-sha256). Read-only; uses Private-Use SVCB param code points pending IANA assignment.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoResolve a single named agent ({name}.{domain}) instead of enumerating the zone.
domainYesDomain to check for published agent-discovery records (e.g., example.com).
formatNoOutput verbosity. Auto-detected if omitted.
protocolNoScope discovery to a single agent protocol index (_index._{protocol}._agents). Omit to sweep the zone.
verify_capNoFetch each declared capability document (cap=) over HTTPS via safeFetch and verify it against the cap-sha256 integrity pin. Default false (declaration/existence check only).
force_refreshNoBypass cache and run a fresh check. Useful after DNS changes.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
scoreYes
passedYes
partialNo
categoryYes
findingsYes
checkStatusNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds value by explicitly stating 'Read-only', detailing the specific checks performed, and noting the use of Private-Use SVCB param code points pending IANA assignment. This provides behavioral context beyond the annotations, though it does not cover caching behavior or error conditions.

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?

The description is a single paragraph of four sentences, front-loaded with the main purpose. It is concise and packs relevant information without being verbose. It could be slightly more structured (e.g., bullet points), but it is still efficient and clear.

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

Completeness4/5

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

Given the tool has 6 parameters (100% schema coverage), annotations, and an output schema, the description covers the key aspects: what it checks, that it is read-only, and the standard it follows. It does not detail output format (covered by output schema) or error handling, but it is complete enough for a security assessment tool of this complexity.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not add per-parameter details beyond what the schema provides, but it offers overall context (e.g., 'sweep the zone' relates to the protocol parameter). The description is adequate but does not significantly enhance parameter understanding beyond the schema.

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?

The description clearly states the tool assesses the security posture of IETF BANDAID agent-discovery records, listing specific checks (SVCB records, DNSSEC anchoring, DANE/TLSA binding, capability-document integrity). It includes a standard reference and uses a specific verb-resource combination ('assess the security posture of ... records'). The distinct focus on agent discovery differentiates it from sibling tools like check_dane, check_dnssec, and check_svcb_https.

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

Usage Guidelines4/5

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

The description implicitly defines the use case by stating the tool is for assessing agent-discovery security posture. It does not explicitly provide when-to-use or when-not-to-use guidance, but the domain-specific nature makes the context clear. No exclusions or alternatives are mentioned, which prevents a 5, but the purpose is sufficiently specific to guide selection.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, with detailed descriptions that help differentiate overlapping areas (e.g., check_dane vs check_dane_https). However, there are sets of similar tools (brand audit, OSINT, polling) that could cause confusion if descriptions are not carefully read.

Naming Consistency3/5

The naming is mostly readable but inconsistent: many check_* tools follow a verb_noun pattern, but there are also noun_verb names (scan_domain, cymru_asn), bare verbs (generate), and varied patterns for async operations (discover_brand_domains_start vs discover_brand_domains).

Tool Count2/5

With 80 tools, the server feels overstuffed. It covers multiple domains (DNS, email, brand, OSINT, M365) that could benefit from separation. The high number includes many polling/status tools that add overhead.

Completeness3/5

The server covers core DNS and email security checks thoroughly, including many edge cases (e.g., BIMI, MTA-STS, subdomain takeover). However, there are gaps like lack of direct DNS record management and some OSINT tools are restricted to operator deployment, leaving agents with dead ends.