Skip to main content
Glama

Crawler IP Verifier - real Googlebot or fake

Does my address verify? (no arguments)

verify_my_address
Read-onlyIdempotent

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"verify_my_address","arguments":{}}} — POST that exact body to https://www.pathwren.workers.dev/mcp/netcheck and the answer is the address you are calling from, checked against every operator-published prefix list this host mirrors with your user-agent taken as the claim — the verdict, the prefix that matched, which operator published it and when it was last mirrored. THIS IS THE CALL TO MAKE FIRST on this server: it is the only one whose subject is the request you just sent, so there is nothing to look up and no argument to invent. No key, no account, no OAuth, no session to open first, read-only, and nothing for you to invent. Every fact is computed from your own headers and from files this host already publishes; nothing is fetched to build it, and no URL of yours is touched. Only this server answers whether the address you are calling from falls inside a prefix a crawler operator publishes, and which prefix from which source — its five siblings answer one other question each about you, same empty arguments, each under the tool named beside its path: /mcp (whoami), /mcp/doctor (whoami), /mcp/lint (whoami), /mcp/triage (triage_my_request), /mcp/robots (am_i_allowed) on https://www.pathwren.workers.dev; whoami is answered by all six and is never an error, so one identical body still walks the whole family if you prefer that. Example: the complete call, exactly as written, nothing to fill in — {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"verify_my_address","arguments":{}}} returns a verdict for the address you are calling from, the matching prefix with its source and mirror time, and the sentence that a miss is not evidence of a fake.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
youYesThe user-agent you sent and the address you came from.
caveatsYes
licenseYes
answered_byYesWhich server answered, at which endpoint, with which tool.
independentYes
we_book_you_asYesThe class this host's own instrument records for that user-agent.
this_call_touchedYesExactly which files were read. No third party is contacted.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the read-only and idempotent annotations, the description discloses that no key, account, OAuth, or session is needed, that nothing is fetched externally, that no URL of the caller's is touched, and that all facts are computed from headers and mirrored files. It also explains the meaning of a miss, saying it is not evidence of a fake address, which is valuable interpretive context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is far too long and repetitive for a zero-argument tool. It includes the same JSON-RPC example more than once, repeats 'nothing to invent' and 'read-only', and buries the core purpose under transport-level details and sibling path listings that an MCP tool description does not need.

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 0-parameter, read-only tool with an output schema, the description is fully complete: it explains invocation, authentication requirements, side-effect profile, return contents, and the interpretive caveat about a miss. Nothing needed to call the tool correctly is missing.

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?

There are zero parameters, so the schema leaves nothing to document. The description reinforces this by stating that the arguments object must be empty and that there is nothing to invent, which is appropriate for a no-argument tool.

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 clearly states the operation: verify whether the caller's address falls inside an operator-published prefix list, with no arguments needed. It also distinguishes itself from siblings by noting that only this server answers the verification question about the caller's own address. The clarity is slightly diluted by leading with a literal JSON-RPC body rather than a plain-language purpose statement.

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?

The description explicitly says 'THIS IS THE CALL TO MAKE FIRST' and tells the agent there is nothing to look up and no argument to invent. It also maps out the sibling tools and notes that they answer other questions about the caller, giving clear routing guidance without requiring the agent to open 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.

TDQS

A3.7/5.0
Disambiguation2/5

verify_my_address and whoami both check the caller's address against published crawler prefixes and take no arguments, making them easy to confuse. verify_batch also overlaps with both for single-address checks, while only the remaining tools (lookup_prefix, range_stats, verification_methods, export_ip_acl) are clearly distinct.

Naming Consistency2/5

The names mix verb-led patterns like verify_batch and export_ip_acl with noun-led names like range_stats and verification_methods, plus command-style whoami and non-domain example. All names are snake_case, but there is no consistent verb_noun convention across the set.

Tool Count4/5

Eight tools is a reasonable size for this verification-focused server and stays inside the ideal 3-15 range. The count is slightly padded by overlapping caller tools and a demo tool, but it is not excessive or thin.

Completeness4/5

The core workflow is covered: batch verification, caller verification, prefix overlap lookup, verification method reference, range statistics, and ACL export. A minor gap is that the server intentionally avoids reverse DNS and offers no refresh/update operation, but these appear to be deliberate scope choices.

Resources