Discover MCPs & agents
Loading MCPs and agentsβ¦
Loading MCPs and agentsβ¦
π A Model Context Protocol (MCP) server providing unified access to multiple search engines (Tavily, Brave, Kagi, Exa), AI tools (Kagi FastGPT, Exa, Linkup), and content extraction services (Firecrawl, Tavily, Kagi). Includes GitHub search. All through a single interface.
Fetched from the repository for this visit.
A Model Context Protocol (MCP) server for Tavily, Brave, Kagi, Exa,
GitHub, Linkup, and Firecrawl. Two tools, search and execute,
expose schema-generated native provider functions through Pi's local
QuickJS sandbox. Requires Node.js 22.19+.
Install the published server with MCPick:
npx mcpick add \
--name mcp-omnisearch \
--command npx \
--args=-y,mcp-omnisearch
MCPick defaults to Claude Code. Use --client and --scope to target
another client or add the server to the current repository:
npx mcpick add \
--name mcp-omnisearch \
--command npx \
--args=-y,mcp-omnisearch \
--client vscode \
--scope project
See Deployment for supported clients and provider credential storage options.
To run from source instead:
pnpm install
pnpm run build
node ./dist/index.js
Providers without keys are skipped and the rest keep working. If your client supports environment-variable expansion, reference keys instead of storing their values in the MCP configuration:
{
"mcpServers": {
"mcp-omnisearch": {
"command": "npx",
"args": ["-y", "mcp-omnisearch"],
"env": {
"TAVILY_API_KEY": "${TAVILY_API_KEY}",
"EXA_API_KEY": "${EXA_API_KEY}"
}
}
}
}
Add only the provider keys you use. Expansion syntax and secret storage are client-specific; see Deployment for secure options and plaintext fallback guidance.
searchDiscover available functions and their compact TypeScript declarations. A provider-scoped lookup returns names and schemas together:
{ "query": "tavily" }
Use an exact name such as tavily_search for a smaller lookup, or
{} for a catalog without declarations. Only configured providers
appear.
executeRun JavaScript against the discovered native provider functions:
{
"code": "const r = await tools.tavily_search({ query: 'MCP code mode', max_results: 3 }); return r.results.map(({ title, url }) => ({ title, url }));"
}
Compose calls with await and Promise.all, filter intermediate
data, and return only what the client needs. Credentials stay on the
host; the sandbox has no filesystem or arbitrary network access.
Arguments and responses use native provider formats, not a normalized
search contract. See
Code Mode
for functions, limits and benchmark findings.
The consolidated web_search, ai_search, web_extract and
github_search tools have been removed. Provider keys stay the same,
but existing tool calls and client instructions need migration. See
the
breaking-change migration guide.
TAVILY_API_KEYKAGI_API_KEYBRAVE_API_KEYGITHUB_API_KEYEXA_API_KEYLINKUP_API_KEYFIRECRAWL_API_KEYFIRECRAWL_BASE_URL optional, for self-hosted FirecrawlOMNISEARCH_LARGE_RESULT_MODE optional, file default or inlinepnpm install
pnpm run build
pnpm test
Please read CONTRIBUTING.md before opening a PR.
MIT License - see LICENSE.
Built on Model Context Protocol, Tavily, Kagi, Brave Search, Exa AI, Linkup, and Firecrawl.
Loading reviews...
GitHub checked 142h ago - refresh overdue. Recently viewed repositories target hourly refresh.
Replace {MCP_ENDPOINT_URL} with this MCPβs endpoint URL (from its repo or docs above). Connect directly and complete any provider authentication separately; this is not platform-key access.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "{MCP_ENDPOINT_URL}"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.