Skip to main content
Glama

Verify an AI or search bot

verify_bot
Read-onlyIdempotent

Check whether a visitor claiming to be GPTBot, ClaudeBot, PerplexityBot, Googlebot, Bingbot or Applebot really is, from its IP. Pass one IP or access-log line in ip, or up to 25 in lines. Checks the IP against the ranges each operator publishes and, for Google, Bing and Apple, forward-confirmed reverse DNS. Verdicts: verified, impostor (claims a bot but the IP is outside that operator's ranges), other-bot, unknown, not-checked (a range file could not be fetched). Spends no credits. Does NOT block anything. Does NOT verify bots whose operators publish no ranges; those are unknown, not impostors.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "verify_bot"
  }
}

Input Schema

NameRequiredDescriptionDefault
ipNoOne IPv4 or IPv6 address, or one full access-log line (the user agent is read from its last quoted field).
linesNoUp to 25 IPs or access-log lines, instead of ip.
user_agentNoOptional. The user agent the visitor sent, for lines that do not include one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent/non-destructive, and the description adds real context beyond them: no credits spent, nothing is blocked, verdict vocabulary enumerated, and the 'not-checked' outcome when a range file cannot be fetched (an external-dependency failure mode). That last detail is behavior an agent cannot infer from annotations or schema.

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?

Front-loads the core check, then invocation shape, then the verdict taxonomy, and closes with the two most likely agent misreadings (it blocks nothing; unverifiable bots are not impostors). Dense but every sentence carries a decision-relevant fact.

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?

There is no output schema, and the description compensates by enumerating every possible verdict, which is exactly what an agent needs to branch on results. Combined with the credits and non-blocking disclaimers, nothing material is missing for a three-parameter read 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 already documents all three parameters, including that user_agent is read from the last quoted field of a log line. The description restates the ip-vs-lines choice and the 25-item cap without adding format or precedence rules beyond the schema; baseline 3 applies.

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?

Opens with a specific verb and resource ('Check whether a visitor claiming to be GPTBot, ClaudeBot... really is, from its IP') and names the exact operator set covered. An agent can distinguish this from check_ai_crawlers or check_agent_readiness without opening any schema.

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?

Gives clear invocation guidance: one IP/access-log line via ip, or up to 25 via lines, plus the explicit boundary that unlisted bots come back 'unknown, not impostors'. It stops short of naming a sibling alternative for the adjacent capability (e.g. check_ai_crawlers for crawler configuration), so routing is implied rather than explicit.

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.