Crawler IP Verifier
Server Details
Check up to 500 IPs against operator-published crawler ranges; export a firewall allowlist.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Tool Definition Quality
Average 4.1/5 across 5 of 5 tools scored.
Each tool targets a distinct operation: CIDR overlap lookup, source statistics, verification-method metadata, batch address verification, and ACL export. lookup_prefix and verify_batch both touch prefix matching, but their input types and intended use cases are clearly separated.
Most names follow a clear snake_case verb_noun pattern like export_ip_acl, lookup_prefix, and verify_batch. range_stats and verification_methods are noun phrases rather than verb-led names, creating a minor but readable inconsistency.
Five tools is well-scoped for a focused IP-verification service. Each tool earns its place and covers a distinct part of the workflow without unnecessary sprawl or redundancy.
The set covers address verification, prefix overlap analysis, source freshness and sizing, verification-method lookup, and configuration export. There are no obvious missing operations that would prevent an agent from completing the core crawler-IP verification workflow.
Available Tools
5 toolsexport_ip_aclPaste-ready allowlist or denylistARead-onlyIdempotentInspect
Turn a set of operators into a config you can paste: nginx geo, nginx allow/deny, Apache, HAProxy, a Cloudflare firewall expression, an ipset script, a Caddy matcher, or a plain CIDR list. Every export carries a provenance header naming each source URL and the mirror time, and reports the rule cost.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Defaults to allow. | |
| format | No | Output format. Defaults to cidr-list. | |
| operators | No | Source slugs, or "all". Defaults to every mirrored source. | |
| ip_version | No | Defaults to both. | |
| variable_name | No | Variable/set name for nginx geo and ipset. Defaults to ai_crawler. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and idempotent. The description adds valuable behavioral details beyond the annotations: every export includes a provenance header with source URLs and mirror time, and reports rule cost. This informs the agent about the output's structure and guarantees without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. The first sentence front-loads the core purpose and lists the formats; the second adds behavioral guarantees. It avoids repeating schema details and earns every piece of text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only export tool with five parameters and no output schema, the description covers the essential context: output formats, provenance header, mirror time, and rule cost. It doesn't explain every nuance (e.g., what 'rule cost' means), but the annotations cover safety and the schema covers parameter defaults, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are already documented in the input schema. The description doesn't add parameter-level semantics beyond illustrating the available output formats, which the schema enum already lists. A baseline of 3 is appropriate given the schema's full coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: transforming a set of operators into a paste-ready configuration across multiple named formats. The title reinforces the allow/deny use case. It distinguishes itself from the sibling tools (lookup, stats, verification) by being the only export/formatting tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (whenever a paste-ready allowlist/denylist is needed in a specific format), but it doesn't explicitly mention alternatives or exclusions. Since the sibling tools serve clearly different purposes, the routing guidance is adequate but implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_prefixPrefix arithmetic against published rangesARead-onlyIdempotentInspect
Give a CIDR and get every published operator prefix that contains it, is contained by it, or partially overlaps it — the check for 'does my network collide with a crawler range' and for auditing an allowlist somebody handed you. Give an operator or source slug instead and get everything that source publishes.
| Name | Required | Description | Default |
|---|---|---|---|
| cidr | No | A CIDR or a bare address, e.g. 20.171.206.0/24 or 2600:1f00::/32. | |
| operator | No | A source slug, e.g. openai-gptbot, google-googlebot. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so safety is covered. The description adds behavioral value by specifying the full match semantics — containing ranges, contained ranges, and partial overlaps — as well as the alternate lookup by operator/source slug, which goes beyond what annotations alone provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The core operation is stated first, followed by concrete use cases and the alternative input mode. Every clause contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers both parameters, the core matching behavior, and practical use cases. It does leave minor gaps: both parameters are optional in the schema, and the description does not state what happens if neither or both are provided, nor does it describe the exact return structure. However, for a read-only lookup with simple inputs, this is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter has a descriptive schema entry, so the baseline is 3. The description adds further meaning by explaining how the cidr parameter is interpreted: every published operator prefix that contains, is contained by, or partially overlaps it. It also clarifies that the operator parameter returns everything published by that source, which is not stated in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: 'get every published operator prefix' that contains, is contained by, or overlaps a CIDR. It also clearly distinguishes this from sibling tools by framing it around crawler-range collision checks and allowlist auditing, so an agent can tell it apart from range_stats or export_ip_acl.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete when-to-use context: 'the check for does my network collide with a crawler range' and 'auditing an allowlist somebody handed you.' It also explains the alternative operator/slug input mode, but it does not explicitly name sibling alternatives or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
range_statsThe state of the mirrorARead-onlyIdempotentInspect
Per source: prefix counts, total addresses and /24-equivalents, smallest and largest prefix, the publishing URL and when it was last fetched; plus prefixes published by more than one operator. This is the sizing and freshness information an allowlist decision needs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so safety is covered. The description goes beyond annotations by revealing what data is returned, including freshness information and multi-operator overlap, which helps the agent understand the tool's output behavior. It does not mention pagination or exact response formatting, but for a zero-parameter read-only stats tool that is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with concrete output details, followed by a single sentence explaining its practical relevance. Every sentence earns its place, and there is no wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters, no output schema, and strong safety annotations, the description provides enough detail about the returned information and the decision context in which it is useful. An agent can understand what this tool offers and why it might be selected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the input schema is empty, so there are no parameter semantics to clarify. The description appropriately focuses on what the tool reports rather than on inputs, matching the baseline for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies what the tool provides: per-source prefix counts, addresses, /24-equivalents, smallest/largest prefix, publishing URL, and last-fetch time, plus multi-operator prefixes. It is distinct from siblings like lookup_prefix or verify_batch, but it lacks an explicit action verb such as 'returns' or 'computes'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing sentence gives practical usage context: this is the sizing and freshness information an allowlist decision needs. It implies when to use the tool, though it does not explicitly contrast it with sibling tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verification_methodsCan this crawler be verified at all, and how?ARead-onlyIdempotentInspect
Per crawler: whether the operator publishes IP ranges, documents reverse DNS, or publishes no verification method at all — with the exact source URL or the exact dig commands, and how fresh this mirror is. Call it before reading anything into an address that matched nothing. Reverse DNS is never run here; the command is handed back instead.
| Name | Required | Description | Default |
|---|---|---|---|
| crawler | No | Crawler slug, name, operator or UA substring. Omit for all of them. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a key non-obvious behavior beyond the readOnlyHint annotation: reverse DNS is never run, only the command is returned. It also reveals that freshness information is included, giving the agent useful context about the data's reliability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences front-load the core purpose and the critical non-behavior. Every phrase contributes: what is returned, when to call it, and what it deliberately does not do.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even without an output schema, the description tells the agent exactly what to expect: per-crawler classification, source URLs or dig commands, and freshness. Combined with the readOnly and idempotent annotations, an agent has enough to invoke and interpret the result correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single optional 'crawler' parameter, so the schema already documents the accepted substrings and omission behavior. The description adds only 'per crawler' framing, which doesn't materially extend parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reports per-crawler verification methods: IP ranges, reverse DNS documentation, or none, along with source URLs or dig commands and freshness. It distinguishes itself from sibling tools by explicitly noting that reverse DNS is never executed here, clarifying its informational role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit trigger: 'Call it before reading anything into an address that matched nothing.' It does not name alternative tools directly, but the statement that reverse DNS commands are handed back rather than run implies when a real verification tool like verify_batch would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_batchVerify many addresses at onceARead-onlyIdempotentInspect
Check up to 500 addresses against every mirrored operator prefix list in one call. Returns, per address, the matching prefix, the source that published it and when it was mirrored, plus a rollup by operator. Accepts {ip, claim} pairs to test a claimed identity against the ranges, and says plainly that a miss is not evidence of a fake.
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | Yes | IPv4/IPv6 addresses: an array, a whitespace or comma separated string, or objects like {"ip":"20.171.206.1","claim":"GPTBot"}. Max 500. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'a miss is not evidence of a fake', which implies open-world semantics: a non-match does not prove absence. This directly contradicts openWorldHint=false, which indicates closed-world/complete-result semantics. This is a serious annotation contradiction, so the behavioral guidance cannot be trusted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler: the scope and limit are front-loaded, the return shape is summarized, and the claim-verification caveat is stated plainly. Every sentence contributes distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by listing per-address return fields and the operator rollup, plus input formats, the batch cap, and the miss interpretation. It is nearly complete, but the openWorld contradiction and lack of explicit routing to a single-lookup sibling prevent a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers the address formats and the 500 cap with 100% coverage. The description adds value by explaining that object entries like {"ip": ..., "claim": ...} are meant to test a claimed identity against the ranges, giving semantic meaning beyond the schema's structural example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action (check), a concrete resource (addresses against mirrored operator prefix lists), and the return payload (matching prefix, source, mirror time, rollup by operator). It also distinguishes itself from siblings like lookup_prefix by emphasizing batch scope and 'in one call'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly signals batch-oriented use through 'up to 500 addresses' and 'in one call', and it explains the {ip, claim} use case for testing claimed identities. However, it does not explicitly name an alternative such as lookup_prefix or state when a single lookup would be preferable, so it has clear context but no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Identify AI crawlers by user-agent or IP, verify them against operator ranges, build robots.txt.
Validate CommonCrawl CCBot IP addresses. Remote MCP validate_ip tool.
Lint a robots.txt, test paths against RFC 9309, see which AI crawlers it really blocks.
51Validate GPTBot and OAI-SearchBot IP addresses. Remote MCP validate_ip tool.
Related MCP Servers
- AlicenseAqualityCmaintenanceChecks a website's robots.txt and Cloudflare settings to identify AI crawler blocking. Also generates llms.txt content to improve visibility to AI answer engines.343MIT
- AlicenseAqualityCmaintenanceAnalyze and generate robots.txt files with AI crawler awareness. Fetch any site's robots.txt, detect which AI bots (GPTBot, ClaudeBot, PerplexityBot, Google-Extended) are blocked or allowed, and generate optimized robots.txt with toggle controls for 20+ AI crawlers.51MIT
- AlicenseAqualityDmaintenanceAudits AI-bot visibility: robots.txt per-bot for 22 AI user-agents (GPTBot/ClaudeBot/PerplexityBot/etc), Cloudflare flags, JSON-LD, sitemap, llms.txt, SPA shell, plus cross-model brand mentions via Perplexity + OpenRouter. 0-100 score. SSRF-guarded, spend-capped.41MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to create, validate, and audit llms.txt files for websites, including checking against Google Lighthouse's Agentic Browsing requirements, via Streamable HTTP with no API key needed.MIT