这是一个使用 Search1API 提供搜索和爬取功能的模型上下文协议 (MCP) 服务器。
克隆仓库:
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 客户端的连接。
您需要让您的 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 文件)。请参阅下面的专用集成部分以获取完整说明。
本节详细介绍了通过 Docker 与 LibreChat 集成所需的步骤。
概述:
docker-compose.yml 可访问的位置。.env 文件方法在此服务器目录内配置所需的 API 密钥。librechat.yaml 告诉 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 工具
# 命令告诉 LibreChat 使用 'node'
command: node
# 参数指定了 'node' 要在容器内部运行的脚本
args:
- /app/mcp-server/search1api-mcp/build/index.js
args 路径(/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.yaml 中 args 路径使用的目录结构相匹配。重启 LibreChat:
通过重建(如果您修改了 docker-compose.yml)并重新启动您的 LibreChat 堆栈来应用更改。
docker compose down && docker compose up -d --build
# 或者:docker compose restart api(如果只有 librechat.yaml 发生变化)
现在,Search1API 服务器应该作为工具提供商在 LibreChat 内可用。
searchquery(必填):自然语言搜索查询。具体且简洁可获得更好的结果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")newsquery(必填):自然语言搜索查询。具体且简洁可获得更好的结果max_results(可选,默认值:1 0):返回的结果数量search_service(可选,默认值:"bing"):要使用的搜索引擎(google, bing, duckduckgo, yahoo, hackernews)crawl_results(可选,默认值:0):要爬取的完整网页内容结果数量include_sites(可选):要包含在搜索中的网站列表exclude_sites(可选):要排除在搜索中的网站列表time_range(可选):搜索结果的时间范围("day", "month", "year")crawlurl(必填):要爬取的 URLsitemapurl(必填):要获取站点地图的 URLreasoningcontent(必填):需要深度思考的问题或问题trendingsearch_service(必填):指定要获取趋势话题的平台(github, hackernews)max_results(可选,默认值:10):要返回的趋势项的最大数量.env 支持,并更新了依赖项。本项目根据 MIT 许可证授权 - 查看 LICENSE 文件以获取详细信息。 </中文翻译>