使用说明

项目简介

'mcp-everything-search' 是一个基于 Model Context Protocol (MCP) 的服务器,旨在为 LLM 客户端提供本地文件快速搜索功能。它利用各操作系统内置或流行的文件搜索工具,如 Windows 上的 Everything SDK,macOS 上的 'mdfind' 和 Linux 上的 'locate'/'plocate',为用户提供统一的、跨平台的文件搜索服务。

主要功能点

  • 跨平台文件搜索: 支持 Windows, macOS, Linux 三大桌面操作系统。
  • 快速搜索: 底层使用平台原生的高效搜索技术,保证搜索速度。
  • 灵活的搜索参数: 支持关键词、最大结果数、路径匹配、大小写敏感、全字匹配、正则表达式等多种搜索选项。
  • 详细的结果信息: 返回文件路径、文件名、大小、创建/修改/访问日期等详细信息。
  • 易于集成: 作为 MCP 服务器,可以方便地与支持 MCP 协议的 LLM 客户端(如 Claude Desktop)集成。

安装步骤

推荐使用 uv (无需安装):

确保已安装 'uv' 和 'uvx',可以直接运行该 MCP 服务器,无需额外安装步骤。

使用 pip 安装 (备选方案):

  1. 确保已安装 Python 和 pip。
  2. 打开终端或命令提示符,运行以下命令安装 'mcp-server-everything-search':
    pip install mcp-server-everything-search

平台依赖配置:

  • Windows:

    1. 安装 Everything 搜索工具: 访问 https://www.voidtools.com/ 下载并安装 Everything。确保 Everything 服务正在运行。
    2. 下载 Everything SDK: 访问 https://www.voidtools.com/support/everything/sdk/ 下载 SDK,并将 SDK 文件解压到本地目录。
    3. 配置环境变量 'EVERYTHING_SDK_PATH': 设置环境变量 'EVERYTHING_SDK_PATH' 为 Everything SDK 中 'Everything64.dll' 文件的路径。例如:'EVERYTHING_SDK_PATH=D:\path\to\Everything-SDK\dll\Everything64.dll'
  • Linux:

    1. 安装 'locate' 或 'plocate': 根据你的 Linux 发行版,运行相应的命令安装 'locate' 或 'plocate'。例如,在 Ubuntu/Debian 上:
      sudo apt-get install plocate
      或者
      sudo apt-get install mlocate
    2. 更新数据库: 安装完成后,更新 'locate' 数据库:
      • 对于 'plocate': 'sudo updatedb'
      • 对于 'mlocate': 'sudo /etc/cron.daily/mlocate'
  • macOS: 无需额外配置,服务器直接使用 macOS 内置的 'mdfind' 命令。

服务器配置

以下是在 MCP 客户端(例如 Claude Desktop)中配置 'mcp-everything-search' 服务器的示例 JSON 配置。请根据你的实际平台和安装方式选择合适的配置添加到你的 MCP 客户端配置文件中(例如 'claude_desktop_config.json')。

Windows (使用 uvx 运行):

"mcpServers": {
  "everything-search": {
    "command": "uvx",  // 使用 uvx 命令运行
    "args": ["mcp-server-everything-search"], // 运行 mcp-server-everything-search
    "env": {
      "EVERYTHING_SDK_PATH": "D:\\path\\to\\Everything-SDK\\dll\\Everything64.dll" // Windows 平台需要配置 Everything SDK 路径
    }
  }
}

Windows (使用 pip 安装运行):

"mcpServers": {
  "everything-search": {
    "command": "python", // 使用 python 命令运行
    "args": ["-m", "mcp_server_everything_search"], // 运行 mcp_server_everything_search 模块
    "env": {
      "EVERYTHING_SDK_PATH": "D:\\path\\to\\Everything-SDK\\dll\\Everything64.dll" // Windows 平台需要配置 Everything SDK 路径
    }
  }
}

Linux 和 macOS (使用 uvx 运行):

"mcpServers": {
  "everything-search": {
    "command": "uvx", // 使用 uvx 命令运行
    "args": ["mcp-server-everything-search"] // 运行 mcp-server-everything-search
  }
}

Linux 和 macOS (使用 pip 安装运行):

"mcpServers": {
  "everything-search": {
    "command": "python", // 使用 python 命令运行
    "args": ["-m", "mcp_server_everything_search"] // 运行 mcp_server_everything_search 模块
  }
}

配置参数说明:

  • '"server name"': 服务器的名称,例如 '"everything-search"',在客户端配置中用于标识该服务器。
  • '"command"': 启动服务器的命令。
    • '"uvx"': 使用 'uvx' 直接运行,适用于使用 'uv' 环境的情况。
    • '"python"': 使用 Python 解释器运行,适用于使用 'pip' 安装的情况。
  • '"args"': 传递给 'command' 的参数列表。
    • '["mcp-server-everything-search"]': 运行服务器的主命令 (uvx 方式)。
    • '["-m", "mcp_server_everything_search"]': 运行服务器模块的命令 (pip 安装方式)。
  • '"env"': 设置服务器运行时的环境变量。
    • '"EVERYTHING_SDK_PATH"': 仅 Windows 平台需要,指向 Everything SDK 的 DLL 文件路径。

基本使用方法

  1. 确保 MCP 服务器已成功配置并运行在你的系统中。

  2. 在支持 MCP 协议的 LLM 客户端中(例如 Claude Desktop),配置并连接到 'everything-search' 服务器。

  3. 使用客户端提供的工具调用功能,调用名为 'search' 的工具,并传递搜索参数,例如:

    {
      "tool_calls": [
        {
          "id": "search-tool-1",
          "type": "function",
          "function": {
            "name": "search",
            "arguments": {
              "base": {
                "query": "*.pdf", // 搜索所有 PDF 文件
                "max_results": 20  // 最大返回 20 个结果
              }
            }
          }
        }
      ]
    }

    更多搜索参数和语法请参考仓库 README 文档中 'Tools' 和 'Search Syntax Guide' 部分。

通过以上步骤,你就可以在 LLM 应用中利用 'mcp-everything-search' 服务器提供的本地文件搜索能力了。

信息

分类

桌面与硬件