SearXNG MCP服务器使用说明

项目简介

SearXNG MCP服务器是一个基于Model Context Protocol (MCP) 构建的应用后端,它将 SearXNG 隐私搜索引擎封装成一个工具,使AI助手等LLM客户端能够通过MCP协议调用SearXNG进行网页搜索,从而扩展LLM的功能,使其具备联网搜索能力。

主要功能点

  • 网页搜索: 提供通过SearXNG搜索引擎进行网页搜索的功能。
  • 隐私保护: 利用SearXNG的隐私保护特性,提供注重隐私的搜索结果。
  • 参数定制: 支持自定义搜索参数,如查询关键词、语言、时间范围、类别、搜索引擎、安全搜索级别和结果数量等。
  • Markdown格式输出: 搜索结果以Markdown格式返回,方便LLM客户端处理和展示。
  • 易于集成: 提供了与Claude Desktop和VSCode等MCP客户端集成的配置示例。

安装步骤

  1. 环境准备:
    • 确保已安装 Node.js (v16 或更高版本) 和 npm (v7 或更高版本)。
    • 确保可以访问 SearXNG 实例 (可以是自托管或公共实例)。
  2. 安装 (选择一种方式):
    • 全局安装 (推荐):
      npm install -g searxngmcp
    • 从源代码安装:
      git clone https://github.com/tisDDM/searxng-mcp.git
      cd searxng-mcp
      npm install
      npm run build

服务器配置 (用于MCP客户端)

要将 SearXNG MCP 服务器添加到 MCP 客户端 (如 Claude Desktop 或 VSCode),您需要配置 MCP 服务器的启动命令和环境变量。以下是配置示例,您需要根据您的实际安装情况进行调整。

Claude Desktop 配置示例:

在 Claude Desktop 的 MCP Servers 设置中,添加一个新的 MCP 服务器,配置如下:

{
  "mcpServers": {
    "searxngmcp": {
      "command": "searxngmcp",  // 启动命令 (如果全局安装)
      "env": {
        "SEARXNG_URL": "https://searx.example.com", // 您的 SearXNG 实例 URL (必填)
        "SEARXNG_USERNAME": "your_username",       // SearXNG 基本身份验证用户名 (可选)
        "SEARXNG_PASSWORD": "your_password"        // SearXNG 基本身份验证密码 (可选)
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

VSCode (Claude 扩展) 配置示例:

在 VSCode 的 Claude 扩展 MCP Settings 中,添加一个新的 MCP 服务器,配置如下:

{
  "mcpServers": {
    "searxngmcp": {
      "command": "node", // 启动命令 (如果从源代码安装)
      "args": ["/path/to/searxng-mcp/build/index.js"], //  指向 build 后的 index.js 文件的路径 (如果从源代码安装,请替换为实际路径)
      "env": {
        "SEARXNG_URL": "https://searx.example.com", // 您的 SearXNG 实例 URL (必填)
        "SEARXNG_USERNAME": "your_username",       // SearXNG 基本身份验证用户名 (可选)
        "SEARXNG_PASSWORD": "your_password"        // SearXNG 基本身份验证密码 (可选)
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

环境变量说明:

  • 'SEARXNG_URL': 必填。您的 SearXNG 实例的 URL 地址,例如 'https://searx.example.com' 或 'http://localhost:8080'。
  • 'SEARXNG_USERNAME': 可选。如果您的 SearXNG 实例需要基本身份验证,请提供用户名。
  • 'SEARXNG_PASSWORD': 可选。如果您的 SearXNG 实例需要基本身份验证,请提供密码。

基本使用方法

配置完成后,在支持 MCP 协议的 LLM 客户端中,您可以使用 'searxngsearch' 工具进行网页搜索。例如,在客户端中调用工具时,可以指定如下参数:

// JavaScript 示例 (假设您正在使用 MCP 客户端 SDK)
const result = await client.callTool('searxngsearch', {
  query: '最新的AI技术发展',
  language: 'zh',
  time_range: 'month',
  max_results: 5
});

console.log(result.content[0].text); // 打印搜索结果 (Markdown 格式)

这将调用 'searxngsearch' 工具,使用 SearXNG 搜索 "最新的AI技术发展" 相关信息,语言设置为中文,时间范围为最近一个月,并返回最多 5 条结果。搜索结果将以 Markdown 格式包含在 'result.content[0].text' 中。

您可以根据 'searxngsearch' 工具的参数定义,灵活调整搜索条件。

信息

分类

网页与API