Web Search MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SEARCH_MCP_RATE_LIMIT_FETCH | No | Max page fetch requests per minute | 20 |
| SEARCH_MCP_RATE_LIMIT_SEARCH | No | Max search requests per minute | 30 |
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 |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| web_searchA | Unified search tool for web content and news. Args: query: Search query string search_type: Type of search ('text' or 'news') max_results: Max number of results to return (default 5) time_range: Time filter ('d', 'w', 'm', 'y') or None region: Geographic region (e.g. 'us-en', 'uk-en') or None safesearch: Safe search level ('moderate', 'off', 'on') page: Page number for pagination (default 1) backend: Backend to use ('auto', 'legacy', 'api') response_format: Output format - 'markdown' for human-readable, 'json' for structured data Returns: str: Markdown-formatted search results (when response_format="markdown") SearchResponse: Raw search results (when response_format="json") ErrorResponse: Error response if applicable |
| fetch_pageA | Extracts the full text content from a web page URL. Use this to read the details of a specific result found via web_search. Args: url: The URL to fetch and extract content from output_format: Format for extracted content ('csv', 'html', 'json', 'markdown', 'python', 'txt', 'xml', 'xmltei') include_metadata: Whether to include document metadata (title, author, date, etc.) include_tables: Whether to include table content in extraction include_comments: Whether to include comment content in extraction include_images: Whether to include image descriptions in extraction deduplicate: Whether to remove duplicated content max_length: Maximum length of content to return (default 15000) timeout: Request timeout in seconds (default 30) backend: HTTP backend to use ('httpx' for lightweight, 'curl' to bypass bot detection, 'auto' to try httpx first then fallback to curl) |
| search_docsA | Searches specifically for technical documentation or content on a specific domain. Args: query: What you're looking for domain: The domain to search (e.g. 'docs.python.org', 'stackoverflow.com') Returns: Search results from the specified domain |
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 3 tools
Each tool has a clearly distinct purpose: web_search for general web/news search, search_docs for domain-specific search, and fetch_page for retrieving content from a URL. No overlap.
All tool names follow a consistent verb_noun pattern (fetch_page, search_docs, web_search) using snake_case, which is predictable and clear.
With 3 tools, the server is minimal but well-scoped for its purpose (search and fetch). It covers the essential operations without being overly complex or thin.
The tool surface covers the full workflow: general search, specialized search, and content extraction. No obvious missing operations; web_search returns structured results for further processing.