使用说明
项目简介
Everything Search MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器应用,它利用流行的桌面搜索引擎 Everything Search Engine,将强大的本地文件搜索功能通过 MCP 协议暴露给大型语言模型 (LLM) 客户端。这意味着 LLM 可以通过调用该 MCP 服务器,实现对用户电脑本地文件的快速、高效检索,从而扩展 LLM 的上下文理解和信息获取能力。
主要功能点
- 强大的文件搜索: 基于 Everything Search Engine,提供毫秒级的本地文件全盘搜索能力。
- 丰富的搜索选项: 支持文件名、文件路径、文件内容(Everything Search 的部分功能),以及大小写敏感、全字匹配、正则表达式、路径搜索等高级选项。
- 灵活的排序: 支持按名称、路径、大小、修改日期等多种方式对搜索结果进行排序。
- 格式化输出: 搜索结果包含易读的文件大小和格式化的日期,方便 LLM 理解和展示。
- 标准 MCP 协议: 完全兼容 MCP 协议,易于集成到任何支持 MCP 协议的 LLM 客户端。
安装步骤
- 安装 Node.js: 确保你的电脑上安装了 Node.js 16 或更高版本 (https://nodejs.org/)。
- 安装 Everything Search Engine: 下载并安装 Everything Search Engine,并启用 HTTP 服务。
- 打开 Everything Search Engine。
- 进入 "工具" -> "选项" -> "HTTP 服务"。
- 勾选 "启用 HTTP 服务"。
- 默认端口为 8011,保持默认或根据需要修改,但请注意同步修改 MCP 服务器配置。
- 点击 "确定" 保存设置。
- 下载仓库代码: 克隆或下载 GitHub 仓库 MCP-Mirror/Alihkhawaher_everything-search-server。
- 安装依赖并构建: 在仓库根目录下打开终端,执行以下命令:
npm install npm run build
服务器配置
为了让 MCP 客户端能够连接到 Everything Search MCP Server,你需要提供以下配置信息。这些信息通常配置在 MCP 客户端的应用设置中。
{ "server_name": "everything-search", "command": "node", "args": [ "dist/index.js" ] }
配置参数说明:
- 'server_name': 服务器名称,用于在 MCP 客户端中唯一标识该服务器,这里设置为 'everything-search'。
- 'command': 启动服务器的命令,由于项目是 Node.js 应用,所以设置为 'node'。
- 'args': 启动命令的参数,指向编译后的服务器入口文件 'dist/index.js'。请确保在执行 'npm run build' 后 'dist' 文件夹和 'index.js' 文件已生成。
注意:
- 确保在 MCP 客户端配置的 'command' 和 'args' 指向正确的服务器启动脚本路径。
- 如果 Everything Search Engine HTTP 服务端口不是默认的 8011,你需要修改 'src/server.ts' 或 'src/server.js' 文件中的 'axios.get("http://localhost:8011/..."' 地址,将端口号修改为你设置的端口。修改后需要重新执行 'npm run build'。
基本使用方法
启动 MCP 服务器后,LLM 客户端可以通过 MCP 协议调用 'everything-search' 服务器提供的 'search' 工具进行文件搜索。
工具名称: 'search' 工具描述: 使用 Everything Search 搜索文件 工具参数:
| 参数名 | 类型 | 必选 | 描述 | 默认值 | |-----------------|----------|------|------------------------------------------|--------| | 'query' | string | 是 | 搜索关键词 | 无 | | 'scope' | string | 否 | 搜索范围(例如 "D:\Documents"),默认为 "C:" 盘根目录 | "C:" | | 'caseSensitive' | boolean | 否 | 是否大小写敏感 | 'false' | | 'wholeWord' | boolean | 否 | 是否全字匹配 | 'false' | | 'regex' | boolean | 否 | 是否使用正则表达式 | 'false' | | 'path' | boolean | 否 | 是否搜索路径 | 'false' | | 'maxResults' | integer | 否 | 最大返回结果数 (1-1000),默认 100 | '100' | | 'sortBy' | string | 否 | 排序方式,可选 'name', 'path', 'size', 'date_modified' | 'name' | | 'ascending' | boolean | 否 | 是否升序排序 | 'true' |
示例请求 (MCP 客户端发送):
{ "method": "callTool", "params": { "server_name": "everything-search", "tool_name": "search", "arguments": { "query": "*.pdf", "scope": "D:\\Downloads", "maxResults": 10 } }, "id": "搜索PDF文件请求" }
服务器响应 (MCP 服务器返回):
服务器会返回包含搜索结果的 JSON-RPC 响应,结果内容格式化为易读的文本,方便 LLM 理解和使用。
信息
分类
桌面与硬件