Skip to main content
Glama

fetch_page_content

Read-onlyIdempotent

Fetch and extract content from a web page. Returns the page content in markdown format.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to fetch. Example: "https://example.com"
liveNoFetch live content. Defaults to false.
promptNoOptional extraction instruction. When set, an LLM reads the fetched page and the returned content is only the output for this instruction instead of the full page. Example: "List all pricing tiers with their monthly prices".
max_charsNoMaximum number of characters of content to return. Longer content is truncated. Defaults to 50000 when omitted.
session_idNoOptional id of the agent session making this call. Send the same value on every call in one session so its requests can be grouped.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / session_id
      Added value: +{
      +  "description": "Optional id of the agent session making this call. Send the same value on every call in one session so its requests can be grouped.",
      +  "maxLength": 128,
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / prompt
      Added value: +{
      +  "description": "Optional extraction instruction. When set, an LLM reads the fetched page and the returned content is only the output for this instruction instead of the full page. Example: \"List all pricing tiers with their monthly prices\".",
      +  "maxLength": 2000,
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / live
      Added value: +{
      +  "default": false,
      +  "description": "Fetch live content. Defaults to false.",
      +  "type": "boolean"
      +}
  4. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the markdown return format, which is useful behavioral context beyond annotations. However, it does not mention potential failures, rate limits, or whether redirects are followed, but these are minor given the annotation coverage.

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

Conciseness5/5

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

The description is two sentences with zero waste. It front-loads the action and immediately specifies the return format. Every word earns its place, and it is appropriately sized for a simple fetch tool.

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

Completeness4/5

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

For a tool with 5 parameters and no output schema, the description provides the essential return format (markdown) and purpose. It does not explain the optional parameters (live, prompt, max_chars, session_id) beyond schema, but that is acceptable because schema covers them. The description is adequate for a simple fetch operation; it could mention error handling or pagination, but these are not critical given the tool's simplicity.

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 every parameter already has a detailed description. The tool description adds no extra parameter semantics beyond the schema; it only states the overall action. Baseline 3 applies because the schema does the heavy lifting and the description does not compensate or add nuance.

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?

The description states a clear verb-resource pair: 'Fetch and extract content from a web page.' It explicitly mentions the markdown return format, which distinguishes it from the sibling search_web_pages that would return search results rather than a single page's content. The purpose is unambiguous and immediately actionable.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus the sibling search_web_pages. It implies usage (when you have a URL to fetch) but does not state exclusions or alternatives. There is no explicit 'use this instead of search when...' or 'do not use for...' guidance, leaving the agent to infer context.

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