Skip to main content
Glama

Read a web page as markdown

contrie_read
Read-only

Read one public web page as clean, structure-preserving markdown (headings, lists, tables, links) with common page boilerplate removed where recognized. A successful read costs 1 credit; a failed one costs 0. Returns the full REST-shaped JSON response in this tool's text content: data is null, markdown holds the page, and metadata includes credits and evidence status. Returns the page as markdown, not typed fields. Contrie reads at most the first 100,000 characters of the page's markdown; metadata.evidenceCoverage.sourceTruncated is true when it cut. Requires authentication: sign in with your Contrie account (OAuth), or send an API key in the Authorization header. Eligible JavaScript shells can use bounded browser rendering; successful rendered reads add 2 credits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe public web page to read
maxAgeNoAccept page bytes from your account fetched up to this many seconds ago; origin expiry may be shorter. Default 0 bypasses cache reads/writes. Query/fragment/user-info URLs and restricted origin responses are never cached.
renderNoauto (default): render in a browser only if the page is a JavaScript shell; always: render first; never: plain fetch only. Only a successful rendered result adds 2 credits.
idempotencyKeyNoStable request ID, 8–200 visible ASCII characters. Reuse the same ID and inputs to recover a completed response for 24 hours without another extraction or charge. Use a new ID for deliberately new work. Requires authentication.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / render / description
      Previous value: -"auto (default): render in a browser only if the page is a JavaScript shell; always: render first; never: plain fetch only. Rendering adds 2 credits."New value: +"auto (default): render in a browser only if the page is a JavaScript shell; always: render first; never: plain fetch only. Only a successful rendered result adds 2 credits."
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses the credit model (1 credit success, 0 failure), the +2 credit rendered-read surcharge, the 100,000-character cap with the sourceTruncated flag, and the authentication options (OAuth sign-in or API key header). This is exactly the behavioral context an agent needs before invoking.

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?

Front-loaded with the purpose in the first clause, and nearly every sentence earns its place (cost, return shape, truncation, auth, rendering). Minor redundancy between 'Returns the full REST-shaped JSON response...' and 'Returns the page as markdown, not typed fields' costs it the top score.

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?

With no output schema, the description compensates by explaining the response envelope (data null, markdown field, metadata with credits and evidence status), so an agent knows what a call returns. Combined with the auth, cost, and truncation notes, nothing needed to invoke 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?

Schema description coverage is 100%, so the baseline is 3 and the schema already carries per-parameter detail. The description adds real connective meaning by tying the render pathway to additional credit cost and the truncation flag to evidenceCoverage, going slightly beyond the raw schema text.

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 (read), resource (one public web page), and output format (structure-preserving markdown with boilerplate removed). The clause 'Returns the page as markdown, not typed fields' implicitly distinguishes it from a typed-extraction sibling, so an agent can route on the format alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Some selection signals are present: 'public web page', 'not typed fields', and the render pathway for JavaScript shells. However, it never names a sibling or states when to prefer contrie_extract over contrie_read, leaving the main routing decision to inference.

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.

Resources