Skip to main content
Glama

Rattlesnakes By Mail: AI Crawler Field Guide

Server Details

Rattlesnakes By Mail is a public record of dated, sourced claims about AI crawlers and AI agents, including GPTBot, ClaudeBot, PerplexityBot, Googlebot, and Applebot. Each claim carries a verbatim quote from vendor documentation, a publication date, and an evidence URL. Five MCP tools cover crawler lookup, user agent identification, change history since a given date, free-text question matching against published claims, and token-gated correction notes.

Ownership verified
Status
Healthy
Uptime
100.0% over 43 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.1/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a clearly distinct action and resource: querying claims, fetching a dated snapshot, identifying an unknown User-Agent, listing claim changes, looking up a known crawler, and submitting a note. The potentially overlapping identify_user_agent and lookup_crawler tools are explicitly separated by known versus unknown crawler status.

Naming Consistency4/5

Most names follow a predictable snake_case verb_noun pattern such as get_snapshot, list_changes, lookup_crawler, and submit_note. The single exception is ask, which is verb-only but still readable and consistent in case style.

Tool Count5/5

Six tools are well-scoped for a focused crawler field guide: one query tool, one snapshot tool, two crawler identification tools, one change log, and one feedback tool. Each earns its place without unnecessary bulk.

Completeness4/5

The surface covers querying claims, looking up crawlers, identifying unknown agents, checking daily activity, tracking changes, and submitting corrections. Minor gaps remain, such as no tool to browse or list all documented crawlers or claims, but agents can work around this via ask, identify_user_agent, and lookup_crawler.

Available Tools

6 tools
askAsk A QuestionAInspect

Match a free-text question against the claims published on Rattlesnakes By Mail, and return the matching claims, or no match when no published claim covers the question. Every question sent to ask is recorded, and a recorded question may be published on the public questions page at Rattlesnakes By Mail. Do not send private or identifying text to ask.

NameRequiredDescriptionDefault
questionYesA free-text question about crawlers, agents, or claims.

TDQS

A4.7/5.0
Behavior5/5

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

The description discloses significant non-obvious behavior beyond the annotations: every question is recorded, and recorded questions may be published publicly. This directly informs the caller of privacy consequences. It also states the no-match behavior, giving a complete picture of the tool's execution and result semantics. Annotations are all false, so the description carries the full transparency burden and meets it well.

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 sentences cover the core function, the return behavior, and the critical privacy warning with no filler. The functional behavior is front-loaded, and each sentence earns its place. The structure is well-suited for an agent scanning the definition.

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?

For a one-parameter tool with no output schema, this description is complete: it explains what the tool does, what it returns, when it returns no match, and the side effect of recording/publishing. Nothing critical is missing for correct invocation, and the privacy warning covers the main risk.

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?

The schema already provides 100% coverage with 'A free-text question about crawlers, agents, or claims,' so the baseline is 3. The description adds meaningful parameter-level guidance by warning that the question is recorded and may be published, implying the caller should avoid private or identifying content in the question. This is useful beyond the schema's simple type description.

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's action: match a free-text question against published claims and return matching claims or no match. This distinguishes it from sibling tools like lookup_crawler and identify_user_agent, which target specific entities rather than free-text questions. The title is generic, but the description carries full clarity.

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 makes the intended use explicit: asking questions about crawlers, agents, or claims for matching against published claims. It also provides an important exclusion by warning not to send private or identifying text because questions are recorded and may be published. However, it does not explicitly name alternative sibling tools or state when to prefer them.

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

get_snapshotGet A Daily SnapshotA
Read-only
Inspect

Return the daily snapshot of crawler activity on Rattlesnakes By Mail for one UTC date: dated facts, a table of crawler requests, context against each crawler's recent history, and links. Pass a six digit label such as 261101 or an ISO date such as 2026-11-01. The numbers come from one website and describe what these crawlers did here, not across the web.

NameRequiredDescriptionDefault
dateYesA snapshot label (YYMMDD) or an ISO date (YYYY-MM-DD).

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description goes beyond them by disclosing data provenance and scope — 'the numbers come from one website and describe what these crawlers did here, not across the web' — which usefully bounds what the returned numbers mean.

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?

Three sentences, front-loaded with purpose, then format guidance, then a scope caveat. Every sentence contributes, though the format sentence partly duplicates the schema.

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?

With no output schema, the description carries the return-value burden and does so by naming the payload sections (dated facts, crawler request table, history context, links). Combined with read-only annotations and full schema coverage, an agent has what it needs to call this correctly.

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 coverage is 100% and the single parameter already documents both accepted formats. The description restates the same formats with concrete examples (261101, 2026-11-01) and adds the UTC framing, which is marginal value over the schema rather than new semantics.

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?

