Skip to main content
Glama
MAASAI-Labs

Breach Radar

Official
by MAASAI-Labs

Passive attack-surface report

attack_surface_report
Read-only

Generate a passive domain security report for a domain you own or are authorized to assess: security headers, TLS, SPF/DMARC, CT-log subdomains, and known breaches, without scanning or probing.

Instructions

One passive report for a domain the user owns or is authorised to assess: security headers (1 GET), TLS certificate/protocol, SPF/DMARC/CAA/DNSSEC, Certificate Transparency subdomains, and HIBP breaches of the domain. No scanning or probing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainYes
maxSubdomainsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds useful context beyond that: the operation is passive with 'No scanning or probing', and it discloses request load ('1 GET' for headers). Good added value.

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?

A single sentence, front-loaded with the core value proposition ('One passive report for a domain...') followed by the component list. Dense but every clause earns its place; no filler.

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?

For an aggregator tool with no output schema, the description does the necessary work of listing what the report contains, so an agent knows the return payload shape. The only notable omission is the maxSubdomains parameter, which is undocumented in both schema and description.

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

Parameters2/5

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

Two parameters with 0% schema description coverage, so the description must compensate. It partially defines 'domain' via the ownership/authorization context, but says nothing about maxSubdomains, its 1-500 range, or its effect on results. The gap is significant for a low-coverage schema.

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

Purpose4/5

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

States a specific verb and resource: a passive attack-surface report for a domain, then enumerates the exact components it aggregates (security headers, TLS, SPF/DMARC/CAA/DNSSEC, CT subdomains, HIBP breaches). An agent can tell it apart from single-purpose siblings, though the description never explicitly says 'use this instead of the individual tools'.

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

Usage Guidelines3/5

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

Provides the authorization precondition ('a domain the user owns or is authorised to assess') and a scope guard ('No scanning or probing'), which is real guidance. However, it never states when to prefer this bundle over the component siblings like security_headers, ct_subdomains, or domain_breaches, so the routing decision is left implicit.

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