mcp-omnisearch
A unified search MCP server: one interface to Tavily, Brave, Kagi, Exa, Linkup, Firecrawl and GitHub search
Medium risk
We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.
Why this level
- The server calls external search services with your keys
- The provider keys are secrets and some services are paid
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/mcp-omnisearchDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Run in a terminal
claude mcp add --transport stdio mcp-omnisearch -- npx -y mcp-omnisearch@0.1.0Or add to the file .mcp.json, in the project
{
"mcpServers": {
"mcp-omnisearch": {
"command": "npx",
"args": [
"-y",
"mcp-omnisearch@0.1.0"
]
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
TAVILY_API_KEYsecret, optional- Tavily API key
KAGI_API_KEYsecret, optional- Kagi API key
BRAVE_API_KEYsecret, optional- Brave Search API key
GITHUB_API_KEYsecret, optional- GitHub API token
EXA_API_KEYsecret, optional- Exa API key
LINKUP_API_KEYsecret, optional- Linkup API key
FIRECRAWL_API_KEYsecret, optional- Firecrawl API key
FIRECRAWL_BASE_URLoptional- Optional base URL for a self-hosted Firecrawl instance
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
The button opens the agent and offers to add the server. If nothing happens, copy the config below.
Add to the file ~/.cursor/mcp.json, for all projects
{
"mcpServers": {
"mcp-omnisearch": {
"command": "npx",
"args": [
"-y",
"mcp-omnisearch@0.1.0"
]
}
}
}If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.
Keys and settings
TAVILY_API_KEYsecret, optional- Tavily API key
KAGI_API_KEYsecret, optional- Kagi API key
BRAVE_API_KEYsecret, optional- Brave Search API key
GITHUB_API_KEYsecret, optional- GitHub API token
EXA_API_KEYsecret, optional- Exa API key
LINKUP_API_KEYsecret, optional- Linkup API key
FIRECRAWL_API_KEYsecret, optional- Firecrawl API key
FIRECRAWL_BASE_URLoptional- Optional base URL for a self-hosted Firecrawl instance
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
The button opens the agent and offers to add the server. If nothing happens, copy the config below.
Run in a terminal
code --add-mcp '{"name":"mcp-omnisearch","type":"stdio","command":"npx","args":["-y","mcp-omnisearch@0.1.0"]}'Or add to the file .vscode/mcp.json, in the project
{
"servers": {
"mcp-omnisearch": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-omnisearch@0.1.0"
]
}
}
}If the file already exists, add the server inside the servers key.
Keys and settings
TAVILY_API_KEYsecret, optional- Tavily API key
KAGI_API_KEYsecret, optional- Kagi API key
BRAVE_API_KEYsecret, optional- Brave Search API key
GITHUB_API_KEYsecret, optional- GitHub API token
EXA_API_KEYsecret, optional- Exa API key
LINKUP_API_KEYsecret, optional- Linkup API key
FIRECRAWL_API_KEYsecret, optional- Firecrawl API key
FIRECRAWL_BASE_URLoptional- Optional base URL for a self-hosted Firecrawl instance
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Run in a terminal
codex mcp add mcp-omnisearch -- npx -y mcp-omnisearch@0.1.0Or add to the file ~/.codex/config.toml, for all projects
[mcp_servers.mcp-omnisearch]
command = "npx"
args = ["-y", "mcp-omnisearch@0.1.0"]If the file already exists, append the block to the end.
Keys and settings
TAVILY_API_KEYsecret, optional- Tavily API key
KAGI_API_KEYsecret, optional- Kagi API key
BRAVE_API_KEYsecret, optional- Brave Search API key
GITHUB_API_KEYsecret, optional- GitHub API token
EXA_API_KEYsecret, optional- Exa API key
LINKUP_API_KEYsecret, optional- Linkup API key
FIRECRAWL_API_KEYsecret, optional- Firecrawl API key
FIRECRAWL_BASE_URLoptional- Optional base URL for a self-hosted Firecrawl instance
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.gemini/settings.json, for all projects
{
"mcpServers": {
"mcp-omnisearch": {
"command": "npx",
"args": [
"-y",
"mcp-omnisearch@0.1.0"
]
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
TAVILY_API_KEYsecret, optional- Tavily API key
KAGI_API_KEYsecret, optional- Kagi API key
BRAVE_API_KEYsecret, optional- Brave Search API key
GITHUB_API_KEYsecret, optional- GitHub API token
EXA_API_KEYsecret, optional- Exa API key
LINKUP_API_KEYsecret, optional- Linkup API key
FIRECRAWL_API_KEYsecret, optional- Firecrawl API key
FIRECRAWL_BASE_URLoptional- Optional base URL for a self-hosted Firecrawl instance
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.config/devin/mcp_config.json, for all projects
{
"mcpServers": {
"mcp-omnisearch": {
"command": "npx",
"args": [
"-y",
"mcp-omnisearch@0.1.0"
]
}
}
}If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.
Keys and settings
TAVILY_API_KEYsecret, optional- Tavily API key
KAGI_API_KEYsecret, optional- Kagi API key
BRAVE_API_KEYsecret, optional- Brave Search API key
GITHUB_API_KEYsecret, optional- GitHub API token
EXA_API_KEYsecret, optional- Exa API key
LINKUP_API_KEYsecret, optional- Linkup API key
FIRECRAWL_API_KEYsecret, optional- Firecrawl API key
FIRECRAWL_BASE_URLoptional- Optional base URL for a self-hosted Firecrawl instance
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Formerly Windsurf.
Add to the file cline_mcp_settings.json, for all projects
{
"mcpServers": {
"mcp-omnisearch": {
"command": "npx",
"args": [
"-y",
"mcp-omnisearch@0.1.0"
]
}
}
}If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.
Keys and settings
TAVILY_API_KEYsecret, optional- Tavily API key
KAGI_API_KEYsecret, optional- Kagi API key
BRAVE_API_KEYsecret, optional- Brave Search API key
GITHUB_API_KEYsecret, optional- GitHub API token
EXA_API_KEYsecret, optional- Exa API key
LINKUP_API_KEYsecret, optional- Linkup API key
FIRECRAWL_API_KEYsecret, optional- Firecrawl API key
FIRECRAWL_BASE_URLoptional- Optional base URL for a self-hosted Firecrawl instance
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file .roo/mcp.json, in the project
{
"mcpServers": {
"mcp-omnisearch": {
"command": "npx",
"args": [
"-y",
"mcp-omnisearch@0.1.0"
]
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
TAVILY_API_KEYsecret, optional- Tavily API key
KAGI_API_KEYsecret, optional- Kagi API key
BRAVE_API_KEYsecret, optional- Brave Search API key
GITHUB_API_KEYsecret, optional- GitHub API token
EXA_API_KEYsecret, optional- Exa API key
LINKUP_API_KEYsecret, optional- Linkup API key
FIRECRAWL_API_KEYsecret, optional- Firecrawl API key
FIRECRAWL_BASE_URLoptional- Optional base URL for a self-hosted Firecrawl instance
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
A fork of Roo Code, same .roo folders.
Add to the file opencode.json, in the project
{
"mcp": {
"mcp-omnisearch": {
"type": "local",
"command": [
"npx",
"-y",
"mcp-omnisearch@0.1.0"
]
}
}
}If the file already exists, add the server inside the mcp key.
Keys and settings
TAVILY_API_KEYsecret, optional- Tavily API key
KAGI_API_KEYsecret, optional- Kagi API key
BRAVE_API_KEYsecret, optional- Brave Search API key
GITHUB_API_KEYsecret, optional- GitHub API token
EXA_API_KEYsecret, optional- Exa API key
LINKUP_API_KEYsecret, optional- Linkup API key
FIRECRAWL_API_KEYsecret, optional- Firecrawl API key
FIRECRAWL_BASE_URLoptional- Optional base URL for a self-hosted Firecrawl instance
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.config/zed/settings.json, for all projects
{
"context_servers": {
"mcp-omnisearch": {
"command": "npx",
"args": [
"-y",
"mcp-omnisearch@0.1.0"
]
}
}
}If the file already exists, add the server inside the context_servers key.
Keys and settings
TAVILY_API_KEYsecret, optional- Tavily API key
KAGI_API_KEYsecret, optional- Kagi API key
BRAVE_API_KEYsecret, optional- Brave Search API key
GITHUB_API_KEYsecret, optional- GitHub API token
EXA_API_KEYsecret, optional- Exa API key
LINKUP_API_KEYsecret, optional- Linkup API key
FIRECRAWL_API_KEYsecret, optional- Firecrawl API key
FIRECRAWL_BASE_URLoptional- Optional base URL for a self-hosted Firecrawl instance
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file .codeassistant/mcp.json, in the project
{
"mcpServers": {
"mcp-omnisearch": {
"command": "npx",
"args": [
"-y",
"mcp-omnisearch@0.1.0"
]
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
TAVILY_API_KEYsecret, optional- Tavily API key
KAGI_API_KEYsecret, optional- Kagi API key
BRAVE_API_KEYsecret, optional- Brave Search API key
GITHUB_API_KEYsecret, optional- GitHub API token
EXA_API_KEYsecret, optional- Exa API key
LINKUP_API_KEYsecret, optional- Linkup API key
FIRECRAWL_API_KEYsecret, optional- Firecrawl API key
FIRECRAWL_BASE_URLoptional- Optional base URL for a self-hosted Firecrawl instance
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add the MCP server to your client via npx: command npx, args -y mcp-omnisearch. In the env block set keys only for the providers you use, for example TAVILY_API_KEY and EXA_API_KEY. Providers without a key are skipped.
Other ways from the author
{
"mcpServers": {
"mcp-omnisearch": {
"command": "npx",
"args": ["-y", "mcp-omnisearch"],
"env": {
"TAVILY_API_KEY": "${TAVILY_API_KEY}",
"EXA_API_KEY": "${EXA_API_KEY}"
}
}
}
}Set keys only for the providers you need; the rest are skipped. Prefer storing values through variable expansion.
This is third-party code. Review the repository files before installing.
What it does
The server gives the agent unified access to several search and extraction services through one MCP interface. It covers web search via Tavily, Brave, Kagi and Exa, answer-style ai search, search over GitHub code, repositories and users, and page content extraction via Firecrawl and Tavily. Each service needs its own key; providers without a key are skipped and the rest keep working. It installs via npx or builds from source, with keys set in the MCP configuration as environment variables.
Who it is for. For developers, analysts and writers who need web search and page extraction from inside the agent.
Good fit when
- You need web search from the agent across several providers
- You need to extract page text for further work
- You need search over GitHub code and repositories
Not a fit when
- You have no keys to any search service
- The agent's built-in web tool is enough
Example request
Search recent material on the topic via Tavily and extract the text of the two best pagesLimitations
The server itself is free, but the search services behind it need their own keys and run on their pricing and limits. The providers are external services, availability from some regions without a VPN is not guaranteed, and some need a paid account. The keys are secrets; keep them out of the config via variable expansion where the client supports it.
How to disable. Remove the mcp-omnisearch entry from your client's MCP configuration and delete the provider keys you set.
MCP
- Transport
- stdio
- Authentication
- API key
| Environment variables | |
|---|---|
| TAVILY_API_KEY secret | Tavily key for web search and page extraction |
| BRAVE_API_KEY secret | Brave Search key for web search |
| KAGI_API_KEY secret | Kagi key for search and answer tools |
| EXA_API_KEY secret | Exa key for web and ai search |
| FIRECRAWL_API_KEY secret | Firecrawl key for page content extraction |
| LINKUP_API_KEY secret | Linkup key for ai search |
| GITHUB_API_KEY secret | GitHub token for code, repository and user search |
Security check
- The server calls external search services with your keys
- The provider keys are secrets and some services are paid
README in short
The README describes an MCP server that offers unified access to several search services, ai tools and content extraction. It supports Tavily, Brave, Kagi, Exa, Linkup, Firecrawl and GitHub search, each with its own key, and providers without a key are skipped. Installation runs via npx or mcpick, with a build-from-source option. Keys are set in the MCP configuration as environment variables, and the README advises storing them through expansion. The tools web_search, ai_search, github_search and web_extract are documented. MIT licensed.
FAQ
Do I need keys for all services?
No, set keys only for the providers you need; the rest are skipped automatically.
How is the server installed?
Via npx with the mcp-omnisearch package, or by building from source with pnpm install and pnpm run build.
Related
CLI, skill and Python library for browser control: the agent clicks, fills forms and reads pages over CDP
A skill that gathers the last 30 days of discussion on a topic from Reddit, X, YouTube, HN, Polymarket and GitHub into one brief
The Chrome DevTools team's official MCP server: the agent drives a live Chrome, reads network and console, and records performance traces
A fast Rust CLI for agent browser automation: accessibility snapshots with element refs, an MCP server and skills