Web Search MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EXA_API_KEY | No | Enables Exa provider | |
| SEARXNG_URL | No | SearXNG base URL | http://localhost:18443 |
| TAVILY_API_KEY | No | Enables Tavily provider | |
| WSM_TIMEOUT_MS | No | Global search timeout in milliseconds | 25000 |
| WSM_MAX_RESULTS | No | Default max results | 10 |
| WSM_LLM_PROVIDER | No | LLM provider for quality mode: 'haiku', 'local', or 'none' | none |
| ANTHROPIC_API_KEY | No | Required when WSM_LLM_PROVIDER=haiku | |
| FIRECRAWL_API_KEY | No | Enables Firecrawl in extract pipeline | |
| WSM_LOCAL_LLM_URL | No | Required when WSM_LLM_PROVIDER=local |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchA | Multi-source web search with RRF fusion. Providers tried in parallel: SearXNG/ddgr/Tavily/Exa/opencli-zh. Results deduplicated by URL and reranked by reciprocal rank fusion. Snippets cleaned. |
| vertical_searchA | Vertical-domain structured search via AnySearch. Use for finance (real-time quotes, fundamentals), academic (papers), security (CVE), ip (patents), legal, health. Returns structured payload (field-level data, not flattened). |
| vertical_sub_domainsA | Discover sub-domains and required parameters for a given vertical domain. Call before vertical_search when sub_domain schema is unknown. |
| vertical_batchC | Up to 5 vertical queries in parallel via AnySearch. |
| extractA | Extract clean markdown from a URL. Tries defuddle → opencli adapter → Firecrawl → opencli browser in order. |
| doctorC | Diagnose provider availability and health. |
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 6 tools
Most tools are clearly distinct: 'doctor' for health checks, 'extract' for URL content, 'search' for general search, and 'vertical_*' for domain-specific search. However, 'vertical_search' and 'vertical_batch' both perform vertical searches, differing only in batch size, which could cause slight confusion.
Naming is inconsistent: 'doctor', 'extract', 'search' are single verbs without a clear pattern, while 'vertical_batch', 'vertical_search', and 'vertical_sub_domains' use a snake_case prefix. This mix of conventions reduces predictability.
With 6 tools, the set is well-scoped for a web search and extraction server. Each tool serves a distinct purpose without being excessive or insufficient.
The tool surface covers core functionality: health checks, general search, URL extraction, and vertical domain search with discovery. Minor gaps exist, such as no tool for image or news search, but the provided set is functionally complete for the stated domain.