A blazing-fast MCP server for multi-engine web search, written in Rust. Supports 9 search engines and 7 MCP tools with no runtime dependencies.
npx claudepluginhub lispking/ferris-searchA blazing-fast MCP server for multi-engine web search, written in Rust. Supports 9 search engines and 7 MCP tools with no runtime dependencies.
RuFlo Marketplace: Claude Code native agents, swarms, workers, and MCP tools for continuous software engineering
Claude Code marketplace entries for the plugin-safe Antigravity Awesome Skills library and its compatible editorial bundles.
Production-ready workflow orchestration with 79 focused plugins, 184 specialized agents, and 150 skills - optimized for granular installation and minimal token usage
Share bugs, ideas, or general feedback.
A blazing-fast MCP server for multi-engine web search, written in Rust.
Claude Code's built-in web search works great in ideal network conditions — but in practice, many developers run into environments where it's unreliable or unavailable: corporate networks, restricted regions, air-gapped setups, or simply spotty connectivity.
While looking for a workaround, I came across open-webSearch, a Node.js MCP server that routes search queries through multiple engines. It solved the problem well. But I have a thing for Rust — and spinning up a Node.js runtime just to proxy a few HTTP requests felt heavier than it needed to be.
So I rewrote the same idea in Rust:
If Claude Code's search isn't working in your environment, this is for you.
ferris-search is also a good foundation for enterprise internal search scenarios. Since it's a standard MCP server written in Rust, you can fork it and add custom search engines that connect to your internal knowledge bases — Confluence, Notion, internal wikis, code repositories, or proprietary document stores.
Some ideas:
With Claude Code as the AI layer and ferris-search as the search backbone, your team gets a local AI coding assistant that can actually find and reference internal documentation — without sending anything to external search engines.
web_search + 6 article/content fetcherscurl -fsSL https://raw.githubusercontent.com/lispking/ferris-search/main/install.sh | bash
Or from a local clone:
bash install.sh
The script will:
cargo installclaude mcp add -s user) if the CLI is foundirm https://raw.githubusercontent.com/lispking/ferris-search/main/install.ps1 | iex
Or from a local clone:
.\install.ps1
Prerequisite: Rust must be installed before running either script.
cargo install --path .
This installs the ferris-search binary to ~/.cargo/bin/ferris-search. Make sure ~/.cargo/bin is in your PATH.
To find the installed binary path:
which ferris-search
# or
echo "$(cargo home 2>/dev/null || echo $HOME/.cargo)/bin/ferris-search"
{
"mcpServers": {
"ferris-search": {
"command": "/Users/<you>/.cargo/bin/ferris-search",
"env": {
"DEFAULT_SEARCH_ENGINE": "bing"
}
}
}
}
Replace the path with the output of which ferris-search.
Add for the current project only:
claude mcp add ferris-search $(which ferris-search)
Add globally for all projects (-s user):
claude mcp add -s user ferris-search $(which ferris-search)
With environment variables:
claude mcp add -s user ferris-search $(which ferris-search) \
-e DEFAULT_SEARCH_ENGINE=bing \
-e ALLOWED_SEARCH_ENGINES=bing,duckduckgo,brave
-s userregisters the server in your user-level config (~/.claude.json) so it is available across all projects, not just the current one.
claude mcp add -s user ferris-search $(which ferris-search) \
-e USE_PROXY=true \
-e PROXY_URL=http://127.0.0.1:7890 \
-e DEFAULT_SEARCH_ENGINE=bing
web_searchSearch the web using one or more engines simultaneously.
{
"query": "rust async runtime",
"engines": ["bing", "duckduckgo"],
"limit": 10
}