aripo99
服务介绍
Everything Search MCP 服务器
这是一个提供跨 Windows、macOS 和 Linux 的快速文件搜索功能的 MCP 服务器。在 Windows 上,它使用 Everything SDK。在 macOS 上,它使用内置的 mdfind 命令。在 Linux 上,它使用 locate/plocate 命令。
工具
search
在您的系统中搜索文件和文件夹。搜索能力和语法支持因平台而异:
- Windows:完整的 Everything SDK 功能(请参阅下面的语法指南)
- macOS:使用 Spotlight 数据库的基本文件名和内容搜索
- Linux:使用 locate 数据库的基本文件名搜索
参数:
-
query(必需):搜索查询字符串。请参阅下面的特定于平台的说明。 -
max_results(可选):返回的最大结果数(默认值:100,最大值:1000) -
match_path(可选):匹配完整路径而不是仅文件名(默认值:false) -
match_case(可选):启用区分大小写的搜索(默认值:false) -
match_whole_word(可选):仅匹配整个单词(默认值:false) -
match_regex(可选):启用正则表达式搜索(默认值:false) -
sort_by(可选):结果排序顺序(默认值:1)。可用选项:- 1: 按文件名(A 到 Z)排序
- 2: 按文件名(Z 到 A)排序
- 3: 按路径(A 到 Z)排序
- 4: 按路径(Z 到 A)排序
- 5: 按大小(最小优先)排序
- 6: 按大小(最大优先)排序
- 7: 按扩展名(A 到 Z)排序
- 8: 按扩展名(Z 到 A)排序
- 11: 按创建日期(最早优先)排序
- 12: 按创建日期(最新优先)排序
- 13: 按修改日期(最早优先)排序
- 14: 按修改日期(最新优先)排序
示例:
json
{
"query": "*.py",
"max_results": 50,
"sort_by": 6
}
json
{
"query": "ext:py datemodified:today",
"max_results": 10
}
响应包括:
- 文件/文件夹路径
- 文件大小(字节)
- 最后修改日期
搜索语法指南
有关每个平台(Windows、macOS 和 Linux)支持的搜索语法的详细信息,请参阅 SEARCH_SYNTAX.md。
先决条件
Windows
- Everything 搜索工具:
- 从 https://www.voidtools.com/ 下载并安装
- 确保 Everything 服务正在运行
- Everything SDK:
- 从 https://www.voidtools.com/support/everything/sdk/ 下载
- 将 SDK 文件解压到系统的某个位置
Linux
- 安装并初始化
locate或plocate命令:- Ubuntu/Debian:
sudo apt-get install plocate或sudo apt-get install mlocate - Fedora:
sudo dnf install mlocate
- Ubuntu/Debian:
- 安装后,更新数据库:
- 对于 plocate:
sudo updatedb - 对于 mlocate:
sudo /etc/cron.daily/mlocate
- 对于 plocate:
macOS
无需额外设置。服务器使用内置的 mdfind 命令。
安装
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 Everything Search:
bash
npx -y @smithery/cli install mcp-server-everything-search --client claude
使用 uv(推荐)
当使用 uv 时,不需要特定的安装。我们将使用 uvx 直接运行 mcp-server-everything-search。
使用 PIP
或者,您可以通过 pip 安装 mcp-server-everything-search:
pip install mcp-server-everything-search
安装后,可以使用以下命令作为脚本运行:
python -m mcp_server_everything_search
配置
Windows
服务器需要可用的 Everything SDK DLL:
环境变量:
EVERYTHING_SDK_PATH=path\to\Everything-SDK\Everything64.dll
Linux 和 macOS
无需额外配置。
与 Claude Desktop 一起使用将以下配置之一添加到您的 claude_desktop_config.json 文件中,具体取决于您的平台:
json
"mcpServers": {
"everything-search": {
"command": "uvx",
"args": ["mcp-server-everything-search"],
"env": {
"EVERYTHING_SDK_PATH": "path/to/Everything-SDK/dll/Everything64.dll"
}
}
}
json
"mcpServers": {
"everything-search": {
"command": "python",
"args": ["-m", "mcp_server_everything_search"],
"env": {
"EVERYTHING_SDK_PATH": "path/to/Everything-SDK/dll/Everything64.dll"
}
}
}
json
"mcpServers": {
"everything-search": {
"command": "uvx",
"args": ["mcp-server-everything-search"]
}
}
或者如果您使用的是 pip 安装:
json
"mcpServers": {
"everything-search": {
"command": "python",
"args": ["-m", "mcp_server_everything_search"]
}
}
调试
您可以使用 MCP 检查器来调试服务器。对于 uvx 安装:
npx @modelcontextprotocol/inspector uvx mcp-server-everything-search
或者如果您在特定目录中安装了该包或正在开发它:
git clone https://github.com/mamertofabian/mcp-everything-search.git
cd mcp-everything-search/src/mcp_server_everything_search
npx @modelcontextprotocol/inspector uv run mcp-server-everything-search
要查看服务器日志:
Linux/macOS:
bash
tail -f ~/.config/Claude/logs/mcp*.log
Windows(PowerShell):
powershell
Get-Content -Path "$env:APPDATAClaudelogsmcp*.log" -Tail 20 -Wait
开发
如果您正在进行本地开发,有两种方法可以测试您的更改:
-
运行 MCP 检查器以测试您的更改。请参阅 调试 获取运行说明。
-
使用 Claude 桌面应用程序进行测试。将以下内容添加到您的
claude_desktop_config.json中:
json
"everything-search": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-everything-search/src/mcp_server_everything_search",
"run",
"mcp-server-everything-search"
],
"env": {
"EVERYTHING_SDK_PATH": "path/to/Everything-SDK/dll/Everything64.dll"
}
}
许可证
此 MCP 服务器根据 MIT 许可证授权。这意味着您可以在遵守 MIT 许可证的条款和条件的前提下自由使用、修改和分发该软件。更多详情,请参见项目仓库中的 LICENSE 文件。
免责声明
本项目与 voidtools(Everything 搜索工具的创建者)无关,也未得到其认可或赞助。这是一个独立的项目,利用了公开可用的 Everything SDK。