
mcp-omnisearch
🔍 一个模型上下文协议(MCP)服务器,提供对多个搜索引擎(Tavily、Brave、Kagi)、人工智能工具(Perplexity、FastGPT)和内容处理服务(Jina AI、Kagi)的统一访问。通过单一界面结合了搜索、人工智能响应、内容处理和增强功能。
Tools
tavily_search
Search the web using Tavily Search API. Best for factual queries requiring reliable sources and citations. Provides high-quality results for technical, scientific, and academic topics. Use when you need verified information with strong citation support.
brave_search
Privacy-focused search engine with good coverage of technical topics. Features independent index and strong privacy protections. Best for technical documentation, developer resources, and privacy-sensitive queries.
kagi_search
High-quality search results with minimal advertising influence, focused on authoritative sources. Features strong privacy protection and access to specialized knowledge indexes. Best for research, technical documentation, and finding high-quality content without SEO manipulation.
perplexity_search
AI-powered response generation combining real-time web search with advanced language models. Best for complex queries requiring reasoning and synthesis across multiple sources. Features contextual memory for follow-up questions.
kagi_fastgpt_search
Quick AI-generated answers with citations, optimized for rapid response (900ms typical start time). Runs full search underneath for enriched answers.
jina_reader_process
Convert any URL to clean, LLM-friendly text using Jina Reader API
kagi_summarizer_process
Instantly summarizes content of any type and length from URLs. Supports pages, videos, and podcasts with transcripts. Best for quick comprehension of long-form content and multimedia resources.
tavily_extract_process
Extract web page content from single or multiple URLs using Tavily Extract. Efficiently converts web content into clean, processable text with configurable extraction depth and optional image extraction. Returns both combined and individual URL content. Best for content analysis, data collection, and research.
firecrawl_scrape_process
Extract clean, LLM-ready data from single URLs with enhanced formatting options using Firecrawl. Efficiently converts web content into markdown, plain text, or structured data with configurable extraction options. Best for content analysis, data collection, and AI training data preparation.
firecrawl_crawl_process
Deep crawling of all accessible subpages on a website with configurable depth limits using Firecrawl. Efficiently discovers and extracts content from multiple pages within a domain. Best for comprehensive site analysis, content indexing, and data collection from entire websites.
firecrawl_map_process
Fast URL collection from websites for comprehensive site mapping using Firecrawl. Efficiently discovers all accessible URLs within a domain without extracting content. Best for site auditing, URL discovery, and preparing for targeted content extraction.
firecrawl_extract_process
Structured data extraction with AI using natural language prompts via Firecrawl. Extracts specific information from web pages based on custom extraction instructions. Best for targeted data collection, information extraction, and converting unstructured web content into structured data.
firecrawl_actions_process
Support for page interactions (clicking, scrolling, etc.) before extraction for dynamic content using Firecrawl. Enables extraction from JavaScript-heavy sites, single-page applications, and content behind user interactions. Best for accessing content that requires navigation, form filling, or other interactions.
jina_grounding_enhance
Real-time fact verification against web knowledge. Reduces hallucinations and improves content integrity through statement verification.
kagi_enrichment_enhance
Provides supplementary content from specialized indexes (Teclis for web, TinyGem for news). Ideal for discovering non-mainstream results and enriching content with specialized knowledge.
README
mcp-omnisearch
一个模型上下文协议 (MCP) 服务器,提供对多个搜索提供商和 AI 工具的统一访问。该服务器结合了 Tavily、Perplexity、Kagi、Jina AI、Brave 和 Firecrawl 的功能,通过一个单一的界面提供全面的搜索、AI 响应、内容处理和增强功能。
<a href="https://glama.ai/mcp/servers/gz5wgmptd8"> <img width="380" height="200" src="https://glama.ai/mcp/servers/gz5wgmptd8/badge" alt="Glama badge" /> </a>
功能
🔍 搜索工具
- Tavily 搜索: 针对事实信息进行优化,具有强大的引用支持。支持通过 API 参数(include_domains/exclude_domains)进行域名过滤。
- Brave 搜索: 注重隐私的搜索,具有良好的技术内容覆盖率。具有对搜索运算符的本地支持(site:, -site:, filetype:, intitle:, inurl:, before:, after: 和精确短语)。
- Kagi 搜索: 高质量的搜索结果,广告影响最小,专注于权威来源。支持查询字符串中的搜索运算符(site:, -site:, filetype:, intitle:, inurl:, before:, after: 和精确短语)。
🎯 搜索运算符
MCP Omnisearch 通过运算符和参数提供强大的搜索功能:
常用搜索功能
- 域名过滤:所有提供商均可用
- Tavily:通过 API 参数(include_domains/exclude_domains)
- Brave & Kagi:通过 site: 和 -site: 运算符
- 文件类型过滤:在 Brave 和 Kagi 中可用 (filetype:)
- 标题和 URL 过滤:在 Brave 和 Kagi 中可用 (intitle:, inurl:)
- 日期过滤:在 Brave 和 Kagi 中可用 (before:, after:)
- 精确短语匹配:在 Brave 和 Kagi 中可用 ("phrase")
使用示例
// 使用 Brave 或 Kagi 与查询字符串运算符
{
"query": "filetype:pdf site:microsoft.com typescript guide"
}
// 使用 Tavily 与 API 参数
{
"query": "typescript guide",
"include_domains": ["microsoft.com"],
"exclude_domains": ["github.com"]
}
提供商能力
- Brave 搜索: 查询字符串中的完整本地运算符支持
- Kagi 搜索: 查询字符串中的完整运算符支持
- Tavily 搜索: 通过 API 参数进行域名过滤
🤖 AI 响应工具
- Perplexity AI: 先进的响应生成,结合了实时网络搜索与 GPT-4 Omni 和 Claude 3
- Kagi FastGPT: 具有引用的快速 AI 生成答案(通常响应时间为 900 毫秒)
📄 内容处理工具
- Jina AI Reader: 干净的内容提取,具有图像字幕和 PDF 支持
- Kagi Universal Summarizer: 页面、视频和播客的内容摘要
- Tavily Extract: 从单个或多个网页提取原始内容,具有可配置的提取深度(“basic”或“advanced”)。返回组合内容和单个 URL 内容,以及包含字数统计和提取统计信息的元数据
- Firecrawl Scrape: 从单个 URL 提取干净的、LLM 就绪的数据,具有增强的格式化选项
- Firecrawl Crawl: 对网站上所有可访问的子页面进行深度爬取,具有可配置的深度限制
- Firecrawl Map: 从网站快速收集 URL,以进行全面的站点映射
- Firecrawl Extract: 使用自然语言提示通过 AI 进行结构化数据提取
- Firecrawl Actions: 支持在提取动态内容之前进行页面交互(点击、滚动等)
🔄 增强工具
- Kagi Enrichment API: 来自专门索引(Teclis、TinyGem)的补充内容
- Jina AI Grounding: 针对网络知识的实时事实验证
灵活的 API 密钥要求
MCP Omnisearch 旨在与您可用的 API 密钥一起使用。您不需要拥有所有提供商的密钥 - 服务器将自动检测哪些 API 密钥可用,并且仅启用这些提供商。
例如:
- 如果您只有 Tavily 和 Perplexity API 密钥,则只有这些提供商可用
- 如果您没有 Kagi API 密钥,则基于 Kagi 的服务将不可用,但所有其他提供商将正常工作
- 服务器将根据您配置的 API 密钥记录哪些提供商可用
这种灵活性使您可以轻松地从一两个提供商开始,并根据需要添加更多提供商。
配置
此服务器需要通过您的 MCP 客户端进行配置。以下是不同环境的示例:
Cline 配置
将其添加到您的 Cline MCP 设置:
{
"mcpServers": {
"mcp-omnisearch": {
"command": "node",
"args": ["/path/to/mcp-omnisearch/dist/index.js"],
"env": {
"TAVILY_API_KEY": "your-tavily-key",
"PERPLEXITY_API_KEY": "your-perplexity-key",
"KAGI_API_KEY": "your-kagi-key",
"JINA_AI_API_KEY": "your-jina-key",
"BRAVE_API_KEY": "your-brave-key",
"FIRECRAWL_API_KEY": "your-firecrawl-key"
},
"disabled": false,
"autoApprove": []
}
}
}
Claude Desktop with WSL 配置
对于 WSL 环境,将其添加到您的 Claude Desktop 配置:
{
"mcpServers": {
"mcp-omnisearch": {
"command": "wsl.exe",
"args": [
"bash",
"-c",
"TAVILY_API_KEY=key1 PERPLEXITY_API_KEY=key2 KAGI_API_KEY=key3 JINA_AI_API_KEY=key4 BRAVE_API_KEY=key5 FIRECRAWL_API_KEY=key6 node /path/to/mcp-omnisearch/dist/index.js"
]
}
}
}
环境变量
服务器使用每个提供商的 API 密钥。您不需要拥有所有提供商的密钥 - 只有与您可用的 API 密钥相对应的提供商才会被激活:
TAVILY_API_KEY
: 用于 Tavily 搜索PERPLEXITY_API_KEY
: 用于 Perplexity AIKAGI_API_KEY
: 用于 Kagi 服务(FastGPT、Summarizer、Enrichment)JINA_AI_API_KEY
: 用于 Jina AI 服务(Reader、Grounding)BRAVE_API_KEY
: 用于 Brave 搜索FIRECRAWL_API_KEY
: 用于 Firecrawl 服务(Scrape、Crawl、Map、Extract、Actions)
您可以从一两个 API 密钥开始,并根据需要稍后添加更多密钥。服务器将在启动时记录哪些提供商可用。
API
服务器实现了按类别组织的 MCP 工具:
搜索工具
search_tavily
使用 Tavily 搜索 API 搜索网络。最适合需要可靠来源和引用的事实查询。
参数:
query
(string, required): 搜索查询
示例:
{
"query": "量子计算的最新进展"
}
search_brave
注重隐私的网络搜索,具有良好的技术主题覆盖率。
参数:
query
(string, required): 搜索查询
示例:
{
"query": "rust 编程语言特性"
}
search_kagi
高质量的搜索结果,广告影响最小。最适合查找权威来源和研究材料。
参数:
query
(string, required): 搜索查询language
(string, optional): 语言过滤器(例如,“en”)no_cache
(boolean, optional): 绕过缓存以获取最新结果
示例:
{
"query": "机器学习的最新研究",
"language": "en"
}
AI 响应工具
ai_perplexity
具有实时网络搜索集成的 AI 驱动的响应生成。
参数:
query
(string, required): AI 响应的问题或主题
示例:
{
"query": "解释 REST 和 GraphQL 之间的区别"
}
ai_kagi_fastgpt
具有引用的快速 AI 生成答案。
参数:
query
(string, required): 快速 AI 响应的问题
示例:
{
"query": "TypeScript 的主要特性是什么?"
}
内容处理工具
process_jina_reader
将 URL 转换为干净的、LLM 友好的文本,并带有图像字幕。
参数:
url
(string, required): 要处理的 URL
示例:
{
"url": "https://example.com/article"
}
process_kagi_summarizer
总结 URL 中的内容。
参数:
url
(string, required): 要总结的 URL
示例:
{
"url": "https://example.com/long-article"
}
process_tavily_extract
使用 Tavily Extract 从网页提取原始内容。
参数:
url
(string | string[], required): 要从中提取内容的单个 URL 或 URL 数组extract_depth
(string, optional): 提取深度 - “basic”(默认)或“advanced”
示例:
{
"url": [
"https://example.com/article1",
"https://example.com/article2"
],
"extract_depth": "advanced"
}
响应包括:
- 来自所有 URL 的组合内容
- 每个 URL 的单独原始内容
- 包含字数统计、成功提取和任何失败 URL 的元数据
firecrawl_scrape_process
从单个 URL 提取干净的、LLM 就绪的数据,具有增强的格式化选项。
参数:
url
(string | string[], required): 要从中提取内容的单个 URL 或 URL 数组extract_depth
(string, optional): 提取深度 - “basic”(默认)或“advanced”
示例:
{
"url": "https://example.com/article",
"extract_depth": "basic"
}
响应包括:
- 干净的、markdown 格式的内容
- 包含标题、字数统计和提取统计信息的元数据
firecrawl_crawl_process
对网站上所有可访问的子页面进行深度爬取,具有可配置的深度限制。
参数:
url
(string | string[], required): 爬取的起始 URLextract_depth
(string, optional): 提取深度 - “basic”(默认)或“advanced”(控制爬取深度和限制)
示例:
{
"url": "https://example.com",
"extract_depth": "advanced"
}
响应包括:
- 来自所有爬取页面的组合内容
- 每个页面的单独内容
- 包含标题、字数统计和爬取统计信息的元数据
firecrawl_map_process
从网站快速收集 URL,以进行全面的站点映射。
参数:
url
(string | string[], required): 要映射的 URLextract_depth
(string, optional): 提取深度 - “basic”(默认)或“advanced”(控制映射深度)
示例:
{
"url": "https://example.com",
"extract_depth": "basic"
}
响应包括:
- 所有发现的 URL 列表
- 包含站点标题和 URL 计数的元数据
firecrawl_extract_process
使用自然语言提示通过 AI 进行结构化数据提取。
参数:
url
(string | string[], required): 要从中提取结构化数据的 URLextract_depth
(string, optional): 提取深度 - “basic”(默认)或“advanced”
示例:
{
"url": "https://example.com",
"extract_depth": "basic"
}
响应包括:
- 从页面提取的结构化数据
- 包含标题、提取统计信息的元数据
firecrawl_actions_process
支持在提取动态内容之前进行页面交互(点击、滚动等)。
参数:
url
(string | string[], required): 要与之交互并从中提取内容的 URLextract_depth
(string, optional): 提取深度 - “basic”(默认)或“advanced”(控制交互的复杂性)
示例:
{
"url": "https://news.ycombinator.com",
"extract_depth": "basic"
}
响应包括:
- 执行交互后提取的内容
- 执行的操作的描述
- 页面的屏幕截图(如果可用)
- 包含标题和提取统计信息的元数据
增强工具
enhance_kagi_enrichment
从专门索引获取补充内容。
参数:
query
(string, required): 用于丰富化的查询
示例:
{
"query": "新兴的网络技术"
}
enhance_jina_grounding
针对网络知识验证语句。
参数:
statement
(string, required): 要验证的语句
示例:
{
"statement": "TypeScript 向 JavaScript 添加了静态类型"
}
开发
设置
- 克隆存储库
- 安装依赖项:
pnpm install
- 构建项目:
pnpm run build
- 在开发模式下运行:
pnpm run dev
发布
- 更新 package.json 中的版本
- 构建项目:
pnpm run build
- 发布到 npm:
pnpm publish
故障排除
API 密钥和访问
每个提供商都需要自己的 API 密钥,并且可能具有不同的访问要求:
- Tavily: 需要来自其开发者门户的 API 密钥
- Perplexity: 通过其开发者计划进行 API 访问
- Kagi: 某些功能仅限于 Business (Team) 计划用户
- Jina AI: 所有服务都需要 API 密钥
- Brave: 来自其开发者门户的 API 密钥
- Firecrawl: 需要来自其开发者门户的 API 密钥
速率限制
每个提供商都有自己的速率限制。服务器将优雅地处理速率限制错误并返回适当的错误消息。
贡献
欢迎贡献!请随时提交 Pull Request。
许可证
MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。
致谢
构建于:
推荐服务器

Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。