Skip to main content
Glama

test_proxy_on_site

Read-only

Test whether a proxy answers a specific site: sends one GET and reports status, final URL, size, time, and block reasons like 403, 429, captcha or challenge pages.

Instructions

Request one page of a site through the proxy and say whether it answered.

Sends one GET and reads at most 2 MB. Returns the status, the final URL,
the size and time, and a block reason when the status or the page looks like
a refusal (403, 429, a captcha or a challenge page). The page itself is not
returned. A plain HTTP request is a weaker test than a browser: a site that
needs JavaScript can refuse it and still serve the same proxy in a browser.
For mobile, take the location codes from list_locations with
connection_type="mobile".

Input Schema

NameRequiredDescriptionDefault
ispNo
ttlNo
urlYes
cityNo
filterNo
regionNo
countryNo
session_idNo
connection_typeNoresidential

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.2

TDQS

A3.8/5.0
Behavior5/5

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

Annotations already mark it read-only/open-world, and the description adds real behavioral context beyond them: a single GET, a 2 MB read cap, the page body is not returned, and refusals are surfaced as a block reason for 403/429/captcha/challenge. The JS-vs-browser caveat is exactly the kind of limitation an agent could not infer from structured fields.

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

Conciseness4/5

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

Opens with the core action, then layers returns and caveats in descending priority with no filler. The trailing mobile/list_locations sentence is useful but sits oddly detached from the location parameters it refers to.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Return values are already covered by an output schema, and the description usefully summarizes them anyway. However, for a 9-parameter tool with no schema descriptions, leaving the proxy-selection parameters undefined is a material gap an agent will hit at call time.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% across 9 parameters, so the description must carry the load, but it only addresses connection_type and indirectly points at location codes via list_locations. The meanings of isp, ttl, filter, session_id, and the country/region/city targeting hierarchy are left entirely unexplained.

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?

States a specific verb+resource: sends one GET for a single page through a proxy and reports whether it answered, with the scope (2 MB cap, page body not returned) made explicit. It distinguishes itself from a generic health check by describing the block-reason reporting, but it never names the closest sibling (check_proxy) to draw a clean line.

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 situational guidance: this is a weaker test than a real browser, JS-dependent sites can refuse it yet still be served in a browser, and mobile targeting requires location codes from list_locations with connection_type="mobile". No explicit when-not-to-use versus check_proxy or proxy_url.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.