Agent Access Check
Server Details
Before fetching a site: will it let an AI agent in (CAPTCHA, robots), and where is its agent door?
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
check_agent_access and check_many overlap conceptually (single vs batch), but the descriptions explicitly clarify the batch role (up to 10 URLs, counts as 1 call) so an agent can choose correctly. find_agent_alternative and usage_and_upgrade are clearly distinct purposes, so overall boundaries are clean.
All names use consistent snake_case (check_agent_access, check_many, find_agent_alternative, usage_and_upgrade). Minor deviation: check_many and usage_and_upgrade don't follow a strict verb_noun pattern, but the convention is predictable and readable.
Four tools is slightly lean but well-matched to the narrow scope of pre-flight agent access checking. Each tool earns its place (single check, batch check, alternative finder, usage/billing), with no filler.
The surface covers the core lifecycle: check one URL, check many, find machine-friendly alternatives, and inspect usage. Minor gap: no tool to re-check or retrieve historical verdicts, but agents can work around this by re-invoking check_agent_access.
Available Tools
4 toolscheck_agent_accessAInspect
Before an agent browses or fetches a site, check if it will get in. Fetches the URL as an AI agent and as a browser, detects bot challenges (Cloudflare, CAPTCHA, DataDome, PerimeterX), reads robots.txt rules for GPTBot/ChatGPT-User/ClaudeBot/Claude-User/PerplexityBot and others, and looks for agent doors (llms.txt, MCP, OpenAPI). Returns verdict: open | challenged | blocked | robots_disallowed | unreachable, plus advice. Read-only. Use it before an automated web task, not for pages you already fetched successfully.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Page or domain, e.g. https://example.com/pricing |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it declares 'Read-only,' enumerates the four possible verdict values plus advice, and discloses that the check itself performs real fetches under two identities. It omits operational caveats an agent would want — latency from multiple outbound requests, rate limiting, or what happens on fetch failure versus 'unreachable.'
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, purpose front-loaded before the detail list, and the actionable constraint ('use before a task, not after success') placed at the end as a decision rule. Some of the enumerations (crawler names, challenge vendors) are long but each supports the verdict vocabulary, so little is wasted.
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 single-parameter tool with no output schema and no annotations, the description covers the essentials: what it does, what it returns (the five verdict values plus advice), and its safety profile. It is nearly complete, missing only failure/error behavior and cost or latency expectations for the multi-fetch check.
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?
Only one parameter, and schema description coverage is 100% (the schema already gives 'Page or domain, e.g. https://example.com/pricing'). The description adds no format guidance, does not clarify whether bare domains are accepted (which the schema's phrasing leaves ambiguous), and does not say whether redirects or subpaths are handled. Baseline 3 is appropriate when the schema does the work.
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 gives a specific verb and resource with unusual precision: it fetches the URL as both an AI agent and a browser, detects named bot challenges (Cloudflare, CAPTCHA, DataDome, PerimeterX), parses robots.txt for named crawlers, and looks for agent doors. The only gap against the 5 bar is sibling differentiation — check_many (presumably the batch variant) is never mentioned, so an agent must infer when the single-URL tool is preferable.
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?
Usage timing is explicit and negative-scoped: 'Use it before an automated web task, not for pages you already fetched successfully.' That covers both when-to-use and when-not. It stops short of 5 because no alternative tool is named (check_many, find_agent_alternative) for cases where the agent needs bulk checking or a fallback route.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_manyBInspect
Run check_agent_access on up to 10 URLs at once (counts as 1 call). Use it to pick which sources an agent can actually use.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose one non-obvious behavior — '(counts as 1 call)' — which is genuinely useful quota information, but it is silent on partial-failure semantics (what if 3 of 10 URLs fail?), auth requirements, and error behavior.
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 tight sentences with the core capability front-loaded and the quota note as a compact parenthetical. Only the second sentence is slightly vague filler, but nothing is redundant.
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 one-parameter tool with no output schema and no annotations, the description covers the what and the batching limit but leaves the return shape and failure behavior unexplained. Adequate to invoke correctly, thin for interpreting results.
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 0%, so the description must compensate. It usefully states the batch size limit ('up to 10 URLs'), which parallels the schema's maxItems, but gives no format guidance for the url strings themselves (scheme, single vs. array semantics on error).
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+resource ('Run check_agent_access on up to 10 URLs at once'), so the agent knows this is a batch wrapper over the sibling check_agent_access rather than an independent operation. The 'up to 10 URLs' scope cleanly separates it from the single-URL sibling, though it never says what an access check actually returns.
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?
'Use it to pick which sources an agent can actually use' gives a use context, but only implicitly. It never states when to prefer this over calling check_agent_access directly, nor any exclusion conditions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_agent_alternativeAInspect
Find a machine-friendly way into a site instead of scraping its HTML: llms.txt, /.well-known/mcp.json, agents.json, openapi.json, ai-plugin.json, and MCP URLs listed in llms.txt. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full disclosure burden. It usefully states 'Read-only' and reveals that it performs URL probes, but says nothing about network behavior, timeouts, auth requirements, or what happens when no alternative is found — significant gaps for a network-fetching tool.
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?
A single front-loaded sentence that names the action, the alternative it replaces, and the concrete artifacts probed, with zero padding.
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 enumeration of discovered endpoints is the most useful part, but with no output schema and no annotations the description should clarify the return shape (e.g., list of URLs, single result, or failure mode) and whether requests require permissions. It is adequate for a one-parameter tool but leaves real gaps.
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?
Only one parameter (url) exists and the schema provides 0% description coverage. The description implies the URL is the target site but adds no format, validity, or scope detail (e.g., base URL vs full path) beyond the obvious.
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?
States a specific verb ('Find') and resource ('machine-friendly way into a site'), then enumerates exactly which discovery artifacts it probes (llms.txt, /.well-known/mcp.json, agents.json, openapi.json, ai-plugin.json, MCP URLs). This scope definition clearly separates it from check_agent_access and check_many, which imply verification rather than discovery.
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 clause 'instead of scraping its HTML' implies the usage context — reach for this before falling back to HTML scraping — but there is no explicit when-to-use/ when-not guidance and no sibling is named as the alternative. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
usage_and_upgradeAInspect
Show today's usage for your key or IP and the $9/month upgrade link. Free tier: 50 calls/day. Not metered.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does a fair job: it discloses the free-tier cap of 50 calls/day, that usage is 'not metered,' and the $9/month upgrade cost. It doesn't state return format or whether the call itself consumes quota, but the key behavioral facts are present.
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 short sentences, front-loaded with what the tool returns, followed by the quota context. Every sentence earns its place with no filler.
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 zero-parameter, no-output-schema utility tool this is nearly complete: it explains what is shown (usage plus upgrade link) and the governing quota. Minor gaps around exact return contents and whether the call counts against the free tier.
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 takes zero parameters, so there is nothing to document beyond what the schema already conveys. Baseline 4 applies; the description's mention of 'your key or IP' usefully explains the implicit scoping of the result.
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 states a specific verb and resource: show today's usage for the caller's key or IP, plus the upgrade link. It is immediately distinguishable from the wake-scheduling siblings, though it doesn't explicitly say so. Clear and specific, just not maximally differentiated.
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?
Usage is implied rather than stated: an agent can infer you call this to check quota or find the upgrade path. The free-tier limit (50 calls/day) hints at when it matters, but there is no explicit when-to-use, prerequisite, or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
check_agent_access - First observed
check_many - First observed
find_agent_alternative - First observed
usage_and_upgrade
Related MCP Connectors
Policy-aware web access preflight: robots, licensing, payment and advertised routes for agents.
Is this website visible to AI agents? Robots, llms.txt, sitemap, extraction, then placement.
Whether an AI agent may fetch a URL, on what terms, and at what price. Free, no key, no signup.
Check whether a website is readable by AI agents: robots, llms.txt, sitemap, HTML. Bounded.
Related MCP Servers
- AlicenseAqualityBmaintenanceProvides preflight checks and domain intelligence so agents can skip domains that will refuse them or charge a fee, covering robots.txt, edge refusals, and HTTP 402 paywalls.7MIT
- FlicenseNot gradedqualityBmaintenanceProvides pre-fetch routing intelligence for AI agents by recommending the cheapest reliable route (HTTP, browser, machine endpoint, or avoid) before visiting a URL.-
- AlicenseAqualityBmaintenanceEnables AI agents to check whether a public website is crawlable, understandable, and ready for AI search workflows through local-only audits of robots.txt, sitemaps, metadata, and llms.txt.345 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to scan any website for agent-readiness and generate the necessary artifacts (llms.txt, WebMCP scaffold, structured data) to make it agent-ready.11 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.