Skip to main content
Glama

Read a URL as markdown

extract_url
Read-onlyIdempotent

Fetch one or more URLs and return their main content as clean markdown, with navigation, ads and boilerplate removed. Pass a query to get only the passages of each page relevant to it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlsYesURLs to read.
queryNoOptional. Trims each page to its relevant passages.
formatNomarkdown

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior. The description adds useful behavioral detail by disclosing that navigation, ads, and boilerplate are removed, and that a query filters each page to relevant passages. No contradiction with annotations is present.

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 with no filler. The primary behavior is front-loaded, and the optional query behavior is described in the second sentence. Every sentence contributes useful information.

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 simple read-only tool with robust annotations and a clear schema, the description covers the main behavior, the output format, and the optional filtering behavior. It does not describe error cases or URL limitations, but those 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?

The schema documents 'urls' and 'query' with descriptions, and 'format' is self-evident through its enum and default. The description largely restates the query behavior already present in the schema, so it adds little beyond the input schema. Schema coverage is moderate at 67%, but the description does not compensate with deeper parameter 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 specific action ('Fetch one or more URLs'), a concrete resource (URLs), and the output ('clean markdown'), and explicitly differentiates it from web_search by focusing on reading/fetching rather than searching. The title reinforces the same purpose.

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 description clearly identifies when to use the tool: when you have URLs to fetch and want clean markdown of the main content, with an optional query for relevance filtering. It does not explicitly mention web_search or state when not to use it, so it stops short of a full exclusion-based guideline.

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.

TDQS

A4.1/5.0
Disambiguation5/5

The two tools have clearly distinct input modes and purposes: web_search is used to discover URLs via query, while extract_url is used to fetch and read content from known URLs. Even though both can return relevant passages, the starting point is unambiguous—search when you need to find pages, extract when you already have the URL.

Naming Consistency4/5

Both names are lowercase and underscore-separated, but extract_url follows a clear verb-object pattern while web_search is more of a noun phrase or object-verb construction. The inconsistency is minor and does not hinder understanding, but a more consistent pattern like search_web would improve clarity.

Tool Count3/5

Two tools is on the low end for a search-focused server. The pair covers the core search-and-extract workflow, but feels slightly thin compared to typical search APIs that offer multiple query types, filtering, or pagination. Still, the scope is focused enough that the count is not unreasonable.

Completeness4/5

The two tools form a complete loop: discover information via web_search, then read full pages via extract_url. Missing advanced search options and pagination details are notable gaps but not blocking for the primary use case, so the surface is mostly complete for a simple search assistant.