A blazing-fast MCP (Model Context Protocol) server for multi-engine web search, written in Rust.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"ferris-search": {
"env": {
"DEFAULT_SEARCH_ENGINE": "bing"
},
"command": "/Users/<you>/.cargo/bin/ferris-search"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A blazing-fast MCP server for multi-engine web search, written in Rust.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in search
Web and local search using Brave Search API
Production ready MCP server with real-time search, extract, map & crawl.
An autonomous agent that conducts deep research on any data using any LLM providers
MCP server for local codebase indexing, semantic search, and code dependency graphs.
MCP Security Weekly
Get CVE alerts and security updates for Ferris Search and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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-se
... [View full README on GitHub](https://github.com/lispking/ferris-search#readme)