Crawler IP Verifier - real Googlebot or fake
What this MCP does
Verifies crawler IP addresses against published operator ranges, analyzes CIDR overlaps, reports verification methods, and exports allowlists or denylists.
Tools
Input schema
{'type': 'object', 'examples': [{}], 'required': [], 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['ran', 'input_came_from', 'what_it_shows', 'answer', 'reproduce', 'this_is_not_a_mock', 'answered_by', 'license'], 'properties': {'ran': {'type': 'object', 'description': 'The tool name and the exact arguments that were run.'}, 'answer': {'type': 'object', 'description': 'The real structuredContent of that call, not a mock.'}, 'license': {'type': 'string'}, 'reproduce': {'type': 'string', 'description': 'A command that reproduces this answer.'}, 'answered_by': {'type': 'object'}, 'what_it_shows': {'type': 'string'}, 'input_came_from': {'type': 'string', 'description': "Where the canned input came from — always this host's own data."}, 'this_is_not_a_mock': {'type': 'string'}}, 'description': "This server's own worked example, executed for real on a canned input from this host's own data.", 'additionalProperties': True}
Input schema
{'type': 'object', 'examples': [{'action': 'allow', 'format': 'cidr-list', 'operators': 'all'}], 'properties': {'action': {'enum': ['allow', 'deny'], 'type': 'string', 'description': 'Defaults to allow.'}, 'format': {'enum': ['cidr-list', 'nginx-geo', 'nginx-allow-deny', 'apache', 'haproxy', 'cloudflare-expression', 'ipset', 'caddy'], 'type': 'string', 'description': 'Output format. Defaults to cidr-list.'}, 'operators': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}], 'description': 'Source slugs, or "all". Defaults to every mirrored source.'}, 'ip_version': {'enum': ['both', 'ipv4', 'ipv6'], 'type': 'string', 'description': 'Defaults to both.'}, 'variable_name': {'type': 'string', 'description': 'Variable/set name for nginx geo and ipset. Defaults to ai_crawler.'}}}
Input schema
{'type': 'object', 'examples': [{'cidr': '66.249.66.0/24'}], 'properties': {'cidr': {'type': 'string', 'description': 'A CIDR or a bare address, e.g. 20.171.206.0/24 or 2600:1f00::/32.'}, 'operator': {'type': 'string', 'description': 'A source slug, e.g. openai-gptbot, google-googlebot.'}}}
Input schema
{'type': 'object', 'examples': [{}], 'required': [], 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['takes_no_arguments', 'what_this_is', 'the_mirror', 'per_source', 'how_each_operator_can_be_verified', 'what_a_miss_means', 'answered_by', 'this_call_touched', 'reproduce', 'caveats', 'license', 'independent'], 'properties': {'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'license': {'type': 'string'}, 'reproduce': {'type': 'string'}, 'per_source': {'type': 'array', 'description': 'One row per operator list: counts, fetch time, staleness, crawlers covered.'}, 'the_mirror': {'type': 'object', 'description': 'Totals across every source, with staleness in minutes.'}, 'answered_by': {'type': 'object'}, 'independent': {'type': 'boolean'}, 'what_this_is': {'type': 'string'}, 'this_call_touched': {'type': 'object'}, 'what_a_miss_means': {'type': 'string'}, 'takes_no_arguments': {'type': 'boolean'}, 'how_each_operator_can_be_verified': {'type': 'object'}, 'to_do_this_for_your_own_addresses': {'type': 'string'}, 'prefixes_published_by_more_than_one_source': {'type': 'array'}}, 'description': 'The state of every crawler-operator prefix list this host mirrors, with per-source freshness and the verification method each operator documents.', 'additionalProperties': True}
Input schema
{'type': 'object', 'examples': [{}], 'required': [], 'properties': {}, 'additionalProperties': False}
Input schema
{'type': 'object', 'examples': [{'crawler': 'claudebot'}], 'properties': {'crawler': {'type': 'string', 'description': 'Crawler slug, name, operator or UA substring. Omit for all of them.'}}}
Input schema
{'type': 'object', 'examples': [{'addresses': [{'ip': '66.249.66.1', 'claim': 'Googlebot'}, {'ip': '203.0.113.9', 'claim': 'GPTBot'}]}], 'required': ['addresses'], 'properties': {'addresses': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'anyOf': [{'type': 'string'}, {'type': 'object'}]}}], 'description': 'IPv4/IPv6 addresses: an array, a whitespace or comma separated string, or objects like {"ip":"20.171.206.1","claim":"GPTBot"}. Max 500.'}}}
Input schema
{'type': 'object', 'examples': [{}], 'required': [], 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['you', 'we_book_you_as', 'answered_by', 'this_call_touched', 'caveats', 'license', 'independent'], 'properties': {'you': {'type': 'object', 'description': 'The user-agent you sent and the address you came from.'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'license': {'type': 'string'}, 'answered_by': {'type': 'object', 'description': 'Which server answered, at which endpoint, with which tool.'}, 'independent': {'type': 'boolean'}, 'we_book_you_as': {'type': 'object', 'description': "The class this host's own instrument records for that user-agent."}, 'this_call_touched': {'type': 'object', 'description': 'Exactly which files were read. No third party is contacted.'}}, 'description': "One server's own question, answered about the caller, from the headers of this request and from files this host already publishes.", 'additionalProperties': True}
Input schema
{'type': 'object', 'examples': [{}], 'required': [], 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['you', 'we_book_you_as', 'we_have_seen_you', 'answered_by', 'this_call_touched', 'caveats', 'license', 'independent'], 'properties': {'you': {'type': 'object', 'description': 'The user-agent you sent and the address you came from.'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}, 'description': 'What this answer does NOT establish — a user-agent is a claim.'}, 'license': {'type': 'string'}, 'answered_by': {'type': 'object', 'description': 'Which server answered, at which endpoint.'}, 'independent': {'type': 'boolean', 'description': 'This host is independent and unaffiliated.'}, 'we_book_you_as': {'type': 'object', 'description': "The class this host's own instrument records for that user-agent."}, 'we_have_seen_you': {'type': 'object', 'description': 'Whether this user-agent appears in the published observation window.'}, 'this_call_touched': {'type': 'object', 'description': 'Exactly which files were read to answer. No third party is contacted.'}}, 'description': 'Facts about the caller, derived only from the headers of this request and from files this host already publishes.', 'additionalProperties': True}
Recent tool changes
Similar MCP servers
hyperion
Acts as a paid MCP tool marketplace and utility gateway with server discovery, HTTP and JavaScript tools, research, data conversi…
Vee3
Manages Clerk authentication infrastructure, including users, organizations, domains, sessions, tokens, OAuth, SSO, machines, per…
IA-QA — 130+ QA & Dev Tools for AI Agents
Provides deterministic QA, evaluation, testing, code analysis, prompt and RAG checks, model comparison, and web security diagnost…
validoria-mcp
Runs continuous website, API, and webshop tests covering security, SEO, performance, accessibility, browser journeys, and inciden…
HubVibe: Pay-per-Call Tools for AI Agents: Web Search, Email Verify, KYC, Stocks, Crypto, News, Data
Offers paid utilities for web audits, HTTP fetching and extraction, BigQuery analysis, LLM processing, code execution, blockchain…
developer-tools
Provides general-purpose developer utilities for encoding, hashing, encryption, JSON, HTML, CSS, networking, and related data tra…
Qiniso
Provides deterministic formatting, parsing, holiday and tax lookups, address handling, and checksum or structure validation for i…
ContrastAPI
Provides security research and assessment tools covering CVEs, IOCs, dependencies, secrets, injection risks, HTTP headers, domain…