mcpField
M
mcp-omnisearch

mcp-omnisearch

本地服务
github.com/spences10搜索与检索3591 天前更新

关于 mcp-omnisearch

mcp-omnisearch 是一个 MCP 服务,将 Tavily、Brave、Kagi、Exa、GitHub、Linkup 和 Firecrawl 统一到四个工具中。适合需要在单一接口中调用多个搜索与内容提取服务的用户,采用 MIT 许可证。

主要功能

  1. 01统一的 web_search 搜索工具
  2. 02AI 答案与研究类查询(ai_search)
  3. 03GitHub 代码、仓库与用户搜索
  4. 04网页提取、爬取与抓取(web_extract)
  5. 05未配置密钥的服务会被跳过

适用场景

  1. 01让 MCP 客户端同时调用多个搜索引擎
  2. 02获取带来源引用的 AI 答案
  3. 03从网页中提取正文或爬取站点内容

MCP 相关

该项目是 MCP 服务,向 MCP 客户端暴露 web_search、ai_search、github_search 和 web_extract 四个工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"omnisearch": {
"command": "npx",
"args": [
"-y",
"mcp-omnisearch"
]
}
}
}
启动命令npx -y mcp-omnisearch

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-omnisearch0.0.15

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-omnisearch

built with vite+ tested with vitest

一个 Model Context Protocol(MCP)服务,通过四个整合工具,统一接入 Tavily、Brave、Kagi、Exa AI、GitHub、Linkup 和 Firecrawl。

Glama 徽章

快速开始

使用 MCPick安装已发布的服务:

npx mcpick add \
  --name mcp-omnisearch \
  --command npx \
  --args=-y,mcp-omnisearch

MCPick 默认使用 Claude Code。使用 --client 和 --scope 指定其他客户端,或将服务添加到当前仓库:

npx mcpick add \
  --name mcp-omnisearch \
  --command npx \
  --args=-y,mcp-omnisearch \
  --client vscode \
  --scope project

有关支持的客户端和提供商凭据存储选项,请参阅部署。

也可以从源代码运行:

pnpm install
pnpm run build
node ./dist/index.js

没有密钥的提供商会被跳过,其余提供商仍可正常工作。如果你的客户端支持环境变量展开,请引用密钥,而不是将密钥值存储在 MCP 配置中:

{
	"mcpServers": {
		"mcp-omnisearch": {
			"command": "npx",
			"args": ["-y", "mcp-omnisearch"],
			"env": {
				"TAVILY_API_KEY": "${TAVILY_API_KEY}",
				"EXA_API_KEY": "${EXA_API_KEY}"
			}
		}
	}
}

只添加你要使用的提供商密钥。展开语法和密钥存储方式因客户端而异;有关安全选项和明文回退指南,请参阅 部署。

工具

web_search

使用 Tavily、Brave、Kagi 或 Exa 搜索网页。

{
	"query": "latest SvelteKit releases",
	"provider": "tavily",
	"limit": 10,
	"search_depth": "advanced",
	"topic": "news",
	"time_range": "month",
	"safe_search": true,
	"include_raw_content": false,
	"auto_parameters": false
}

搜索控制选项仅在所选提供商支持时生效。

ai_search

使用 Exa Answer、Linkup 或 Tavily Research 获取带来源的 AI 答案。 Tavily Research 会先返回任务 ID;将其作为 research_id 传回即可获取报告。

{
	"query": "Explain the differences between REST and GraphQL",
	"provider": "exa_answer"
}
github_search

搜索 GitHub 代码、仓库或用户。

{
	"query": "filename:remote.ts @sveltejs/kit",
	"search_type": "code",
	"limit": 5
}
web_extract

使用 Tavily、Firecrawl 或 Exa 提取、爬取、抓取内容或查找相似内容。

{
	"url": "https://example.com/long-article",
	"provider": "tavily",
	"mode": "extract",
	"extract_depth": "advanced",
	"query": "installation requirements",
	"chunks_per_source": 3,
	"format": "markdown"
}

文档

  • 提供商选择 — 根据任务、密钥、模式和功能选择提供商。
  • 搜索运算符 — 运算符支持矩阵和经过测试的示例。
  • 大型结果 — 内联与文件响应行为,以及远程部署注意事项。
  • 部署 — MCP 客户端、WSL 和 Firecrawl 设置。
  • 故障排除 — 密钥、访问、验证、速率限制和常见故障。

环境变量

  • TAVILY_API_KEY
  • KAGI_API_KEY
  • BRAVE_API_KEY
  • GITHUB_API_KEY
  • EXA_API_KEY
  • LINKUP_API_KEY
  • FIRECRAWL_API_KEY
  • FIRECRAWL_BASE_URL 可选,用于可自托管的 Firecrawl
  • OMNISEARCH_LARGE_RESULT_MODE 可选,默认值为 file,也可设为 inline

开发

pnpm install
pnpm run build
pnpm test

提交 PR 前,请阅读 CONTRIBUTING.md。

许可证

MIT 许可证 — 详见 LICENSE。

致谢

基于 Model Context Protocol、 Tavily、Kagi、 Brave Search、Exa AI、 Linkup 和 Firecrawl 构建。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。