Skip to main content
Glama

Extract page links

extract_links
Read-onlyIdempotent

Fetches one public HTML page and returns unique normalized HTTP/HTTPS links with anchor text, rel values, and same-origin classification. Use this for bounded navigation discovery; it does not crawl the returned links. Limit: 8 s, 5 redirects, 768 KiB, 500 links.

Input Schema

NameRequiredDescriptionDefault
urlYesAbsolute public HTTP or HTTPS URL without embedded credentials.
max_linksYes
include_externalYes

Output Schema

NameRequiredDescriptionDefault
okYes
dataYes
metaYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, openWorld, non-destructive), the description discloses concrete operational limits — 8 s timeout, 5 redirects, 768 KiB body, 500 links — and that only 'one public HTML page' is fetched, which is exactly the behavioral context annotations cannot convey. It also states link normalization/deduplication and same-origin classification.

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?

Two sentences, both dense: the return contract first, then usage scope and limits. No filler, and the most decision-relevant facts (what it returns, when to use it, hard limits) are front-loaded.

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 an output schema present, the description needn't explain return structure, yet it summarizes the payload anyway; the one-public-page scope and all hard limits are covered. The only gap is that the semantics of `include_external` and the default for `max_links` are left to the schema, which does not document them.

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 33%: only `url` is documented in the schema, while `max_links` and `include_external` have no descriptions. The description partially compensates by mentioning the 500-link cap and same-origin classification (implying external links are included and tagged), but it never explains what `include_external` toggles or that `max_links` defaults to 100.

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?

The description states a precise verb and resource ('Fetches one public HTML page') and enumerates the return payload (unique normalized HTTP/HTTPS links, anchor text, rel values, same-origin classification), which clearly separates it from metadata/markdown/feed siblings. It never names a sibling explicitly, so differentiation is inferred rather than stated.

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?

'Use this for bounded navigation discovery; it does not crawl the returned links' gives a clear positive context plus an explicit exclusion, preventing an agent from expecting recursive crawling. No alternative tool is named for the case where crawling or full-page text is wanted, which keeps it below a 5.

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