Skip to main content
Glama

web_search

Searches the web and returns clean Markdown from top results or specific URLs, helping answer 'what is X' and find information about a topic.

Instructions

Search the web and get back clean Markdown of the top results (or read specific URLs directly, skipping search). Good default choice for 'what is X' / 'find info about X' questions. Each result page fetched is a billed row.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlsNoSpecific page URLs to fetch and convert to Markdown directly, skipping the Google search step.
queryNoA single search query, e.g. 'best crm for startups'. Ignored if `queries` or `urls` is set.
queriesNoMultiple search queries to run in one call. Overrides `query` when non-empty.
maxResultsNoHow many organic results to read per query.
countryCodeNo2-letter country code for localised results (gl).us
languageCodeNo2-letter interface language code (hl).en
outputFormatNoBody format to return for each result.markdown
includeSnippetOnlyNoIf true, return only the SERP title/url/snippet without fetching the page (faster, cheaper).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden and does add real behavioral detail: results come back as clean Markdown, direct URLs skip search, and each fetched page is a billed row (cost signal). It still omits rate limits, failure behavior, and how SERP vs fetched content differ when includeSnippetOnly is used.

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 short sentences, each earning its place: capability, dual mode, usage hint, and billing note. Front-loaded with the core verb and output format.

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

Completeness3/5

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

For an 8-parameter tool with no annotations and no output schema, the description covers the core modes and billing but leaves gaps: no mention of how many results by default, costs per query, or differences from google_search/read_url. Adequate but incomplete for a tool with this many parameters.

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 parameters are already fully documented in the schema; baseline is 3. The description adds only the higher-level notion that URLs bypass search, which the urls parameter description already states.

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?

States a specific verb (search) and resource (the web) and clarifies the output (clean Markdown of top results), plus a dual mode (direct URL fetch). It doesn't explicitly distinguish itself from the closest sibling google_search, though the URL-skipping mode and Markdown-fetch behavior imply the difference.

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

Usage Guidelines3/5

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

It offers one piece of usage guidance ('Good default choice for what is X / find info about X questions') but never names alternatives like google_search, read_url, or crawl_site_markdown, nor says when not to use it. Usage is implied rather than specified.

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