The description states a specific verb and resource ('Return the daily snapshot of crawler activity on Rattlesnakes By Mail') scoped to one UTC date, and lists the payload contents. It does not explicitly contrast itself against siblings like lookup_crawler or list_changes, but the scope is concrete enough to differentiate.

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?

Usage is only implied: 'for one UTC date' and the accepted date formats tell the agent how to call it, but there is no when-to-use / when-not-use guidance nor any named alternative for looking up crawlers or changes. Adequate but leaves routing to inference.

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

identify_user_agentIdentify A User AgentA
Read-only
Inspect

Match an unrecognized raw User-Agent header against the crawlers documented on Rattlesnakes By Mail, and return the matched crawler plus instructions for verifying the request. Use identify_user_agent when the crawler behind the User-Agent header is not yet known.

NameRequiredDescriptionDefault
user_agentYesA raw User-Agent header string.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the tool is known to be non-destructive. The description adds that it returns the matched crawler plus verification instructions, which is useful behavioral context beyond the annotation. It does not mention potential edge cases like no match, but given the read-only nature and simple output, this is acceptable.

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?

The description is two sentences with no wasted words. The core action and the usage condition are front-loaded, and the output is briefly described. Every sentence earns its place, and it is appropriately concise for the tool's simplicity.

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 a read-only tool with a single parameter and no output schema, the description covers the essential information: what it does, when to use it, and what it returns. It does not mention error handling or no-match behavior, but these are minor gaps for a simple identification tool. The context signals and schema are sufficient for an agent to call it correctly.

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?

The input schema covers the single parameter 'user_agent' with a clear description ('A raw User-Agent header string.'), achieving 100% schema description coverage. The tool description adds minimal extra meaning beyond the schema, only reinforcing that it is a raw header. Baseline of 3 is appropriate since the schema carries the parameter documentation.

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 ('Match') and resource ('raw User-Agent header against the crawlers documented on Rattlesnakes By Mail'), and it clearly distinguishes itself from siblings by focusing on identification of unrecognized user agents. The phrase 'when the crawler ... is not yet known' further clarifies the specific purpose.

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 explicitly states the condition for use: 'Use identify_user_agent when the crawler behind the User-Agent header is not yet known.' This provides a clear trigger, though it does not mention when not to use it or name alternative sibling tools. The context is sufficient for an agent to decide when to invoke it.

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

list_changesList ChangesA
Read-only
Inspect

List recorded changes to claims on Rattlesnakes By Mail, newest first, with the change date and the affected crawler. Filter by date with since, by crawler with entity, or by both. Use list_changes to detect crawler policy updates published after a given date.

NameRequiredDescriptionDefault
limitNoMaximum rows to return, up to 200.
sinceNoAn ISO date; only changes on or after this date are returned.
entityNoAn entity slug to filter changes to one crawler.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description doesn't need to restate that. It adds value by specifying the order (newest first) and the output fields (change date and affected crawler), which are not in the annotations. However, it doesn't mention potential pagination behavior (though limit is in schema) or how many results are returned by default, so it provides moderate transparency but not exhaustive.

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 three sentences, concise and front-loaded with the core purpose. The key use case is mentioned at the end, which could be moved earlier for better prominence, but there is no fluff or redundancy. It earns its place with useful scoping details.

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 a read-only list tool with a well-defined schema (100% coverage on parameters) and no output schema, the description covers the essential behavior: what it lists, the order, the filters, and the use case. It doesn't describe what the response looks like (but no output schema is present), which is a minor gap, but given the simplicity, it's sufficiently complete for an agent to call it correctly.

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 schema already documents all parameters (limit, since, entity). The description restates that 'since' filters by date and 'entity' filters by crawler, which adds a small layer of context (e.g., which parameter corresponds to which filter), but it doesn't go beyond what the schema provides, so the baseline of 3 is appropriate.

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 lists recorded changes to claims, with a specific resource (Rattlesnakes By Mail) and a clear scope (newest first, with change date and affected crawler). It distinguishes itself from siblings by emphasizing its filtering capabilities and its role in detecting crawler policy updates, which sets it apart from lookup_crawler and other tools.

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 explicit context on when to use this tool: to detect crawler policy updates published after a given date, which implies it is for monitoring changes rather than looking up current state (which would be lookup_crawler). It mentions filtering by date and crawler, but does not explicitly state when not to use it or name alternative tools directly, so it misses the full 'when-not' guidance.

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

lookup_crawlerLook Up A CrawlerA
Read-only
Inspect

Look up a documented crawler on Rattlesnakes By Mail by name, slug, or user-agent string, and return identity fields, current claims, publication dates, and evidence URLs. Use lookup_crawler when the crawler is already named, or when the user agent is already known to belong to a documented crawler.

NameRequiredDescriptionDefault
name_or_uaYesA crawler name, slug, or full user-agent string.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description adds useful behavior: the lookup is restricted to documented crawlers and returns identity fields, current claims, publication dates, and evidence URLs. This is valuable context beyond the structured fields and matches the closed-world hint (openWorldHint=false), with no contradiction.

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?

