Search1API MCP Server

by fatwang2
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides configuration file location support for Claude Desktop on macOS

Search1API MCP 服务器

中文詳細

使用 Search1API 提供搜索和爬网功能的模型上下文协议 (MCP) 服务器。

先决条件

  • Node.js >= 18.0.0
  • 有效的 Search1API API 密钥(请参阅下面的设置指南,了解如何获取和配置)

安装(独立/通用)

  1. 克隆存储库:
    git clone https://github.com/fatwang2/search1api-mcp.git cd search1api-mcp
  2. **配置 API 密钥:构建之前,您需要提供您的 Search1API 密钥。请参阅下方的“设置指南”**部分,了解不同的方法(例如,使用.env文件或环境变量)。
  3. 安装依赖项并构建:
    npm install npm run build
    注意:如果使用项目的.env文件方法作为 API 密钥,请确保它在此步骤之前存在。

用法(独立/通用)

确保您的 API 密钥已配置(请参阅设置指南)。

启动服务器:

npm start

然后服务器将准备好接受来自 MCP 客户端的连接。

设置指南

1. 获取 Search1API 密钥

  1. Search1API注册
  2. 从您的仪表板获取您的 API 密钥。

2. 配置API密钥

您需要向服务器提供您的 API 密钥。请选择以下方法之一

方法A:项目.env文件(推荐用于独立或LibreChat)

如果与当前版本的 LibreChat 集成,则需要此方法(请参阅下面的具体部分)。

  1. search1api-mcp项目根目录中,创建一个名为.env的文件:
    # In the search1api-mcp directory echo "SEARCH1API_KEY=your_api_key_here" > .env
  2. your_api_key_here替换为您的实际密钥。
  3. 在运行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 集成所需的步骤。

概述:

  1. 将此服务器的存储库克隆到 LibreChat docker-compose.yml可访问的位置。
  2. 使用此服务器目录中的项目.env文件方法配置所需的 API 密钥。
  3. 构建此服务器。
  4. 通过编辑librechat.yaml告诉 LibreChat 如何运行此服务器。
  5. 确保构建的服务器代码可通过 Docker 卷绑定在 LibreChat 容器内使用。
  6. 重新启动 LibreChat。

步骤:

  1. **克隆存储库:**导航到主机上管理 LibreChat 外部服务的目录(通常与docker-compose.yml放在一起)。常见的位置是专用的mcp-server目录。
    # Example: Navigate to where docker-compose.yml lives, then into mcp-server cd /path/to/your/librechat/setup/mcp-server git clone https://github.com/fatwang2/search1api-mcp.git
  2. 导航到服务器目录:
    cd search1api-mcp
  3. 配置 API 密钥(项目.env文件方法 - LibreChat 必需):
    # Create the .env file echo "SEARCH1API_KEY=your_api_key_here" > .env # IMPORTANT: Replace 'your_api_key_here' with your actual Search1API key
  4. **安装依赖项并构建:**此步骤将服务器代码编译到build目录中。
    npm install npm run build
  5. **配置librechat.yaml**编辑主librechat.yaml文件,指定 LibreChat 如何执行此 MCP 服务器。在mcp_servers下添加以下条目:
    # In your main librechat.yaml mcp_servers: # You can add other MCP servers here too search1api: # Optional: Display name for the server in LibreChat UI # name: Search1API Tools # Command tells LibreChat to use 'node' command: node # Args specify the script for 'node' to run *inside the container* args: - /app/mcp-server/search1api-mcp/build/index.js
    • args路径( /app/... )是 LibreChat API 容器构建的服务器将被访问的位置(感谢下一步中的卷绑定)。
  6. **配置 Docker 卷绑定:**编辑docker-compose.yml文件(或者更可能是docker-compose.override.yml文件),将search1api-mcp目录从主机映射到 LibreChat API 容器中。找到api:服务的volumes:部分:
    # In your docker-compose.yml or docker-compose.override.yml services: api: # ... other service config ... volumes: # ... other volumes likely exist here ... # Add this volume bind: - ./mcp-server/search1api-mcp:/app/mcp-server/search1api-mcp
    • **主机路径 ( ./mcp-server/search1api-mcp ):**这是主机上相对于docker-compose.yml文件所在位置的路径。如果您将仓库克隆到其他地方,请调整此路径。
    • 容器路径( :/app/mcp-server/search1api-mcp ):这是容器内部的路径。它必须与librechat.yaml``args路径中使用的目录结构匹配
  7. **重新启动 LibreChat:**通过重建(如果您修改了docker-compose.yml )并重新启动 LibreChat 堆栈来应用更改。
    docker compose down && docker compose up -d --build # Or: docker compose restart api (if only librechat.yaml changed)

现在,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 (可选):搜索结果的时间范围(“日”、“月”、“年”)

2.新闻工具

  • 名称: news
  • 描述:使用 Search1API 搜索新闻文章
  • 参数:
    • query (必填):使用自然语言进行搜索查询。为了获得更好的结果,请具体、简洁地填写。
    • max_results (可选,默认值:10):返回的结果数
    • search_service (可选,默认值:“bing”):要使用的搜索服务(google、bing、duckduckgo、yahoo、hackernews)
    • crawl_results (可选,默认值:0):抓取完整网页内容的结果数
    • include_sites (可选):要包含在搜索中的网站列表
    • exclude_sites (可选):从搜索中排除的网站列表
    • time_range (可选):搜索结果的时间范围(“日”、“月”、“年”)

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 集成的 fallback .env支持并更新了依赖项。
  • v0.1.8:添加X(Twitter)和Reddit搜索服务
  • v0.1.7:添加了 GitHub 和 Hacker News 的趋势工具
  • v0.1.6:添加维基百科搜索服务
  • 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 文件。

ID: xwtv89gccu