返回市场
搜索1api-mcp

搜索1api-mcp

作者:fatwang2158 星标更新:2025-04-06

项目介绍

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 的文件:
    # 在 search1api-mcp 目录中
    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 目录。

    # 示例:导航到 docker-compose.yml 所在的位置,然后进入 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 是必需的):

    # 创建 .env 文件
    echo "SEARCH1API_KEY=your_api_key_here" > .env
    # 重要:将 'your_api_key_here' 替换为您实际的 Search1API 密钥
    
  4. 安装依赖并构建: 此步骤将编译服务器代码到 build 目录。

    npm install
    npm run build
    
  5. 配置 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 容器内部访问构建好的服务器的位置(感谢下一步中的卷绑定)。
  6. 配置 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 路径使用的目录结构相匹配。
  7. 重启 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(可选,默认值:1 0):返回的结果数量
    • 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 文件以获取详细信息。 </中文翻译>