Two sentences with no filler: the first front-loads the action and expected output, the second gives targeted usage guidance. Every clause earns its place.

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?

For a single-parameter read-only lookup with strong annotations, the description is complete. It names the input format, the scope, and the output categories; since there is no output schema, enumerating the return fields is necessary and sufficient.

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%, and the parameter description already states 'A crawler name, slug, or full user-agent string.' The tool description repeats this without adding new semantic detail, so the baseline score of 3 is appropriate.

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 opens with a specific verb ('Look up'), a clear resource ('a documented crawler on Rattlesnakes By Mail'), and the acceptable lookup keys (name, slug, or user-agent string). It also lists the returned fields, making the tool's function unambiguous and distinct from siblings like identify_user_agent.

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 final sentence explicitly states when to use lookup_crawler: when the crawler is already named or the user agent is already known to belong to a documented crawler. This gives clear context and implicitly discourages use for unknown user agents, though it stops short of naming the alternative tool (likely identify_user_agent) explicitly.

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

submit_noteSubmit A NoteAInspect

Submit a correction or note about a claim, an entity, a question, or a daily snapshot on Rattlesnakes By Mail. Requires a client token issued out of band by the publisher. Every note is stored as pending, and an editor reviews every pending note before publication.

NameRequiredDescriptionDefault
bodyYesThe note text, up to 2000 characters.
tokenYesA client token issued by Rattlesnakes By Mail.
targetNoShorthand for target_type and target_id, for example snapshot:261101 or question:12.
target_idNoThe id or slug of the claim or entity, the id or hash of the question, or the six digit label of the snapshot, the note is about.
target_typeNoThe kind of record the note is about.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare a non-destructive, non-idempotent, closed-world write operation. The description adds valuable context: it requires an out-of-band client token and notes are stored as pending with editor review before publication. It doesn't cover rate limits or error handling, so not a 5.

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 sentences, each front-loaded and purposeful: purpose, authentication, and review workflow. No waste or repetition.

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?

With no output schema and annotations covering safety, the description includes purpose, auth, and outcome (pending/reviewed). It omits what the response returns (e.g., note ID) or error conditions, but is otherwise adequate for a submission tool.

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 schema fully documents all five parameters. The description reinforces the token requirement and lists target types, but adds no syntax or format details beyond what the schema provides.

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?

States a specific verb ('Submit') and resource ('correction or note') with explicit target types (claim, entity, question, snapshot). This clearly distinguishes it from sibling tools like ask (asking a question) and get_snapshot (retrieval).

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

Usage Guidelines2/5

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

The description implies when to use it (submitting corrections/notes about specific targets) but provides no explicit guidance on when to choose it over alternatives or when not to use it. The only prerequisite mentioned (client token) is not usage guidance.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Addedget_snapshot
    • Changedsubmit_note4 fields changed
      • addedInput schema / properties / target
        Added value: +{
        +  "description": "Shorthand for target_type and target_id, for example snapshot:261101 or question:12.",
        +  "type": "string"
        +}
      • changedInput schema / properties / target_id / description
        Previous value: -"The id or slug of the claim or entity, or the id or hash of the question, the note is about."New value: +"The id or slug of the claim or entity, the id or hash of the question, or the six digit label of the snapshot, the note is about."
      • changedInput schema / properties / target_type / enum
        Previous value: -[
        -  "claim",
        -  "entity",
        -  "question"
        -]New value: +[
        +  "claim",
        +  "entity",
        +  "question",
        +  "snapshot"
        +]
      • changedInput schema / required
        Previous value: -[
        -  "target_type",
        -  "target_id",
        -  "body",
        -  "token"
        -]New value: +[
        +  "body",
        +  "token"
        +]
  2. 5 tool updates
    • First observedask
    • First observedidentify_user_agent
    • First observedlist_changes
    • First observedlookup_crawler
    • First observedsubmit_note

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to fetch web pages, extract clean Markdown, save and search versions offline, crawl sites within bounds, and retrieve stable citations through MCP tools.
    15 npm
    Apache 2.0
  • A
    license
    B
    quality
    C
    maintenance
    Enables AI coding agents and LLMs to scrape web pages into clean Markdown, audit email deliverability and authentication records, and verify email signup fraud risk through MCP tools.
    3
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    MCP server providing 17 keyless, pay-per-use web-data tools with signed-provenance receipts, enabling AI agents to autonomously fetch, extract, and verify web content on Base mainnet.
    97 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A local-first MCP server that lets AI agents read any webpage as clean Markdown, crawl whole sites within configured limits, search without API keys, and solve supported captchas locally — all without cloud services or third-party keys.
    30
    20
    AGPL 3.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources