项目简介

SearXNG 私密搜索 MCP 服务器是一个注重隐私的后端应用,旨在为大型语言模型(如Claude)提供强大的互联网搜索能力。它通过集成SearXNG元搜索引擎,聚合来自Google、Bing、DuckDuckGo等多个搜索引擎的结果,同时确保用户数据不被追踪和收集。该服务器提供了一套精简但高效的工具,支持通用网页搜索、新闻、图片、视频以及复杂的深度话题研究。

主要功能点

  • 私密保护: 通过SearXNG实现无追踪、无数据收集的搜索。
  • 多引擎聚合: 整合Google、Bing、DuckDuckGo、Brave等多个主流搜索引擎结果。
  • 专业搜索: 支持网页、图片、视频、新闻分类搜索。
  • 高效工具: 提供3个经过优化的工具,涵盖快速搜索、媒体搜索和深度研究。
    • 'search': 快速执行通用网页或新闻搜索。
    • 'search_media': 搜索图片或视频内容。
    • 'research_topic': 进行多轮、多源的深度研究,并指导LLM进行分析和总结,而非简单罗列结果。
  • Docker支持: 包含Docker Compose配置,方便快速部署SearXNG实例。
  • 易于安装: 基于Python和UV包管理器,安装配置过程简便。

安装步骤

  1. 准备环境: 确保您的系统已安装Python 3.10+、Docker、Docker Compose和Git。
  2. 克隆仓库:
    git clone https://github.com/netixc/SearxngMCP.git
    cd SearxngMCP
  3. 配置SearXNG实例:
    • 编辑'docker-compose.yml'文件,将'YOUR_IP'替换为您的服务器IP地址,并将'CHANGE_THIS_SECRET_KEY'替换为一个安全的密钥。
    • 编辑'searxng/settings.yml'文件,将'CHANGE_THIS_TO_YOUR_OWN_SECRET_KEY'替换为与上一步相同的密钥。
    • 编辑'searxng-config/config.json'文件,将'YOUR_IP'替换为您的服务器IP地址。
    • 您可以使用 'openssl rand -hex 32' 命令生成一个安全的密钥。
  4. 启动SearXNG实例:
    docker compose up -d
    SearXNG服务将在'http://YOUR_IP:8080'可用。
  5. 安装MCP服务器:
    uv venv
    source .venv/bin/activate  # Linux/macOS
    uv pip install -e ".[dev]"
  6. 验证SearXNG运行状态:
    curl http://YOUR_IP:8080

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

为了让支持MCP协议的客户端(如Claude Desktop)能够连接并使用此服务器,您需要在客户端的配置中添加服务器信息。通常,这会涉及到设置服务器的名称 (server name)、启动命令 (command) 及可选的启动参数 (args)。

以下是MCP客户端配置此服务器的关键信息:

  • 服务器名称 (server name): 您可以自定义一个名称,例如 'searxng'。
  • 启动命令 (command): 指定'run-server.sh'脚本的绝对路径,例如 '/absolute/path/to/SearxngMCP/run-server.sh'。这个脚本会启动MCP服务器。
  • 启动参数 (args): 此仓库提供的'run-server.sh'脚本默认不需要额外的启动参数,它会自行处理环境和服务器启动。如果您有特殊的配置需求,并且MCP服务器支持 '--config /path/to/your/config.json' 这样的参数,您可以将其添加到此处。根据仓库的README,默认不提供额外的客户端启动参数。

请注意:上述信息仅为客户端配置服务器连接所需,不包含服务器内部的'searxng-config/config.json'等文件配置,这些文件在安装步骤中已完成配置。

基本使用方法 (LLM调用示例)

一旦MCP服务器在客户端中配置并启动,LLM便可以通过调用其提供的工具来执行搜索任务。

  • 通用网页或新闻搜索:

    • 用户需求: "Python 最新版本是什么?" 或 "AI 最新新闻是什么?"
    • LLM调用: 'search("Python 最新版本")' 或 'search("最新 AI 新闻", category="news")'
  • 图片或视频搜索:

    • 用户需求: "展示北极光的图片" 或 "找一些Python教程视频"
    • LLM调用: 'search_media("北极光", media_type="images")' 或 'search_media("Python 教程", media_type="videos")'
  • 深度话题研究:

    • 用户需求: "研究一下气候变化的最新进展并给我一份简报"
    • LLM调用: 'research_topic("气候变化的最新进展", depth="standard")'
    • LLM将接收到多源研究结果,并被指示进行分析、交叉验证和总结,生成包含摘要、关键发现、矛盾点和置信度评估的报告。

信息

分类

网页与API