Dipper
Server Details
Web search and page fetch for AI agents. Results come from a shared cache; cached calls cost less.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
web_search (discover ranked results) and web_fetch (read one specific page) are conceptually distinct and the descriptions explicitly cross-reference when to use each instead of the other. There is no plausible way to confuse the two.
Both names use the same `web_` namespace prefix plus a concise verb (search, fetch), giving a fully predictable pattern. Nothing in the surface deviates from it.
Two tools is the minimum viable pair for a web research server: discovery and retrieval. It is well-scoped in that each tool earns its place, but the surface is thin — anything beyond search-and-read (e.g. multi-page extraction or crawling) is out of reach.
The search→fetch lifecycle is fully covered for read-only web access, with query operators, caching and refresh options handled inside the two tools. Minor gaps remain (no site crawl or structured data extraction), but agents can work around them by chaining fetches.
Available Tools
2 toolsweb_fetchFetch web pageARead-onlyIdempotentInspect
Fetch a web page and return its title and main content as Markdown.
Use it to read a specific page in full: a URL the user gave you, or a promising result from web_search whose snippet was not enough. Only http and https URLs are supported. Pages may be served from a shared cache; set refresh to read the live page (billed at the full rate) when the page changes often or the cached copy looks stale.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The http or https URL of the page to read. | |
| refresh | No | Skip the cache and fetch the live page (full price); the result replaces the cached copy. Default false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/open-world safety, and the description adds the non-obvious operational traits: pages may come from a shared cache, and refresh bypasses it at full billing rate. That cost and staleness disclosure is exactly the context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no filler, and the structure is front-loaded: capability and return format first, usage routing second, constraints and the refresh trade-off last. Nothing repeats the schema verbatim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool, everything an agent needs is present: accepted schemes, cache behavior, cost implication of refresh, and the shape of the returned content. No output schema exists, but the description already names what comes back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns a bump by explaining *when* to set refresh (page changes often, or cached copy looks stale) rather than merely restating what the flag does. The url parameter's http/https restriction is reinforced in prose as well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (fetch a web page) and even the return shape (title + main content as Markdown). It is clearly separable from web_search, which is named as the alternative for discovery rather than full-page reads.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives two concrete selection conditions: a URL the user handed you, or a web_search result whose snippet wasn't sufficient. It also states the constraint that only http/https URLs work, so the agent knows the boundary before calling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_searchWeb searchARead-onlyIdempotentInspect
Search the web and get a ranked list of results with title, URL, date and a short summary.
Use it when you need current or external information: recent events, documentation, prices, facts you are not sure about. Prefer one well-chosen query over many similar ones; if the summaries are not enough, call web_fetch on the most relevant URL instead of searching again.
Query rules:
At most 128 characters. Write concise keywords, not a long question.
Operators (combine freely): site:example.com only results from that site -site:example.com exclude that site lang:en results in a language (e.g. lang:zh, lang:en) after:2025-01-01 published on or after a date (YYYY-MM-DD) before:2025-12-31 published before a date
Example: "cloudflare durable objects pricing site:developers.cloudflare.com after:2025-06-01"
max_results: number of results (1-50, default 10). Asking for more does not cost more but uses more context. include_content: include the full page text of every result. This is very large (often thousands of tokens per result) and rarely needed — leave it false and use web_fetch on one or two chosen URLs instead.
Results may come from a shared cache. refresh: skip the cache and search again now; the new results also replace the cached copy for everyone. Billed at the full (uncached) rate, so only set it when the user needs the latest information or a cached result looks out of date.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query, 1-128 characters. Supports site:, -site:, lang:, after:YYYY-MM-DD, before:YYYY-MM-DD. | |
| refresh | No | Skip the cache and search again now (full price); the fresh results replace the cached copy. Default false. | |
| max_results | No | Number of results to return, 1-50. Default 10. | |
| include_content | No | Include full page text for every result. Very large; rarely needed. Default false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare read-only/open-world/idempotent; the description goes well beyond them by disclosing the shared cache, the fact that refresh overwrites the cached copy for all users, the full uncached billing rate, and the large context cost of include_content. These are non-obvious side effects and costs an agent could not infer from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then when-to-use, then a clearly headed operator block, then per-parameter guidance. Well organized, but some parameter sentences duplicate the schema descriptions, and the operator list is longer than strictly needed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates by describing the result fields, the caching model, the refresh overwrite semantics, and billing behavior. An agent can call this correctly and predict consequences without any further information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description adds genuine meaning by spelling out each operator with a worked combined example and by framing the max_results/include_content/refresh tradeoffs in cost and context terms. It loses a point only because the parameter definitions themselves largely restate the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search the web') plus the exact return shape (ranked list with title, URL, date, short summary), so an agent knows what it gets back. The contrast with the sibling web_fetch is implicit in the return shape and made explicit later in the usage guidance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit triggers ('recent events, documentation, prices, facts you are not sure about') and an explicit anti-pattern ('Prefer one well-chosen query over many similar ones'). It names the alternative tool and the condition that selects it: if summaries are insufficient, call web_fetch on the chosen URL rather than re-searching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
web_fetch - First observed
web_search
Related MCP Connectors
LLM-ready web search + instant answers + URL-to-clean-text fetch for agents and RAG.
Collaborative, cache-first web search for agents — cited answers from a shared live-web pool.
Web search for AI agents — one tool across 6 engines, routed to the cheapest + cached.
Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceWeb search, clean page reading & one-call research dossiers for AI agents. No API key — your agent does the synthesis.26 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides web search and content extraction for AI agents.MIT
- AlicenseNot gradedqualityDmaintenanceProvides AI agents with reliable web fetching capabilities, handling retries, caching, and anti-bot bypass automatically.MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to perform live web searches with ranked results and extracted page passages, plus clean markdown extraction of any URL.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.