Skip to main content
Glama
withgardener

Universal Web Retrieval MCP

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TAVILY_API_KEYNoTavily keyed mode; absent → official keyless (X-Tavily-Access-Mode: keyless)
ANYSEARCH_API_KEYNoAnySearch keyed mode; absent → official keyless
WEB_RETRIEVAL_TIMEOUTNoOverall chain deadline in seconds (default 45)45
WEB_RETRIEVAL_LOG_LEVELNoLog level; logs go to stderr (stdout is MCP JSON-RPC)WARNING
WEB_RETRIEVAL_MAX_RESULTSNoCap for web_search.limit (default 20)20
WEB_RETRIEVAL_DDGS_TIMEOUTNoDDGS overall timeout in seconds (default 15s)15
WEB_RETRIEVAL_TAVILY_TIMEOUTNoTavily read timeout in seconds (default 20s)20
WEB_RETRIEVAL_ANYSEARCH_TIMEOUTNoAnySearch read timeout in seconds (default 20s)20
WEB_RETRIEVAL_EXTRACT_CHAR_LIMITNoMax fetched-content chars (default 15000)15000
WEB_RETRIEVAL_TAVILY_CONNECT_TIMEOUTNoTavily connect timeout in seconds (default 5s)5
WEB_RETRIEVAL_ANYSEARCH_CONNECT_TIMEOUTNoAnySearch connect timeout in seconds (default 5s)5

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
web_searchA

Web search through a configurable provider chain with automatic failover. Two modes: mode="failover" (default) walks the chain one provider at a time and returns the first success (including an empty answer); mode="fanout" queries up to UWR_SEARCH_FANOUT providers concurrently, then merges and rank-fuses the results (even an all-empty set of OK answers succeeds with results: []; provider="fanout", every row carries sources; costs N× provider quota per search). Default chain: AnySearch -> Tavily -> DDGS; operators can reorder/extend it with UWR_SEARCH_CHAIN (e.g. anysearch,tavily,yuanbao,bocha,deepseek,kimi,ddgs) and pick the default mode with UWR_SEARCH_MODE. Auth is automatic: a configured API key enables keyed mode, otherwise the provider's official keyless access is used. Returns JSON: {success, provider, mode, latency_ms, attempts, results: [{title, url, snippet, published?, site?, sources?}]}. providers overrides the chain order for this one call (e.g. ["bocha"] or ["yuanbao","tavily"]); in fanout mode its first N eligible entries are queried.

web_fetchA

Fetch one URL's page content as Markdown with automatic provider failover (default: AnySearch -> Tavily -> DDGS.extract; operators can reorder the chain with UWR_FETCH_CHAIN). Auth is automatic (keyed when a key is configured, else official keyless). Accepts a single url string, or urls array (max 5) for batch. providers overrides the chain order for this call. Returns JSON array of {url, content, title, content_type, provider, mode, latency_ms, attempts} — failed URLs carry an error field instead. Note: JS-rendered, login-walled or CAPTCHA-protected pages are not guaranteed.

list_providersA

List every provider this server knows: capabilities (search/fetch), whether it is usable right now (configured / key present), whether it is enabled, and its 1-based position in each active chain. Also reports the active search mode (failover/fanout) and the fan-out fan width/grace. Never returns key values. Use it to decide what to pass in web_search/web_fetch providers.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a distinct purpose: web_search performs search, web_fetch retrieves page content, and list_providers reports provider/chain metadata. There is no overlap that would cause an agent to reasonably choose the wrong tool.

Naming Consistency4/5

The names are in readable snake_case with verb_noun structure for web_search and web_fetch, while list_providers slightly deviates by omitting the web_ prefix. The inconsistency is minor and does not impair predictability.

Tool Count5/5

Three tools are well-scoped for a web retrieval server: one for search, one for fetching, and one for provider discovery. Each earns its place without redundant surface area.

Completeness4/5

The core lifecycle of discovering providers, searching, and fetching content is covered. Minor gaps remain around dedicated provider health checks, richer extraction options, or batch search, but agents can work around them.

Maintenance

ActivityMaintained
ResponsivenessNo issues