Skip to main content
Glama

Read Public Page Under Shared Trial

trial_read

Read one public HTTP(S) page as bounded Markdown through the existing walletless trial. Read and extract share the same original authority, remaining hops, expiry and one concurrent operation. No separate reader allowance. Optional markdownLimitChars is an integer from 1 through 40000; omitted calls use 40000. charged is false. This is not the paid read tool and it returns no payment or settlement receipt. The paid next path stays GET /read?url={encodedPublicUrl}. Each attempted DNS, HTTP, or redirect hop consumes one durable start before I/O. The call is not idempotent or effect-free; a retry spends another hop and does not refund a lost response. Existing readMarkdown JSON: inspect ok, sourceOk, status, error, markdown, truncated and capture. Bounded native HTML tables preserve blank cells, spans and links inside Markdown; unsupported tables are explicitly omitted with truncation. No JavaScript or completeness guarantee. HTTP 200 may report source or fetch failure. No payment or settlement receipt.

Input Schema

NameRequiredDescriptionDefault
urlYesCaller public http(s) URL. Private, loopback, and non-public hosts are refused.
markdownLimitCharsNoOptional Markdown character limit from 1 through 40000. Omitted calls use 40000.

Output Schema

NameRequiredDescriptionDefault
okYes
urlYes
errorYes
titleYes
statusYes
captureYes
chargedYes
finalUrlYes
markdownYes
sourceOkYes
fetchedAtYes
truncatedYes
wordCountYes
requestedUrlYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the annotations: explains that each DNS/HTTP/redirect hop consumes a durable start before I/O, that the call is not idempotent and does not refund a lost response, that no JavaScript runs and completeness is not guaranteed, and that HTTP 200 can still carry a source/fetch failure. It also explains why readOnlyHint=false for an ostensibly 'read' tool. No contradictions with annotations.

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

Conciseness3/5

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

The scope and trial framing are front-loaded well, but the text is padded: 'No payment or settlement receipt' is stated twice, and the enumeration of readMarkdown JSON fields (ok, sourceOk, status, error, markdown, truncated, capture) duplicates the existing output schema. Several sentences could be merged without losing meaning.

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 two-parameter network fetch with high-impact billing semantics, the description covers cost accounting, idempotency, failure modes, content fidelity limits (tables, no JS), and truncation behavior. With an output schema and full annotation coverage already present, nothing an agent needs in order to call this safely is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters are already documented with bounds and defaults. The description restates the markdownLimitChars range (1-40000, default 40000) without adding new semantics, and says nothing extra about the url parameter beyond what the schema's 'Private, loopback, and non-public hosts are refused' already covers. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Read one public HTTP(S) page as bounded Markdown') plus the access mode ('walletless trial'). It explicitly separates itself from the paid sibling read tool and from extract ('Read and extract share the same original authority, remaining hops, expiry...'), so an agent can route correctly without opening any schema.

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?

Clear usage context: this is the walletless, allowance-consuming trial path, with the paid alternative spelled out ('The paid next path stays GET /read?url={encodedPublicUrl}'). It also warns that retries spend another hop, which is effectively a when-not-to-retry guideline. It stops short of an explicit 'use this when you have no wallet/settlement credits' statement, leaving the selection condition lightly implied.

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.