webscout-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WEBSCOUT_AI_MODEL | No | AI model to use. Default: qwen2.5:7b | qwen2.5:7b |
| WEBSCOUT_CACHE_TTL | No | Cache TTL in seconds. Default: 3600 | 3600 |
| WEBSCOUT_VECTOR_DB | No | Vector database to use. Default: chroma | chroma |
| WEBSCOUT_AI_API_KEY | No | API key for AI backend (e.g., OpenAI, Doubao). Required for non-Ollama backends. | |
| WEBSCOUT_AI_BACKEND | No | AI backend to use for content understanding (ollama, openai, doubao, or custom). Default: ollama | ollama |
| WEBSCOUT_BROWSER_TYPE | No | Browser type for Playwright automation (chromium, firefox, webkit). Default: chromium | chromium |
| WEBSCOUT_SETUP_OLLAMA | No | Install and configure Ollama during setup. Default: false | false |
| WEBSCOUT_CACHE_ENABLED | No | Enable caching. Default: true | true |
| WEBSCOUT_SETUP_CHROMADB | No | Install ChromaDB during setup. Default: false | false |
| WEBSCOUT_EMBEDDING_MODEL | No | Embedding model name. Default: BAAI/bge-small-zh-v1.5 | BAAI/bge-small-zh-v1.5 |
| WEBSCOUT_BROWSER_HEADLESS | No | Run browser in headless mode. Default: true | true |
| WEBSCOUT_MONITOR_INTERVAL | No | Default monitoring check interval in seconds. Default: 300 | 300 |
| WEBSCOUT_SETUP_PLAYWRIGHT | No | Install Playwright and Chromium during setup. Default: true | true |
| WEBSCOUT_EMBEDDING_BACKEND | No | Embedding backend for vector search (local, openai, custom). Default: local | local |
| WEBSCOUT_MONITOR_MIN_CHANGE | No | Minimum change size to trigger monitoring alerts. Default: 10 | 10 |
| WEBSCOUT_RATE_LIMIT_ENABLED | No | Enable per-domain rate limiting. Default: true | true |
| WEBSCOUT_SEARCH_MAX_RESULTS | No | Maximum number of search results to return. Default: 10 | 10 |
| WEBSCOUT_BROWSER_BLOCK_MEDIA | No | Block media resources (images, videos) in browser automation. Default: true | true |
| WEBSCOUT_SEARCH_DEFAULT_BACKEND | No | Default search backend (e.g., bing, duckduckgo, google, brave). Default: bing | bing |
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 | Search the web and return structured results. SearchService uses health-based provider ranking, deterministic recovery classification, and automatic fallback across registered search providers. Empty/invalid queries are rejected without network calls. No API key required for the default HTML providers. |
| web_fetchA | Fetch a URL and return one window of its extracted main content. Progressive delivery: each call returns at most |
| web_crawlB | Crawl a website starting from a seed URL, respecting depth and page limits. Fetches pages concurrently within each depth level. Respects robots.txt by default. |
| web_extractC | Extract structured data from a web page using CSS selectors. |
| cache_statsA | Return cache statistics: entry count, total size, TTL, and limits. |
| cache_clearA | Clear all cached entries. Returns the number of entries deleted. |
| search_healthA | Get health report for all search backends. Returns overall health score, per-backend status (healthy/degraded/open/half-open), circuit breaker state, and request statistics. Use this to diagnose search failures. Reports the active SearchService health first, with legacy SearchEngine health included as fallback reference during the migration period. |
| metadata_extractA | Extract metadata from a web page. Extracts JSON-LD, OpenGraph, Twitter Cards, article metadata, images, links, and other structured metadata from the page. |
| rss_parseA | Parse an RSS or Atom feed and return its entries. Fetches and parses RSS 2.0, RSS 1.0, and Atom feeds. Returns feed title, description, link, and a list of entries with title, link, description, publication date, and author. |
| content_qualityA | Analyze content quality of a web page. Evaluates readability scores (Flesch-Kincaid, Gunning Fog), keyword density, content structure, metadata quality, and provides actionable suggestions for improvement. |
| broken_linksA | Check for broken links on a web page. Extracts all links from the page, checks each one's HTTP status, and returns a report with broken links, redirects, and link statistics. |
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 11 tools
Most tools have clearly distinct purposes, e.g., web_search, web_fetch, web_crawl, rss_parse. A small amount of overlap exists between web_extract and metadata_extract, but their descriptions clarify the difference between CSS-selector extraction and metadata extraction.
Names are readable and mostly use snake_case, but the pattern is mixed: some are object_verb (web_fetch, rss_parse, cache_clear), while others are noun phrases (broken_links, content_quality, search_health). The web_ prefix helps, but there is no consistent verb_noun convention.
11 tools is well within the ideal range and each tool serves a distinct web-research purpose, from searching and fetching to crawling, parsing, extracting, and cache management. No tool feels redundant or unnecessary.
The tool surface covers the core web-scouting workflow well: search, fetch, crawl, parse RSS, extract structured data and metadata, check links, and assess quality. Minor gaps exist, such as no search pagination or browser-level automation, but agents can generally complete tasks without dead ends.