mcp-omnisearch
统一封装4大搜索服务的MCP服务器,让AI助手实时搜索全网
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
统一封装4大搜索服务的MCP服务器,让AI助手实时搜索全网
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你是否遇到过这种情况:向 Claude 或 Cursor 提问一个需要最新资讯的问题,AI 给出了一本正经的"幻觉"答案?
这背后的原因是:大语言模型的训练数据有截止日期,而真实世界的信息每天都在更新。RAG(检索增强生成)技术可以帮 AI 读取本地知识库,但如何让 AI 实时搜索整个互联网?mcp-omnisearch 正是为了解决这一痛点而生。

图 1:mcp-omnisearch 项目 GitHub Open Graph 图(来源:GitHub)
MCP(Model Context Protocol)是 Anthropic 在 2024 年底开源的AI 工具插拔标准协议。你可以把它理解为 AI 世界的"USB 接口"——无论是什么品牌的 AI 助手,只要支持 MCP,就能像连接 USB 设备一样,无缝接入任何实现了 MCP 协议的外部工具。
传统方式下,为每个 AI 产品单独适配搜索工具需要大量开发工作。MCP 的出现改变了这一格局:开发者只需实现一次 MCP 服务器,全球所有支持 MCP 的 AI 客户端都能直接使用。
mcp-omnisearch 的核心价值在于统一抽象。传统方案中,如果你的 AI 应用需要同时使用 Tavily 搜索、Falcrawl 爬虫、Kagi 检索,就需要分别集成三个 SDK,配置三套 API 密钥。
mcp-omnisearch 将这些异构服务统一封装为 4 个标准化工具,开发者只需学习一套接口,后端可以随时切换服务商而无需修改 AI 应用代码。
web_search:多引擎融合的网页搜索这是使用频率最高的工具。通过统一接口访问 Tavily、Brave、Kagi、Exa 四大搜索服务,每个引擎各有特色:
site:example.com),结果贴近 Google 体验filetype: 和 before:/after: 日期筛选使用示例——用 Brave 搜索 SvelteKit 相关文档:
{
"query": "sveltekit remote functions site:docs.svelte.dev",
"provider": "brave",
"limit": 10
}
ai_search:带来源的 AI 答案生成这不是简单的搜索,而是搜索 + AI 理解的融合。调用的底层服务包括:
当用户问"REST 和 GraphQL 有什么区别"时,ai_search 不仅返回网页链接,还会生成一段综合多个来源的、有来源标注的 AI 回答。
github_search:直接在 AI 里搜索 GitHub开发者最爱的功能。无需离开 AI 对话窗口,就能搜索 GitHub 代码仓库、Issue 和用户。
{
"query": "filename:remote.ts @sveltejs/kit",
"search_type": "code",
"limit": 5
}
web_extract:深度内容提取与网页抓取如果搜索结果中的某个链接包含长文章,web_extract 可以直接抓取、总结相似内容推荐或提取目标页面的核心信息。支持 Tavily、Kagi、Falcrawl、Exa 四大提供商,并可选择不同的处理模式(全文、抓取、总结、找相似内容)。
mcp-omnisearch 使用 TypeScript 开发,依赖管理工具为 pnpm,构建工具是 vite-plus。项目严格遵循 MCP 协议规范,使用 @modelcontextprotocol/sdk 官方 SDK 的 TypeScript 版本 tmcp。
核心依赖:
tmcp:MCP 协议的 TypeScript 实现(取代了早期的 @modelcontextprotocol/sdk)@tmcp/adapter-valibot:使用 Valibot 进行请求参数的 Schema 验证@tmcp/transport-stdio:stdio 传输层,这是 MCP 服务器的标准通信方式octokit:GitHub 官方 API 客户端,用于 GitHub 搜索功能valibot:轻量级 Schema 验证库(比 Zod 小约 10 倍)源码位于 src/ 目录,核心模块包括:
src/index.ts:入口文件,负责初始化 McpServer 实例、注册工具和错误处理src/config/env.ts:环境变量验证模块src/server/tools/:四大工具的具体实现src/server/handlers.ts:MCP 请求处理器项目提供了两种部署路径:
方式 A:直接运行(适合本地开发)
pnpm install
pnpm run build
node ./dist/index.js
要求 Node.js >= 22.0.0,在 MCP Client 的配置文件中注册即可使用。
方式 B:Docker 容器(适合生产部署)
docker-compose up -d
Dockerfile 基于 Node.js 24 Alpine 镜像,通过 envsubst 注入环境变量,并使用 mcpo 工具将 MCP 服务器转换为 HTTP/OpenAPI 接口,这意味着部署后不仅支持 stdio 协议,还能通过 REST API 访问——兼容 OpenWebUI 等 HTTP 优先的工具。
项目对新手相当友好。只需配置自己拥有的 API 密钥,缺失的密钥不会导致启动失败,只是对应提供商被静默跳过。validate_config() 模块会在启动时检查已配置的密钥有效性,避免运行时才发现认证失败。
推荐使用:
不适合场景:
| 特性 | mcp-omnisearch | Tavily MCP | Brave Search MCP |
|---|---|---|---|
| 搜索提供商数 | 4+ | 1 | 1 |
| AI 答案生成 | ✅ 3种 | ❌ | ❌ |
| GitHub 搜索 | ✅ | ❌ | ❌ |
| 网页抓取 | ✅ 4种 | ✅ | ❌ |
| HTTP/OpenAPI | ✅ | ❌ | ❌ |
| 开源 | ✅ MIT | ❌ | ❌ |
根据 GitHub 数据,项目于 2025 年 3 月创建,至今已有 325 次提交,保持高频迭代。当前在 Awesome MCP Servers 列表中排名靠前,社区已出现多个 fork 定制版本(如专为 Msty Studio 优化的 cld-omnisearch)。
一句话评价:mcp-omnisearch 是目前功能最全面的 MCP 搜索套件,通过统一接口封装多个顶级搜索服务,解决了 AI 实时联网的核心需求。
适用人群: 所有使用支持 MCP 协议 AI 工具(如 Claude Desktop、Cursor)的开发者,尤其是需要 AI 辅助编程、技术调研和内容创作的用户。
部署建议: Docker Compose 方式最省心,一行命令即可运行;HTTP 模式部署后还能与 OpenWebUI 等生态工具无缝集成。
局限性: 依赖第三方付费 API,无免费套餐;作为 MCP 服务器需要配合 MCP Client 使用,不是一个独立的 Web 应用。