项目简介

Everything Search MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,它将强大的本地文件搜索引擎 Everything Search Engine 集成到 MCP 协议中,为 LLM 客户端提供文件搜索功能。通过该服务器,LLM 应用可以方便地调用 Everything Search Engine 的能力,实现本地文件的快速检索和利用。

主要功能点

  • 集成 Everything Search Engine: 利用 Everything Search Engine 闪电般的文件索引和搜索速度。
  • 文件全文本搜索: 支持文件名和文件内容的搜索。
  • 高级搜索选项: 支持大小写敏感、全字匹配、正则表达式和路径搜索等高级选项,满足复杂的搜索需求。
  • 灵活的排序: 可以按文件名、路径、大小和修改日期进行排序,方便用户快速定位所需文件。
  • 格式化结果: 返回人性化的文件大小和日期格式,以及完整的文件路径,方便 LLM 理解和展示搜索结果。

安装步骤

  1. 安装 Node.js: 确保你的系统已安装 Node.js 16 或更高版本。
  2. 安装 Everything Search Engine 并启用 HTTP 服务:
    • 下载并安装 Everything Search Engine
    • 启动 Everything Search Engine。
    • 打开 Everything Search Engine 的 "工具" -> "选项" -> "HTTP 服务"。
    • 勾选 "启用 HTTP 服务"。
    • 确保 "端口" 设置为 '8011' (默认端口,如果修改了端口,请相应修改 MCP 服务器代码 'src/server.ts' 中的端口配置)。
    • 点击 "确定" 保存设置。
  3. 下载仓库代码: 克隆或下载 'Everything Search MCP Server' 仓库代码到本地。
  4. 安装依赖并构建: 在仓库根目录下打开终端,运行以下命令:
    npm install
    npm run build

服务器配置

MCP 客户端需要配置以下 JSON 信息才能连接到 Everything Search MCP Server。请将以下配置添加到你的 MCP 客户端的服务器配置中:

{
  "server_name": "everything-search",  // MCP 服务器名称,用于客户端识别
  "command": "node",                 // 启动服务器的命令,这里使用 Node.js 运行 JavaScript 文件
  "args": [                          // 启动参数
    "dist/src/index.js"              // 服务器入口文件路径,相对于 MCP 客户端的工作目录,或者使用绝对路径
  ]
}

参数说明:

  • 'server_name': 服务器的名称,客户端通过此名称识别和调用服务器。
  • 'command': 用于启动服务器进程的命令,这里是 'node',表示使用 Node.js 运行时环境。
  • 'args': 传递给启动命令的参数列表。
    • '"dist/src/index.js"': 编译后的服务器入口文件路径。请确保路径正确,指向 'dist/src/index.js' 文件。

基本使用方法

配置完成后,在 MCP 客户端中,你可以使用 'everything-search' 服务器提供的 'search' 工具来搜索文件。

工具调用示例 (MCP 客户端配置):

use_mcp_tool:
- server_name: everything-search
  tool_name: search
  arguments:
    {
      "query": "*.txt",          // 必填: 要搜索的文本,例如 "*.txt" 搜索所有 txt 文件
      "scope": "D:\\Documents",    // 可选: 搜索范围,默认为 "C:" 盘根目录
      "caseSensitive": false,      // 可选: 是否大小写敏感,默认为 false
      "wholeWord": false,          // 可选: 是否全字匹配,默认为 false
      "regex": false,              // 可选: 是否使用正则表达式,默认为 false
      "path": false,               // 可选: 是否搜索路径,默认为 false
      "maxResults": 10,          // 可选: 最大返回结果数 (1-1000),默认为 100
      "sortBy": "name",            // 可选: 排序方式,可选值: "name", "path", "size", "date_modified",默认为 "name"
      "ascending": true           // 可选: 是否升序排序,默认为 true
    }

在 LLM 客户端中,你可以根据需要调整 'arguments' 中的参数,以实现不同的文件搜索功能。搜索结果将以文本形式返回给 LLM 客户端。

信息

分类

桌面与硬件