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

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

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.

Resources