项目简介
Everything Search MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,它将强大的本地文件搜索引擎 Everything Search Engine 集成到 MCP 协议中,为 LLM 客户端提供文件搜索功能。通过该服务器,LLM 应用可以方便地调用 Everything Search Engine 的能力,实现本地文件的快速检索和利用。
主要功能点
- 集成 Everything Search Engine: 利用 Everything Search Engine 闪电般的文件索引和搜索速度。
- 文件全文本搜索: 支持文件名和文件内容的搜索。
- 高级搜索选项: 支持大小写敏感、全字匹配、正则表达式和路径搜索等高级选项,满足复杂的搜索需求。
- 灵活的排序: 可以按文件名、路径、大小和修改日期进行排序,方便用户快速定位所需文件。
- 格式化结果: 返回人性化的文件大小和日期格式,以及完整的文件路径,方便 LLM 理解和展示搜索结果。
安装步骤
- 安装 Node.js: 确保你的系统已安装 Node.js 16 或更高版本。
- 安装 Everything Search Engine 并启用 HTTP 服务:
- 下载并安装 Everything Search Engine。
- 启动 Everything Search Engine。
- 打开 Everything Search Engine 的 "工具" -> "选项" -> "HTTP 服务"。
- 勾选 "启用 HTTP 服务"。
- 确保 "端口" 设置为 '8011' (默认端口,如果修改了端口,请相应修改 MCP 服务器代码 'src/server.ts' 中的端口配置)。
- 点击 "确定" 保存设置。
- 下载仓库代码: 克隆或下载 'Everything Search MCP Server' 仓库代码到本地。
- 安装依赖并构建: 在仓库根目录下打开终端,运行以下命令:
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 客户端。
信息
分类
桌面与硬件