web-retrieval-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FIRECRAWL_API_KEY | No | Firecrawl API key. Required to enable the web_search tool. | |
| WEB_RETRIEVAL_HOST | No | Host interface for the streamable HTTP server. | 127.0.0.1 |
| WEB_RETRIEVAL_PORT | No | Port for the streamable HTTP server. | 8765 |
| WEB_RETRIEVAL_MAX_CHARS | No | Maximum number of characters returned in retrieval results. | 50000 |
| WEB_RETRIEVAL_TRANSPORT | No | Transport mode. Set to 'streamable-http' for server deployment. | stdio |
| WEB_RETRIEVAL_TIMEOUT_MS | No | Timeout for web requests in milliseconds. | 30000 |
| WEB_RETRIEVAL_MAX_CRAWL_DEPTH | No | Maximum crawl depth. | 3 |
| WEB_RETRIEVAL_MAX_CRAWL_PAGES | No | Maximum number of pages to crawl. | 20 |
| WEB_RETRIEVAL_ALLOW_PRIVATE_NETWORKS | No | Whether to allow access to private/local network addresses. Defaults to false for security. | false |
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_fetchB | Read one public HTTP(S) URL and return clean LLM-friendly Markdown. render='auto' starts with a lightweight static fetch, escalates to Crawl4AI for JavaScript rendering when content appears incomplete, then uses Scrapling stealth as the final fallback. Use render='always' for known JavaScript-heavy pages. |
| web_crawlC | Crawl a bounded set of internal pages from one public website. Uses Crawl4AI breadth-first crawling. External links are not followed. The server enforces hard caps on depth/pages regardless of the requested values. |
| web_extractA | Extract repeated elements from a public webpage using a CSS selector. If attribute is omitted, visible text is returned. In auto mode Scrapling tries static HTTP first, then a dynamic browser, then stealth browser retrieval. |
| web_searchA | Search the public web through Firecrawl. Requires FIRECRAWL_API_KEY. category can target GitHub/research/PDF/developer sources; time_filter limits results to the past hour/day/week/month/year. |
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 4 tools
Each tool targets a clear, distinct retrieval mode: single-page fetch, multi-page crawl, structured extraction, and web search. The descriptions make the boundaries between fetch and crawl or extract easy to distinguish.
All tools follow the same web_<verb> snake_case pattern, making it predictable and easy to remember. The naming convention is consistent across the entire tool set.
Four tools is a well-scoped size for a web retrieval server. Each tool covers a distinct core operation without unnecessary redundancy or overwhelming the agent.
The tool surface covers the main web retrieval workflows: fetching a single page, crawling a site, extracting structured elements, and searching the web. No obvious dead ends or missing core operations are apparent for the stated purpose.