Skip to main content
Glama

Search and read

search_and_read
Read-only

Search the web and read the top pages in one step: returns the top web results plus the full visible text of the top 1-3 pages, each rendered in a real browser. Results that can't be read are skipped for the next one down. Optional filters: freshness (past hour to past year), include_domains / exclude_domains (up to 5 sites each), type "news". The fastest way to answer a question from fresh sources.

$0.005 USDC per call over x402. Failed calls cost nothing. Call without payment to get a quote.

When to use: You have a question and want it answered from current sources in one call: it searches, then reads the top pages for you. Use instead: web_search when the snippets are enough or you want to choose which pages to read (then read_pages). Parameters: query is required. num: how many pages to read, 1-3, default 3. Same freshness, include_domains, exclude_domains, type and country filters as web_search. Returns: the ranked results, plus the full text (up to 12,000 characters each) of the top 1-3 pages that could be read.

Input Schema

NameRequiredDescriptionDefault
numNoHow many pages to read (1-3, default 3).
typeNo"news" searches news articles instead of the whole web.
queryYesWhat to search for.
countryNoTwo-letter country code for local results, e.g. "us".
paymentNoBase64 x402 payment payload. Omit it to receive a quote; sign that and call again.
freshnessNoOnly results from the past hour, day, week, month or year.
exclude_domainsNoNever results from these sites.
include_domainsNoOnly results from these sites, e.g. ["reuters.com"].

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / country / description
      Added value: +"Two-letter country code for local results, e.g. \"us\"."
  2. Changed4 schema fields changed
    • addedInput schema / properties / exclude_domains
      Added value: +{
      +  "description": "Never results from these sites.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "maxItems": 5,
      +  "type": "array"
      +}
    • addedInput schema / properties / freshness
      Added value: +{
      +  "description": "Only results from the past hour, day, week, month or year.",
      +  "enum": [
      +    "hour",
      +    "day",
      +    "week",
      +    "month",
      +    "year"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / include_domains
      Added value: +{
      +  "description": "Only results from these sites, e.g. [\"reuters.com\"].",
      +  "items": {
      +    "type": "string"
      +  },
      +  "maxItems": 5,
      +  "type": "array"
      +}
    • addedInput schema / properties / type
      Added value: +{
      +  "description": "\"news\" searches news articles instead of the whole web.",
      +  "enum": [
      +    "web",
      +    "news"
      +  ],
      +  "type": "string"
      +}
  3. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only cover readOnlyHint and openWorldHint, but the description adds substantial behavioral context: x402 pricing ($0.005 USDC/call), that failed calls are free, the payment-quote handshake, the 12,000-character read cap, and the skip-to-next-page fallback. This is exactly the kind of cost/auth/failure behavior annotations cannot express.

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 core capability and organized into When-to-use / Use-instead / Parameters / Returns sections. Slightly redundant – the return payload (results plus full page text) is described both in the opening sentence and again in the 'Returns' line.

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 still explains the return shape (ranked results plus full text of top pages, char cap) and the payment flow. For an 8-parameter open-world tool, an agent has everything needed to invoke it correctly.

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 the schema already documents every parameter. The description restates the filter families and defaults (num 1-3 default 3) without adding syntax or semantics beyond the schema; baseline 3 applies.

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 compound verb and resource: search the web AND read the top 1-3 pages, rendered in a real browser. It explicitly differentiates from siblings web_search and read_pages, so an agent can route correctly 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 Guidelines5/5

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

Contains an explicit 'When to use' clause and a 'Use instead' clause naming web_search and read_pages with the selecting condition ('snippets are enough', 'want to choose which pages'). Nothing is left 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.