使用说明
所有MCP服务器
一个模型上下文协议(MCP)服务器,使用Everything的原生SDK提供即时文件搜索功能。该服务器将Everything强大的搜索引擎与AI工具集成在一起,通过MCP界面实现闪电般快速的文件系统搜索。
特性
- 🔍 即时文件搜索:利用Everything的即时索引进行近乎即时的文件搜索
- 🎯 高级过滤:按路径、扩展名、大小、修改日期等搜索
- 🔄 副本检测:在系统中查找重复文件
- 📄 内容搜索:在文件内容中搜索(需要Everything内容索引)
- ⚡ 高性能:通过本机SDK集成直接访问API
- 🛡️ 只读的:安全、非破坏性的文件系统访问
提供的工具
1. search_files
使用正则表达式和区分大小写选项进行基本文件搜索。
参数:
query(string):搜索文件名查询maxResults(数字,可选):返回的最大结果数(默认值:100)matchCase(布尔值,可选):启用区分大小写的搜索matchWholeWord(布尔值,可选):仅匹配整个单词regex(boolean,可选):启用正则表达式搜索
2. search_files_advanced
具有全面过滤选项的高级搜索。
参数:
query(string):搜索文件名查询path(字符串,可选):将搜索限制到特定路径extension(字符串,可选):按文件扩展名过滤(例如“txt”、“pdf”)size(字符串,可选):按文件大小筛选(例如,“>1mb”、“<100kb”、“1gb..2gb”)dateModified(字符串,可选):按修改日期筛选(例如,“今天”、“昨天”、“本周”、“2024”)maxResults(数字,可选):返回的最大结果数(默认值:100)matchCase(布尔值,可选):启用区分大小写的搜索matchWholeWord(布尔值,可选):仅匹配整个单词regex(boolean,可选):启用正则表达式搜索sortBy(枚举,可选):按字段对结果进行排序(name_asc、name_desc、path_asc、path_desc、size_asc、size_desc、date_asc、date_desc)
3. find_duplicates
按文件名查找重复文件。
参数:
filename(string):用于搜索重复项的文件名path(字符串,可选):将搜索限制到特定路径maxResults(数字,可选):返回的最大结果数(默认值:50)
4. search_content
在文件中搜索文本内容。
参数:
content(string):要在文件中搜索的文本内容fileTypes(字符串,可选):仅限于特定文件类型(例如,“txt;doc;pdf”)path(字符串,可选):将搜索限制到特定路径maxResults(数字,可选):返回的最大结果数(默认值:50)
先决条件
-
Everything应用程序:必须安装并运行
- 下载地址: https://www.voidtools.com/
- 确保它在后台运行以访问API
-
Node.js:支持ES模块的18+版本
-
Windows操作系统:Everything SDK兼容性所需
安装
- 克隆存储库:
git clone https://github.com/peterparker57/everything-mcp-server.git
cd everything-mcp-server
- 安装依赖项:
npm install
- 构建项目:
npm run build
配置
将服务器添加到MCP设置文件中:
{
"mcpServers": {
"everything": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": ["path/to/everything-mcp-server/build/index.js"],
"disabled": false,
"env": {},
"alwaysAllow": [
"search_files",
"search_files_advanced",
"find_duplicates",
"search_content"
]
}
}
}
使用示例
基本文件搜索
Search for: "msbuild.exe"
Options: Case sensitive, max 50 results
使用过滤器进行高级搜索
Query: "*.pdf"
Path: "C:\\Documents"
Size: ">1mb"
Date Modified: "thisweek"
Sort: "size_desc"
参考文献查重
Filename: "config.json"
Path: "C:\\Projects" (optional)
内容搜索
Content: "function main"
File Types: "js;ts;py"
Path: "C:\\Code" (optional)
建筑
技术栈
- 语言:TypeScript
- 框架:MCP SDK(@modelcontextprotocol/SDK)
- FFI 图书 馆:koffi(用于本机DLL集成)
- 模块系统:ES模块
- 目标:Everything SDK(Windows文件搜索实用程序)
关键组件
- 主服务器 (
src/index.ts):核心MCP服务器实现 - Everything SDK:用于文件搜索的本机Windows DLL
- 构建系统:将TypeScript编译为ES模块
- 配置:支持ES模块的Package.json
发展
建筑
npm run build
测试
直接启动服务器进行测试:
node build/index.js
项目结构
everything-mcp-server/
├── src/
│ └── index.ts # Main server implementation
├── EverythingSDK/ # Everything native SDK files
│ └── dll/
│ ├── Everything32.dll
│ └── Everything64.dll
├── build/ # Compiled JavaScript output
├── package.json # Project configuration
├── tsconfig.json # TypeScript configuration
└── README.md # This file
故障排除
“所有搜索客户端均未运行”
- 启动Everything应用程序
- 确保它在没有服务的情况下不会以便携模式运行
“连接已关闭”MCP错误
- 检查构建目录是否存在并包含index.js
- 验证MCP配置中的Node.js路径
- 确保Everything应用程序正在运行
ES模块错误
- 验证package.json是否具有
"type": "module" - 检查导入语句是否使用.js扩展名
- 确保将koffi作为默认导出导入
业绩说明
- 所有内容都会立即索引文件,搜索几乎是即时的
- 内容搜索要求所有内容都启用内容索引
- 大型结果集会自动受到限制(可根据工具进行配置)
- API直接访问比命令行界面提供更好的性能
安全考虑
- 服务器通过Everything提供只读文件系统访问
- 无文件修改功能
- 尊重Everything自己的安全和索引设置
- 内容搜索仅限于文件所有内容都已编入索引
贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
致谢
相关项目
备注:这是一个特定于Windows的MCP服务器,需要安装并运行Everything应用程序。对于跨平台文件搜索解决方案,请考虑其他MCP服务器或文件搜索工具。
