一个模型上下文协议(MCP)服务器,提供对多个搜索提供商和AI工具的统一访问。该服务器结合了Tavily、Perplexity、Kagi、Jina AI、Brave、Exa AI和Firecrawl的能力,通过单一接口提供全面的搜索、AI响应、内容处理和增强功能。
<a href="https://glama.ai/mcp/servers/gz5wgmptd8"> <img width="380" height="200" src="https://gips3.baidu.com/it/u=3136212195,221163637&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Glama 徽章" /> </a>site:、-site:、filetype:/ext:、intitle:、inurl:、inbody:、inpage:、lang:、loc:、before:、after:、+term、-term 和精确短语 ("phrase").site:、-site:、filetype:/ext:、intitle:、inurl:、inbody:、inpage:、lang:、loc:、before:、after:、+term、-term 和精确短语 ("phrase").filename:、path:、repo:、user:、language:、in:file)MCP Omnisearch通过操作符和参数提供了强大的搜索能力:
Brave & Kagi 操作符(用于查询字符串):
site:example.com,-site:example.comfiletype:pdf 或 ext:pdfintitle:term,inurl:term,inbody:term,inpage:termlang:en(ISO 639-1 代码)loc:us(ISO 3166-1 代码)before:2024,after:2024-01-01"exact phrase"+required,-excludedTavily(仅限API参数):
include_domains,exclude_domains// Brave/Kagi: 查询中的高级操作符
{
"query": "filetype:pdf lang:en site:microsoft.com +typescript -javascript",
"provider": "brave"
}
// Brave/Kagi: 搜索gist
{
"query": "site:gist.github.com claude code settings",
"provider": "brave"
}
// Tavily: API参数用于域名过滤
{
"query": "typescript guide",
"provider": "tavily",
"include_domains": ["microsoft.com"]
}
filename:remote.ts - 查找特定文件path:src/lib - 在特定目录内搜索repo:user/repo - 在特定仓库内搜索user:username - 在用户的仓库内搜索language:typescript - 按编程语言筛选in:file "export function" - 在文件内搜索文本MCP Omnisearch设计为与您可用的API密钥一起工作。您不需要拥有所有提供商的密钥——服务器会自动检测哪些API密钥可用并仅启用那些提供商。
例如:
这种灵活性使得只需一两个提供商即可轻松开始,并根据需要添加更多。
此服务器需要通过您的MCP客户端进行配置。以下是不同环境下的示例:
在您的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",
"GITHUB_API_KEY": "your-github-key",
"EXA_API_KEY": "your-exa-key",
"FIRECRAWL_API_KEY": "your-firecrawl-key",
"FIRECRAWL_BASE_URL": "http://localhost:3002"
},
"disabled": false,
"autoApprove": []
}
}
}
对于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 GITHUB_API_KEY=key6 EXA_API_KEY=key7 FIRECRAWL_API_KEY=key8 FIRECRAWL_BASE_URL=http://localhost:3002 node /path/to/mcp-omnisearch/dist/index.js"
]
}
}
}
服务器使用每个提供商的API密钥。您不需要所有提供商的密钥——只有对应于您可用API密钥的提供商会被激活:
TAVILY_API_KEY:用于Tavily搜索PERPLEXITY_API_KEY:用于Perplexity AIKAGI_API_KEY:用于Kagi服务(FastGPT、摘要器、增强)JINA_AI_API_KEY:用于Jina AI服务(阅读器、接地)BRAVE_API_KEY:用于Brave搜索GITHUB_API_KEY:用于GitHub搜索服务(代码、仓库、用户搜索)EXA_API_KEY:用于Exa AI服务(搜索、答案、内容、相似)FIRECRAWL_API_KEY:用于Firecrawl服务(抓取、深度抓取、地图、结构化数据提取、页面交互)FIRECRAWL_BASE_URL:用于自托管的Firecrawl实例(可选,默认为Firecrawl云服务)您可以先从一两个API密钥开始,以后根据需要添加更多。服务器启动时会记录哪些提供商可用。
要使用GitHub搜索功能,您需要一个具有仅公共仓库访问权限的安全GitHub个人访问令牌:
转到GitHub设置:导航至 GitHub 设置 > 开发者设置 > 个人访问令牌
创建新令牌:点击“生成新令牌” → “生成新令牌(经典)”
配置令牌设置:
名称:MCP Omnisearch - 公共搜索
过期时间:选择您偏好的过期时间(建议90天)
范围:取消勾选所有复选框
⚠️ 重要:不要选择任何范围。空范围令牌只能访问公共仓库和个人资料,这正是我们想要的搜索功能。
生成并复制:点击“生成令牌”并立即复制令牌
添加到环境:设置 GITHUB_API_KEY=your_token_here
安全注意事项:
如果您正在运行自托管的Firecrawl实例,可以通过设置FIRECRAWL_BASE_URL环境变量来配置MCP Omnisearch使用它。这允许您完全控制数据处理管道。
自托管Firecrawl设置:
http://localhost:3002)FIRECRAWL_BASE_URL=http://localhost:3002
# 或对于远程自托管实例:
FIRECRAWL_BASE_URL=https://your-firecrawl-domain.com
重要说明:
FIRECRAWL_BASE_URL,MCP Omnisearch将默认使用Firecrawl云服务/v1/scrape,/v1/crawl等)FIRECRAWL_API_KEY服务器实现了按类别组织的MCP工具:
使用Tavily搜索API进行网络搜索。最适合需要可靠来源和引用的事实查询。
参数:
query(字符串,必需):搜索查询示例:
{
"query": "量子计算最新进展"
}
隐私优先的网络搜索,涵盖技术主题广泛。
参数:
query(字符串,必需):搜索查询示例:
{
"query": "Rust 编程语言特性"
}
广告影响最小的高质量搜索结果。最适合寻找权威来源和研究材料。
参数:
query(字符串,必需):搜索查询language(字符串,可选):语言过滤器(例如,“en”)no_cache(布尔值,可选):绕过缓存以获得新鲜结果示例:
{
"query": "机器学习最新研究",
"language": "en"
}
使用高级语法在GitHub上搜索代码。此工具搜索公共存储库中的文件内容,并提供带有元数据的代码片段。
参数:
query(字符串,必需):带有GitHub搜索语法的搜索查询limit(数字,可选):最大结果数量(1-50,默认:10)示例:
{
"query": "filename:remote.ts @sveltejs/kit",
"limit": 5
}
高级查询示例:
"filename:config.json path:src" - 在src目录中查找config.json文件"function fetchData language:typescript" - 查找TypeScript中的fetchData函数"repo:microsoft/vscode extension" - 在特定仓库中搜索"user:torvalds language:c" - 在用户仓库中搜索C代码发现GitHub仓库,带有增强的元数据,包括星数、分支、语言和最后更新信息。
参数:
query(字符串,必需):仓库搜索查询limit(数字,可选):最大结果数量(1-50,默认:10)sort(字符串,可选):按“星数”、“分支”或“更新”排序结果示例:
{
"query": "sveltekit 远程函数",
"sort": "stars",
"limit": 5
}
查找GitHub用户和组织,带有个人资料信息。
参数:
query(字符串,必需):用户/组织搜索查询limit(数字,可选):最大结果数量(1-50,默认:10)示例:
{
"query": "Rich-Harris",
"limit": 3
}
使用神经网络和关键词搜索的AI驱动的网络搜索。自动选择传统关键词搜索或Exa的嵌入式模型,以找到最相关的查询结果。
参数:
query(字符串,必需):搜索查询limit(数字,可选):最大结果数量(1-100,默认:10)include_domains(数组,可选):仅包含这些域的结果exclude_domains(数组,可选):排除这些域的结果示例:
{
"query": "最新的人工智能研究论文",
"limit": 15,
"include_domains": ["arxiv.org", "scholar.google.com"]
}
具有实时网络搜索集成的AI驱动响应生成。
参数:
query(字符串,必需):AI响应的问题或主题示例:
{
"query": "解释REST和GraphQL之间的区别"
}
快速生成带有引用的AI答案。
参数:
query(字符串,必需):快速AI响应的问题示例:
{
"query": "TypeScript的主要特性是什么?"
}
使用Exa答案API直接获取问题的AI生成答案。
参数:
query(字符串,必需):AI响应的问题include_domains(数组,可选):仅包含这些域的来源exclude_domains(数组,可选):排除这些域的来源示例:
{
"query": "机器学习是如何工作的?",
"include_domains": ["arxiv.org", "nature.com"]
}
将URL转换为适合LLM的干净文本,带有图像字幕。
参数:
url(字符串,必需):要处理的URL示例:
{
"url": "https://example.com/article"
}
从URL中总结内容。
参数:
url(字符串,必需):要总结的URL示例:
{
"url": "https://example.com/长文章"
}
使用Tavily Extract从网页中提取原始内容。
参数:
url(字符串 | 字符串数组,必需):要提取内容的单个URL或URL数组extract_depth(字符串,可选):提取深度 - '基本'(默认)或'高级'示例: