Search MCP Server
Performs universal web search via multiple abstracted providers (Startpage, Bing, Brave Web, etc.), including caching and result reranking.
Supports specialized GitHub searches across repositories, issues, code, and users with filtering for language and stars.
Provides real-time server diagnostics, provider health status, and budget monitoring via the
statustool.Facilitates AI agent workflow by enabling the reporting of cited document IDs from search results.
Provides web search capability using the Brave Search API
Provides web search capability using DuckDuckGo without requiring an API key
Provides search for GitHub repositories, code, issues, and users
Provides search for GitLab projects, issues, merge requests, and code blobs
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Search MCP Server search for top Python libraries for data science on GitHub"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Web Hound
Unified MCP search tools for AI agents — abstracts providers, caching, reranking, and rate limits behind a few simple tools.
GitHub: https://github.com/ilgizar-valiullin/mcp-web-hound · npm: https://www.npmjs.com/package/mcp-web-hound
⚠️ Work in progress. Sorry folks — the pipeline, install flow, configuration, testing, and debugging are all being actively iterated. Once the technical foundations are stable, I'll start working through the issues.
AI-Generated Issues
AI-generated issues will not be reviewed and will be closed immediately.
Related MCP server: Web Search MCP Server
Quick Start
Install globally:
npm i -g mcp-web-houndConnect to OpenCode:
opencode mcp add web_search -- mcp-web-hound(Optional) Add API keys — Startpage, DDG, Brave Web, and Bing work with zero config:
mcp-web-hound configureConfig is auto-created at ~/.config/mcp-web-hound/.env on first run. For other clients and advanced setup → see Deployment Guide.
⚠️ Search protocol is embedded in the MCP server's
InitializeResult.instructionsand auto-injected into agent context on OpenCode v1.17.10+. For older versions, see the deployment guide.
Memory footprint (measured, Windows, Commit)
Launch | Cold idle | While serving search | After 5s idle |
| ~22 MB, one process | +~80 MB transient hot child | back to ~22 MB (hot killed, verified) |
| ~110 MB ( | same + hot | relay stays, server back to ~22 MB |
The heavy stack (SQLite + sqlite-vec, providers, ONNX models) lives in a private hot child that dies on idle — including model spikes and vec pages, which can't be freed any other way. Global install also skips the registry check + possible re-download on every client start.
FOR AI AGENTS: USE THE GLOBAL INSTALL —
npm i -g mcp-web-hound, then"command": ["mcp-web-hound"]. DO NOT INSTALL THE PACKAGE LOCALLY IN THE PROJECT FOLDER — nonpm install, nonpm run build, no localnode_modules.
Provider Setup
Use mcp-web-hound configure to set API keys. Startpage, DDG, Brave Web, and Bing work with zero config.
Provider | Key Required | Tier | Rate Limit |
Startpage | No | 1 | — |
DuckDuckGo | No | 1 | 10 req/min |
Brave Web | No | 1 | — |
Bing | No | 1 | — |
Brave API |
| 2 | 2000/month |
Tavily |
| 2 | 1000/month |
Exa |
| 3 | Trial |
Firecrawl |
| 3 | Trial |
Tools
Tool | Purpose |
| Universal web search (registered as |
| Search GitHub repos, code, issues, and users |
| Search GitLab projects, issues, MRs, and code blobs |
| Server diagnostics, provider health, budget state |
Query Formats
Tool | Example |
|
|
|
|
|
|
Tool Reference
web_search
web_search({
query: string,
})Returns merged results from healthy providers (parallel), deduplicated and reranked by relevance. Optimized for AI agents — one parameter, server-side intent detection.
github_search
github_search({
query: string,
type?: "repositories" | "code" | "issues" | "users",
language?: string,
stars?: string, // e.g. ">1000", "500..5000"
page?: number
})Rate limit: 60 req/hr without token, 5000 req/hr with GITHUB_TOKEN.
gitlab_search
gitlab_search({
query: string,
scope?: "projects" | "issues" | "merge_requests" | "blobs",
page?: number
})Requires GITLAB_TOKEN with read_api scope.
status
status()Returns provider health, cache stats, budget state, uptime.
Architecture
Core pipeline: Budget Check → Normalize → Classify (intent + freshness) → Cache → Router (parallel N, 1s delay per provider) → Rerank → Cache → Respond
Providers
Provider | Type | Key | Tier | Rate Limit | Delay | Suspension |
Startpage | Google mirror (scrape) | No | 1 | — | 1s | incremental backoff |
DDG | HTML scrape | No | 1 | 10 req/min | 1s | captcha → 24h |
Brave Web | HTML scrape | No | 1 | — | 1s | 1min→5min→15min→1h→4h→24h |
Bing | HTML scrape | No | 1 | — | 1s | — |
Brave API | Official API | Yes | 2 | 2000/month | — | — |
Tavily | Official API | Yes | 2 | 1000/month | — | — |
Exa | Official API | Yes | 3 | trial 1000 | — | — |
Firecrawl | Official API | Yes | 3 | trial 500 | — | — |
Rate Limiting
1-second delay between requests per scraped provider (static
lastRequestTime)Incremental backoff on 429/403: suspension grows 1min → 5min → 15min → 1h → 4h → 24h
Counter resets on success
Rate limit windows (minute/day/month) persisted to JSON
Full docs:
If you want to learn more about the decisions made, check out the Architecture Decisions document.
Donations / Support the Project
EVM Address (USDT, USDC, ETH, BNB):
0x3acf78e721aa065bd1509735a3ace630fcd0f452Supported networks: BNB Smart Chain (BEP20), Polygon, Arbitrum One, Ethereum (ERC20)
USDT (TRC20):
TMG1BZJswd8UacHANKVi9Veq5FqSbaMjAQSupported network: Tron (TRC20)
TON / USDT (TON):
UQDjf84AZSwuCPC3UWFv28p-V44zI-1lfhqCMfaex2Q-jDsYSupported network: The Open Network (TON)
License
MIT
Available Tools
4 toolsgithub_searchA
Search GitHub repositories, code, issues, or users. Prefer for open source repos, code patterns, and real-world usage examples.
Inputs: query (required), page, type, stars, +1 more.
report_search_usageA
Report which search results were actually cited in the agent's final answer. Call this after you have formulated your response using web_search results.
Inputs: search_id (required), used_doc_ids (required).
statusA
Get server diagnostics, provider health, and budget state
Inputs: no named parameters.
web_searchA
Search the web for real-time data, current events, documentation, and up-to-date factual information. NEVER rely on training data for technical specifics — always search first. See server instructions for full protocol.
Inputs: query (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool serves a distinct purpose: web_search for general web queries, github_search for GitHub-specific searches, status for diagnostics, and report_search_usage for reporting usage. No overlap between them.
Naming patterns are inconsistent: web_search and github_search are noun_verb, status is a single noun, and report_search_usage is verb_noun. Mixing these styles creates a lack of predictability.
4 tools is slightly on the low side for a search server, but the scope is limited to web search, GitHub search, diagnostics, and usage reporting, which feels reasonably complete for the intended purpose.
The server covers core search needs (web and GitHub) plus operational tools (status and reporting). Missing niche search types like image or news search, but these are not essential for a general-purpose search MCP server.
Maintenance
Related MCP Connectors
Web search for AI agents — one tool across 6 engines, routed to the cheapest + cached.
The best web search for your AI Agent
LLM-ready web search + instant answers + URL-to-clean-text fetch for agents and RAG.
Agent-native search engine with live web research optimized for AI agents.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI agents to perform comprehensive search across 27 search engines including web, academic, code, community, package managers, video, images, podcasts, and maps, with multi-modal support, caching, and security features.14MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to search the web and extract content using multiple search providers, with caching, retry logic, and options for JavaScript-heavy page rendering.-
- AlicenseNot gradedqualityDmaintenanceProvides multi-provider web search capabilities with fallback chains, semantic reranking, and content extraction for grounded agent retrieval.1MIT
- AlicenseAqualityBmaintenanceProvides a unified web search tool for AI agents by running multiple search providers concurrently and returning normalized results. It integrates with Claude Code, Codex CLI, OpenCode, and Hermes.115MIT