Search1API-MCP-服务
Search1API 官方 MCP 服务,一个 API 里实现搜索和爬虫。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"search1api": {
"args": [
"-y",
"search1api-mcp"
],
"command": "npx",
"env": {
"SEARCH1API_KEY": "YOUR_SEARCH1API_KEY"
}
}
}
}
该服务需要配置环境变量:SEARCH1API_KEY
可用工具 (6 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
search 7 个参数 需填 1 项
Web search tool
必填参数:query
news 7 个参数 需填 1 项
News search tool
必填参数:query
crawl 1 个参数 需填 1 项
Extract content from URL
必填参数:url
sitemap 1 个参数 需填 1 项
Get all related links from a URL
必填参数:url
reasoning 1 个参数 需填 1 项
Deep thinking and complex problem solving
必填参数:content
trending 2 个参数 需填 1 项
Get trending topics from popular platforms
必填参数:search_service
服务介绍
Search1API MCP 服务
Search1API 官方 MCP 服务,一个 API 里实现搜索和爬虫。
先决条件
- Node.js >= 18.0.0
- 一个有效的 Search1API API 密钥 (请参阅下面的 设置指南 了解如何获取和配置)
安装 (独立 / 通用)
-
克隆仓库:
git clone https://github.com/fatwang2/search1api-mcp.git cd search1api-mcp -
配置 API 密钥: 在构建之前,您需要提供您的 Search1API 密钥。请参阅下面的 设置指南 部分了解不同的方法 (例如,使用
.env文件或环境变量)。 -
安装依赖并构建:
npm install npm run build注意: 如果使用项目
.env文件方法配置 API 密钥,请确保在执行此步骤之前该文件已存在。
使用 (独立 / 通用)
确保您的 API 密钥已配置 (请参阅 设置指南)。
启动服务:
npm start
服务随后将准备好接受来自 MCP 客户端的连接。
设置指南
1. 获取 Search1API 密钥
- 在 Search1API 注册
- 从您的仪表板获取 API 密钥。
2. 配置 API 密钥
您需要让服务能够访问您的 API 密钥。选择以下 一种 方法:
方法 A: 项目 .env 文件 (推荐用于独立使用或 LibreChat)
如果与当前版本的 LibreChat 集成,则必须使用此方法 (请参阅下面的特定部分)。
- 在
search1api-mcp项目根目录中,创建一个名为.env的文件:# 在 search1api-mcp 目录中 echo "SEARCH1API_KEY=your_api_key_here" > .env - 将
your_api_key_here替换为您的实际密钥。 - 请确保在运行
npm install && npm run build之前 此文件已存在。
方法 B: 环境变量 (仅限独立使用)
在启动服务之前设置 SEARCH1API_KEY 环境变量。
export SEARCH1API_KEY="your_api_key_here"
npm start
方法 C: MCP 客户端配置 (高级)
一些 MCP 客户端允许直接在其配置中指定环境变量。这对于像 Cursor、VS Code 扩展等客户端很有用。
{
"mcpServers": {
"search1api": {
"command": "npx",
"args": [
"-y",
"search1api-mcp"
],
"env": {
"SEARCH1API_KEY": "YOUR_SEARCH1API_KEY"
}
}
}
}
LibreChat 用户请注意: 由于 LibreChat 当前的限制,方法 A (项目 .env 文件) 是 必需的 方法。请参阅下面的专用集成部分以获取完整说明。
与 LibreChat 集成 (Docker)
本节详细介绍了通过 Docker 与 LibreChat 集成的必要步骤。
概述:
- 将此服务的仓库克隆到 LibreChat
docker-compose.yml可访问的位置。 - 在此服务目录中使用 项目
.env文件方法 配置所需的 API 密钥。 - 构建此服务。
- 通过编辑
librechat.yaml告知 LibreChat 如何运行此服务。 - 确保通过 Docker 卷绑定使构建的服务代码在 LibreChat 容器内可用。
- 重启 LibreChat。
分步说明:
-
克隆仓库:
导航到您的宿主机上管理 LibreChat 外部服务的目录 (通常与docker-compose.yml放在一起)。一个常见的位置是专用的mcp-server目录。# 示例: 导航到 docker-compose.yml 所在目录,然后进入 mcp-server cd /path/to/your/librechat/setup/mcp-server git clone https://github.com/fatwang2/search1api-mcp.git -
进入服务目录:
cd search1api-mcp -
配置 API 密钥 (项目
.env文件方法 - LibreChat 必需):# 创建 .env 文件 echo "SEARCH1API_KEY=your_api_key_here" > .env # 重要: 将 'your_api_key_here' 替换为您的实际 Search1API 密钥 -
安装依赖并构建:
此步骤将服务代码编译到build目录中。npm install npm run build -
配置
librechat.yaml:
编辑您的主librechat.yaml文件,告知 LibreChat 如何执行此 MCP 服务。在mcp_servers下添加一个条目:# 在您的主 librechat.yaml 中 mcp_servers: # 您也可以在此处添加其他 MCP 服务 search1api: # 可选: 服务在 LibreChat UI 中的显示名称 # name: Search1API 工具 # command 告知 LibreChat 使用 'node' command: node # args 指定 'node' 在 *容器内* 运行的脚本 args: - /app/mcp-server/search1api-mcp/build/index.jsargs路径 (/app/...) 是构建的服务在 LibreChat API 容器内部被访问的位置 (通过下一步的卷绑定实现)。
-
配置 Docker 卷绑定:
编辑您的docker-compose.yml(或者更可能是docker-compose.override.yml),将宿主机上的search1api-mcp目录映射到 LibreChat API 容器内。找到api:服务的volumes:部分:# 在您的 docker-compose.yml 或 docker-compose.override.yml 中 services: api: # ... 其他服务配置 ... volumes: # ... 其他卷可能已存在于此 ... # 添加此卷绑定: - ./mcp-server/search1api-mcp:/app/mcp-server/search1api-mcp- 宿主机路径 (
./mcp-server/search1api-mcp): 这是宿主机上相对于docker-compose.yml文件位置的路径。如果您将仓库克隆到其他地方,请相应调整。 - 容器路径 (
:/app/mcp-server/search1api-mcp): 这是容器内部的路径。它必须匹配librechat.yamlargs路径中使用的目录结构。
- 宿主机路径 (
-
重启 LibreChat:
通过重建 (如果您修改了docker-compose.yml) 和重启您的 LibreChat 堆栈来应用更改。docker compose down && docker compose up -d --build # 或者: docker compose restart api (如果仅更改了 librechat.yaml)
现在,Search1API 服务应该可以在 LibreChat 中作为工具提供者使用了。
功能特点
- 网页搜索
- 新闻搜索
- 网页内容提取
- 网站站点地图提取
- 使用 DeepSeek R1 进行深度思考和复杂问题解决
- 可以在 Claude Desktop、Cursor、Windsurf、Cline 等 MCP 客户端安装使用
工具
1. 搜索工具
- 名称:
search - 描述:使用 Search1API 搜索网页
- 参数:
query(必需):用自然语言描述的搜索查询。请具体且简洁以获得更好的结果max_results(可选,默认值:10):返回结果的数量search_service(可选,默认值:"google"):使用的搜索服务(google、bing、duckduckgo、yahoo、x、reddit、github、youtube、arxiv、wechat、bilibili、imdb、wikipedia)crawl_results(可选,默认值:0):需要爬取完整网页内容的结果数量include_sites(可选):搜索结果中要包含的网站列表exclude_sites(可选):搜索结果中要排除的网站列表time_range(可选):搜索结果的时间范围("day"、"month"、"year")
2. 新闻工具
- 名称:
news - 描述:使用 Search1API 搜索新闻文章
- 参数:
query(必需):用自然语言描述的搜索查询。请具体且简洁以获得更好的结果max_results(可选,默认值:10):返回结果的数量search_service(可选,默认值:"bing"):使用的搜索服务(google、bing、duckduckgo、yahoo、hackernews)crawl_results(可选,默认值:0):需要爬取完整网页内容的结果数量include_sites(可选):搜索结果中要包含的网站列表exclude_sites(可选):搜索结果中要排除的网站列表time_range(可选):搜索结果的时间范围("day"、"month"、"year")
3. 爬虫工具
- 名称:
crawl - 描述:使用 Search1API 提取 URL 内容
- 参数:
url(必需):要爬取的 URL
4. 站点地图工具
- 名称:
sitemap - 描述:获取 URL 的所有相关链接
- 参数:
url(必需):获取站点地图的 URL
5. 推理工具
- 名称:
reasoning - 描述:使用快速的 deepseek r1 模型和网络搜索能力进行深度思考和复杂问题解决(您可以在 search1api 网站上更换其他模型,但速度可能会受影响)
- 参数:
content(必需):需要深度思考的问题或难题
6. 热榜工具
- 名称:
trending - 描述:获取流行平台的热门话题
- 参数:
search_service(必需):指定获取热门话题的平台(github、hackernews)max_results(可选,默认值:10):返回的热门项目数量
版本历史
- v0.2.0: 为 LibreChat 集成添加了回退
.env支持并更新了依赖项。 - v0.1.8: 新增对 X (Twitter)、Reddit 搜索服务支持
- v0.1.7: 添加热榜工具,目前支持 GitHub 和 Hacker News 榜单
- v0.1.6: 添加 Wikipedia 搜索服务
- v0.1.5: 添加了新的搜索参数 (include_sites、exclude_sites、time_range) 和新的搜索服务 (arxiv、wechat、bilibili、imdb)
- v0.1.4: 添加了使用 deepseek r1 的推理工具,并更新了 Cursor 和 Windsurf 配置指南
- v0.1.3: 添加了新闻搜索功能
- v0.1.2: 添加了站点地图功能
- v0.1.1: 添加了网页爬取功能
- v0.1.0: 首次发布,具有搜索功能
许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。