网页搜索MCP服务

Web Search MCP是一个基于SearxNG的本地搜索引擎集成工具,用于在开发环境或MCP客户端中实现网页搜索功能。

  • by ViktoriaKutseva
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ViktoriaKutseva/web-search-mcp

使用说明

Web搜索MCP分步设置指南

本指南列出了设置Web搜索MCP服务器并将其集成到开发环境或MCP客户端(如Claude Desktop)的具体步骤。

先决条件

开始之前,请确保已安装以下内容:

  1. Docker&Docker编写:用于运行本地SearxNG实例。
  2. 紫外线:一个非常快的Python包安装程序和解析器。

第一步:准备当地SearxNG

您需要此存储库中的配置文件来运行MCP服务器将连接到的本地搜索引擎实例。

  1. 克隆存储库
    git clone https://github.com/ViktoriaKutseva/web-search-mcp.git
    cd web-search-mcp
    

步骤2:启动搜索引擎

MCP服务器依赖于SearxNG的本地实例。

  1. 配置SearxNG 复制示例设置文件以创建实际配置。

    cp searxng/settings.yml.example searxng/settings.yml
    

    注: settings.yml 文件被git忽略。您应该生成一个新的 secret_key 里面。

  2. 启动服务 从存储库根运行:

    docker compose up -d
    
  3. 验证SearxNG 打开浏览器并导航到 http://localhost:8080。您应该看到SearxNG搜索界面。

步骤3:配置MCP客户端

要在其他特定项目或全局编辑器中使用此工具,您需要向MCP客户端注册它(例如,Claude Desktop、VS Code扩展)。

选项A:与Claude Desktop集成

  1. 查找配置文件 查找或创建 claude_desktop_config.json 文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  2. 编辑配置 添加 web-search 进入 mcpServers 对象。

    {
      "mcpServers": {
        "web-search": {
            "command": "uvx",
            "args": [
                "--from", "web-search-searxng-mcp", "web-search-mcp"
            ],
            "env": {
                "SEARXNG_BASE_URL": "http://localhost:8080"
            }
        }
      }
    }
    
  3. 重新启动克劳德桌面 完全退出并重新启动应用程序以使更改生效。

步骤4:验证

  1. 打开您的MCP客户端(例如,Claude Desktop)。
  2. 寻找🔌 要验证的图标或已安装工具列表 web-search 已连接。
  3. 问一个需要搜索网络的问题:

    “搜索Python的最新版本,并告诉我日期。”

故障排除

  • 无法联系到SearxNG:确保Docker容器正在运行(docker ps)端口8080是空闲的。
  • MCP错误:检查客户端中的日志或运行 uvx web-search-mcp 在终端中手动查看它是否在不崩溃的情况下启动(它将等待stdio输入)。

配置

设置是通过环境变量(或`.env`文件)管理的:

  • `SEARXNG_BASE_URL:SEARXNG实例的URL(默认值:`http://localhost:8080`)
  • `SEARXNG_TIMEOUT:请求超时时间(秒)(默认值:'10')
  • `LOGLEVEL `:日志记录级别(默认值:`INFO `)

发展

  • 建筑:遵循简化的DDD指南。
    • `domains/`:业务逻辑
    • `基础设施/`:外部实现(SearxNG客户端)
    • `entry_points/`:MCP服务器和主执行
    • `config/`:设置