Skip to main content
Glama

fetch_meta

Read-onlyIdempotent

Extract head metadata from any URL—title, description, canonical, Open Graph, Twitter, JSON-LD, icons, and RSS feeds—to preview a page before reading it.

Instructions

GET a URL and extract its head metadata: title, description, canonical, language, robots directive, Open Graph / Twitter Card / article: properties, icon links, RSS/Atom feed links, and any JSON-LD (schema.org) blocks. Keys that appear more than once (e.g. multiple og:image tags) are additionally returned via ogAll/twitterAll/articleAll arrays. Ideal for previewing a page before fully reading it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesURL to extract metadata from
max_bytesNoDefault 2MiB — metadata lives in <head>
timeout_msNo
user_agentNo
max_redirectsNo
allow_private_hostsNoAllow loopback / private / link-local targets for this call (default false). Refused unless the server operator launched fetch-mcp with FETCH_MCP_ALLOW_PRIVATE_HOSTS=1 -- SSRF protection stays on by default either way.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.8.0
    • addedInput schema / properties / allow_private_hosts / description
      Added value: +"Allow loopback / private / link-local targets for this call (default false). Refused unless the server operator launched fetch-mcp with FETCH_MCP_ALLOW_PRIVATE_HOSTS=1 -- SSRF protection stays on by default either way."
  2. First observedv0.6.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavioral detail beyond that: it enumerates extracted metadata and the duplicate-key arrays (ogAll/twitterAll/articleAll), which are non-obvious and help the agent anticipate output shape.

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?

Three sentences, each earning its place: the main action, the duplicate-key return behavior, and the use-case guidance. The enumerated metadata list is dense but directly relevant, and the description is not padded with filler.

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?

With no output schema, the description compensates by itemizing what will be returned, including feed links, social metadata, and JSON-LD blocks. It does not explain error cases or redirect behavior, but the optional network parameters have schema descriptions and the overall invocation requirements are clear.

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 coverage is 50%, with url, max_bytes, and allow_private_hosts already documented in the schema. The tool description does not add parameter details beyond 'GET a URL', and the undocumented params (timeout_ms, user_agent, max_redirects) are left to name-based inference, making this minimally adequate.

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?

Description states a specific verb and resource: 'GET a URL and extract its head metadata', then enumerates the exact metadata types returned. It clearly separates this tool from siblings like fetch_reader ('previewing… before fully reading it') and http_get, so an agent can distinguish it without opening schemas.

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?

The phrase 'Ideal for previewing a page before fully reading it' establishes a clear context for when fetch_meta should be chosen over full-content readers. It does not explicitly name alternatives or say when not to use it, so it falls short of the top score.

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