Skip to main content
Glama

Look up an AI crawler by user-agent token

lookup_crawler
Read-onlyIdempotent

Look up one AI crawler or bot by its exact user-agent token, for example GPTBot or Claude-User. Returns the operator, what the agent is for (training, search indexing, or user-triggered fetching), whether it honors robots.txt, and the operator's own documentation. Matching is case-insensitive and exact: GPT does not match GPTBot. Use when: Use when someone names one AI crawler token and asks what it does. Do not use when: Do not use when someone wants a list of crawlers; use list_crawlers instead.

Input Schema

NameRequiredDescriptionDefault
tokenYesThe exact user-agent token only, for example 'GPTBot' or 'Claude-User'. Not a full user-agent string, not a URL.

Output Schema

NameRequiredDescriptionDefault
crawlerYesThe registry record for the token.
corpus_versionYesSemantic version of the movahedi.ca statutory corpus this answer was drawn from, for example v2026.12.0. Pin it when citing; when it changes, re-read the affected resources and the change log at https://movahedi.ca/changelog/.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / corpus_version
      Added value: +{
      +  "description": "Semantic version of the movahedi.ca statutory corpus this answer was drawn from, for example v2026.12.0. Pin it when citing; when it changes, re-read the affected resources and the change log at https://movahedi.ca/changelog/.",
      +  "examples": [
      +    "v2026.12.0"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "crawler"
      -]New value: +[
      +  "crawler",
      +  "corpus_version"
      +]
  2. Added

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the description correctly does not waste space restating safety. Instead it adds genuinely new behavioral context: matching is case-insensitive but exact ("GPT does not match GPTBot"), which is the single most likely failure mode. It does not discuss what happens on a miss (null vs error), a minor residual gap; the output schema covers the success shape.

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 tight sentences in a predictable order: capability, edge-case rule, then when/when-not routing. Every clause carries decision-relevant information and nothing is repeated from the annotations.

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?

Single required parameter, full schema coverage, an output schema for return shape, and annotations for safety profile — the description fills exactly the remaining gap (exact-match token semantics and sibling routing). Nothing an agent needs to call this correctly is absent.

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?

Schema coverage is 100%, so the baseline would be 3, but the description adds matching semantics the schema does not encode: case-insensitivity and the strict exact-match boundary with a concrete negative example. The schema supplies the "not a full user-agent string, not a URL" constraint, so credit is not double-counted.

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 and resource ("look up one AI crawler or bot by its exact user-agent token") and unambiguously separates itself from list_crawlers, which appears in the sibling list. The enumeration of returned fields (operator, purpose, robots.txt behavior, docs) tells an agent exactly what answer shape to expect.

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

Usage Guidelines5/5

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

Explicit "Use when" and "Do not use when" sections, with the exclusion naming the correct alternative (list_crawlers) for the list-shaped request. The routing decision is fully determined without inspecting sibling schemas.

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