使用说明
项目简介
'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 安装 (备选方案):
- 确保已安装 Python 和 pip。
- 打开终端或命令提示符,运行以下命令安装 'mcp-server-everything-search':
pip install mcp-server-everything-search
平台依赖配置:
-
Windows:
- 安装 Everything 搜索工具: 访问 https://www.voidtools.com/ 下载并安装 Everything。确保 Everything 服务正在运行。
- 下载 Everything SDK: 访问 https://www.voidtools.com/support/everything/sdk/ 下载 SDK,并将 SDK 文件解压到本地目录。
- 配置环境变量 'EVERYTHING_SDK_PATH': 设置环境变量 'EVERYTHING_SDK_PATH' 为 Everything SDK 中 'Everything64.dll' 文件的路径。例如:'EVERYTHING_SDK_PATH=D:\path\to\Everything-SDK\dll\Everything64.dll'
-
Linux:
- 安装 'locate' 或 'plocate': 根据你的 Linux 发行版,运行相应的命令安装 'locate' 或 'plocate'。例如,在 Ubuntu/Debian 上:
或者sudo apt-get install plocatesudo apt-get install mlocate - 更新数据库: 安装完成后,更新 'locate' 数据库:
- 对于 'plocate': 'sudo updatedb'
- 对于 'mlocate': 'sudo /etc/cron.daily/mlocate'
- 安装 'locate' 或 'plocate': 根据你的 Linux 发行版,运行相应的命令安装 'locate' 或 'plocate'。例如,在 Ubuntu/Debian 上:
-
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 文件路径。
基本使用方法
-
确保 MCP 服务器已成功配置并运行在你的系统中。
-
在支持 MCP 协议的 LLM 客户端中(例如 Claude Desktop),配置并连接到 'everything-search' 服务器。
-
使用客户端提供的工具调用功能,调用名为 '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' 服务器提供的本地文件搜索能力了。
信息
分类
桌面与硬件