Skip to main content
Glama

Observed DNS History (passive)

dns_history
Read-onlyIdempotent

Snapshot-on-query passive-DNS view. Returns every (record_type, value) tuple seen for this domain during /dns/lookup calls, with first_seen + last_seen + observation_count. Useful for detecting when A records moved or recovering historical NS/MX values. Not a global feed — accumulates from when our users first resolve a domain.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainYes
record_typeNoOptional filter: A / AAAA / MX / TXT / NS / CNAME / SOA / CAA.
limit_per_typeNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds valuable behavioral context beyond annotations by explaining the snapshot-on-query semantics, the data provenance ('accumulates from when our users first resolve a domain'), and the implication that results are not a complete global DNS history.

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

Conciseness5/5

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

Three compact, information-dense sentences. The core behavior is front-loaded, followed by practical use cases and a key limitation. No filler or repetition of schema fields.

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?

Despite having no output schema, the description enumerates the returned fields (record_type, value, first_seen, last_seen, observation_count), which is sufficient for basic use. The main completeness gap is the unaddressed limit_per_type behavior, but overall this is a well-specified tool for a simple three-parameter query.

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?

Schema description coverage is only 33%; only record_type has an inline description. The description mentions 'this domain' and 'record_type' but does not compensate for limit_per_type, which is undocumented in the schema and unmentioned in the description. The phrase 'Returns every tuple' also conflicts with the existence of limit_per_type, potentially misleading the agent about result completeness.

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 states a specific verb and resource: 'Snapshot-on-query passive-DNS view' that 'Returns every (record_type, value) tuple seen for this domain.' It clearly distinguishes itself from siblings like dns_lookup and dns_profile by emphasizing the historical, observed nature and its accumulation from /dns/lookup calls.

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 gives concrete use cases: 'detecting when A records moved or recovering historical NS/MX values,' and a clear exclusion: 'Not a global feed — accumulates from when our users first resolve a domain.' It does not explicitly name alternative sibling tools, but the context and limitations are clear enough for routing.

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

B3.2/5.0
Disambiguation2/5

Multiple tools have genuinely blurry boundaries: company_change vs company_changes differ only by singular/plural yet serve different purposes, company_domain vs company_classify vs company_lookup_auto all accept a domain, geo_zip_lookup vs geo_enrich vs geo_zip_batch all return ZIP profiles, and email_validate subsumes much of email_disposable and email_free_provider. The domain prefixes help narrow search space, but within many domains an agent cannot reliably predict which tool is the right one.

Naming Consistency4/5

All 129 tools uniformly follow a snake_case [domain]_[topic] convention (company_, fx_, geo_, dns_, weather_, tax_), which is highly predictable and consistent. Minor deviations include the confusing company_change/company_changes pair, and inconsistent suffix usage (_batch appears on address_validate_batch, company_domains_batch, geo_zip_batch but not on equivalent lookup tools elsewhere).

Tool Count1/5

129 tools far exceeds the 50+ extreem-mismatch threshold, bundling roughly 28 unrelated data domains (weather, fx, tax, ccompany, dns, jobs, flight, email, phone, tax...) into a single MCP surface. Even focusing on one domain forces the agent to load an enormous unrelated tool list; this should be split into many smaller domain-specific servers.

Completeness4/5

Per-domain coverage is impressively thorough: weather spans current/forecast/hourly/historical/normals/marine/route/air-quality, fx covers rates/convert/historical/volatility/correlation/strenth, and company includes lookup/enrichment/networks/timeline/peer-comparison plus six buyer-tuned signals with profile-introspection tools. Minor gaps like flight being historical-only and smtp probes skipping major email providers are documented scope decisions rather than dead ends.

Resources