SearxNG MCP Bridge Server

项目简介

本项目 'SearxNG MCP Bridge Server' 是一个实现了 Model Context Protocol (MCP) 的服务器,它充当了 LLM 客户端和 SearxNG 搜索引擎实例之间的桥梁。通过该服务器,兼容 MCP 协议的客户端可以使用 SearxNG 实例进行搜索。

主要功能点

  • 提供搜索工具: 向 MCP 客户端暴露名为 'search' 的工具,允许 LLM 调用 SearxNG 进行信息检索。
  • 桥接 SearxNG: 连接到用户配置的 SearxNG 实例,并将搜索请求转发到 SearxNG 进行处理。
  • 返回 JSON 结果: 将 SearxNG 的搜索结果以 JSON 格式返回给 MCP 客户端。
  • 支持缓存: 缓存搜索结果以提高性能,减少重复请求的延迟。

安装步骤

方法一:使用 npm (推荐)

  1. 全局安装 npm 包:
    npm install -g @nitish-raj/searxng-mcp-bridge

方法二:使用 npx (无需安装)

无需安装,直接在 MCP 客户端配置中使用 'npx' 命令运行。

服务器配置

为了让 MCP 客户端(如 Roo)连接到 'SearxNG MCP Bridge Server',您需要在 MCP 客户端的设置中添加服务器配置。以下是配置示例(JSON 格式):

{
  "mcpServers": {
    "searxng-bridge": {  // 服务器名称,可以自定义
      "command": "npx",  // 运行命令,如果全局安装则使用 "mcp-searxng-bridge"
      "args": ["@nitish-raj/searxng-mcp-bridge"], // 命令参数,如果全局安装则参数为空数组 []
      "env": {
        "SEARXNG_INSTANCE_URL": "YOUR_SEARXNG_INSTANCE_URL"  // 必须配置:您的 SearxNG 实例 URL,例如 http://localhost:8888 或 https://searx.space
      },
      "disabled": false   // 设置为 false 启用该服务器
      // "alwaysAllow": ["search"] // 可选:允许 "search" 工具无需用户确认直接调用
    }
  }
}

注意:

  • 'SEARXNG_INSTANCE_URL' 环境变量至关重要: 请将 'YOUR_SEARXNG_INSTANCE_URL' 替换为您正在运行的 SearxNG 实例的 URL。您可以使用 Docker 部署本地 SearxNG 实例(参考仓库 README),或者使用公共 SearxNG 实例。
  • 'command' 和 'args': 如果您选择全局安装 npm 包,可以将 'command' 修改为 '"mcp-searxng-bridge"', 'args' 修改为 '[]'。 如果使用 'npx',则按照示例配置即可。
  • MCP 客户端设置文件: MCP 客户端的设置文件位置可能因客户端而异。示例中提供了 VS Code Roo 插件的设置文件路径,请根据您使用的 MCP 客户端查找正确的设置位置。

基本使用方法

配置完成后,在您的 MCP 客户端中,您可以使用以下指令来调用 'searxng-bridge' 服务器提供的 'search' 工具:

例如,在 Roo 客户端中,您可以输入类似以下的指令:

使用 searxng-bridge search 工具搜索 "最新的AI技术发展"

或者更直接的英文指令:

Use the searxng-bridge search tool to search for 'latest AI technology trends'

服务器会将搜索请求发送到您配置的 SearxNG 实例,并将搜索结果返回给 MCP 客户端。

可选搜索参数: 'search' 工具还支持以下可选参数,以更精细地控制搜索行为 (在自然语言指令中表达这些参数,取决于MCP客户端的能力):

  • 'language': 搜索结果的语言代码 (例如 "en-US", "zh-CN", "fr")
  • 'categories': 搜索类别 (例如 ["general", "images", "news"])
  • 'time_range': 时间范围 (例如 "day", "week", "month", "year")
  • 'safesearch': 安全搜索级别 (0: 关闭, 1: 中等, 2: 严格)
  • 'format': 结果格式 (默认 "json", 可选 "json", "html")
  • 'max_results': 最大返回结果数量

信息

分类

网页与API