Universal Web Retrieval MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TAVILY_API_KEY | No | Tavily keyed mode; absent → official keyless (X-Tavily-Access-Mode: keyless) | |
| ANYSEARCH_API_KEY | No | AnySearch keyed mode; absent → official keyless | |
| WEB_RETRIEVAL_TIMEOUT | No | Overall chain deadline in seconds (default 45) | 45 |
| WEB_RETRIEVAL_LOG_LEVEL | No | Log level; logs go to stderr (stdout is MCP JSON-RPC) | WARNING |
| WEB_RETRIEVAL_MAX_RESULTS | No | Cap for web_search.limit (default 20) | 20 |
| WEB_RETRIEVAL_DDGS_TIMEOUT | No | DDGS overall timeout in seconds (default 15s) | 15 |
| WEB_RETRIEVAL_TAVILY_TIMEOUT | No | Tavily read timeout in seconds (default 20s) | 20 |
| WEB_RETRIEVAL_ANYSEARCH_TIMEOUT | No | AnySearch read timeout in seconds (default 20s) | 20 |
| WEB_RETRIEVAL_EXTRACT_CHAR_LIMIT | No | Max fetched-content chars (default 15000) | 15000 |
| WEB_RETRIEVAL_TAVILY_CONNECT_TIMEOUT | No | Tavily connect timeout in seconds (default 5s) | 5 |
| WEB_RETRIEVAL_ANYSEARCH_CONNECT_TIMEOUT | No | AnySearch 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| web_searchB | Web search with automatic provider failover (AnySearch -> Tavily -> DDGS). 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, results: [{title, url, snippet}]}. |
| web_fetchA | Fetch one URL's page content as Markdown with automatic provider failover (AnySearch -> Tavily -> DDGS.extract). Auth is automatic (keyed when a key is configured, else official keyless). Accepts a single url string, or urls array (max 5) for batch. Returns JSON array of {url, content, title, content_type, provider, mode, latency_ms} — failed URLs carry an |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 2 tools
web_fetch retrieves content from a known URL, while web_search discovers URLs via a query. Their purposes are clearly distinct with no overlapping behavior.
Both tools follow the same snake_case 'web_<verb>' pattern, making the set predictable and easy to scan.
Only two tools are provided; while they are core, the set feels thin for a server named 'Universal Web Retrieval' and lacks depth beyond basic search and fetch.
The core read path (search + fetch) is covered, including batch fetch up to 5 URLs. Minor gaps remain around pagination, crawling, or advanced search filters, but agents can work around them.