你是否曾经因为找不到某个几个月前的文档而烦恼?或者你的电脑上散落着成千上万个文件,让你在需要的时候总是大海捞针?如果能让你的AI助手,像本地搜索引擎一样快速、精准地搜索你电脑上的每一个文件,甚至支持复杂的搜索语法,会不会解决这个困扰?这正是mcp-everything-search为你带来的能力。

mcp-everything-search是一个模型上下文协议服务器,它为Windows、macOS和Linux系统提供了极速的文件搜索能力。在Windows上,它利用强大的Everything搜索引擎,实现近乎瞬时的文件查找;在macOS上,它调用系统自带的Spotlight数据库;在Linux上,则通过locate或plocate命令实现高效检索。通过这个服务器,你的AI可以像你一样“看到”并搜索你硬盘上的所有文件。

项目基本信息

信息项详情
项目名称mcp-everything-search
GitHub地址https://github.com/mamertofabian/mcp-everything-search
项目描述暂无描述
作者mamertofabian
开源协议MIT License
开源状态公开状态
LanguagesPython
支持平台Windows / macOS / Linux
最后更新2026-04-22

一、项目介绍

mcp-everything-search的核心是一个名为search的工具。通过这个工具,你的AI可以像使用本地文件搜索软件一样,快速检索你电脑上的文件和文件夹。这个服务器的精妙之处在于,它针对不同操作系统使用了最合适的底层技术。

Windows上,它利用的是Everything这款久负盛名的搜索工具。Everything通过直接读取NTFS文件系统的USN日志,能够实现毫秒级的全盘文件搜索。通过调用Everything SDK,这个服务器继承了Everything的所有强大能力,包括复杂的搜索语法、正则表达式支持、以及按多种条件排序的功能。

macOS上,它调用系统内置的mdfind命令,该命令底层使用Spotlight索引。这意味着你可以搜索文件名、文件内容,甚至是文件的元数据(如作者、关键词)。在Linux上,它则使用locateplocate命令,这些工具通过预先生成的文件名数据库实现快速搜索。

这个服务器将这些跨平台、差异巨大的底层技术,统一成了一个简单易用的MCP工具。你的AI不需要关心你用的是Windows、Mac还是Linux,只需要使用统一的参数,就能获得一致的文件搜索体验。

二、核心优势

极致的搜索速度:尤其是在Windows平台上,得益于Everything引擎,你可以在数百万个文件中瞬时找到目标文件。这种速度是操作系统自带的搜索功能难以比拟的。你的AI在调用这个工具时,几乎感觉不到延迟,能够立即返回结果。

跨平台的一致性:无论你使用什么操作系统,你的AI都能通过同一套参数(querymax_resultsmatch_path等)进行文件搜索。服务器在后台处理了所有平台差异,让你和AI无需关心底层实现。这对于跨平台工作的团队或拥有多种设备的个人来说非常方便。

强大的搜索语法(Windows):在Windows上,它继承了Everything丰富的高级搜索语法。你可以使用*.jpg查找所有图片,用datemodified:today查找今天修改过的文件,用size:>1mb查找大文件,甚至可以使用布尔运算符和通配符组合出非常复杂的查询。这让精准搜索变得极其高效。

灵活的排序和过滤search工具提供了多达14种排序方式,你可以按文件名、路径、大小、扩展名、创建日期、修改日期进行升序或降序排列。结合max_results参数,你可以轻松地让AI帮你找出“最大的10个文件”或“最近修改过的5个文档”。

三、适用场景

场景一:快速找回遗忘的文档。这是最日常的需求。你可以问:“帮我找一下上个月我修改过的,文件名里包含‘项目报告’的Word文档。” AI会调用搜索工具,使用*.docxdatemodified:lastmonth等语法,瞬间定位到目标文件。

场景二:磁盘空间清理。你可以让AI帮你找出硬盘上的“大户”。“请搜索我电脑上所有大于100MB的文件,按大小从大到小排序,只列出前20个。” AI会返回一个大文件列表,帮助你决定哪些可以删除或归档。

场景三:批量文件管理。当你有规律地组织文件时,可以让AI帮忙。“找出我下载文件夹里所有的PDF文件,把它们按照修改日期排序,然后告诉我有哪些是上周下载的。” AI不仅可以列出,还能结合其他MCP工具(如文件系统服务器)执行移动或删除操作。

场景四:代码或项目文件定位。开发者可以在海量代码文件中快速定位。“帮我搜索整个项目中所有包含‘authentication’这个词的Python文件路径。” AI能迅速返回匹配的文件列表,节省在IDE中手动搜索的时间。

场景五:跨平台脚本和自动化。如果你在多平台环境下编写自动化脚本,可以使用这个服务器统一的接口来实现文件查找,而不需要为每个平台编写不同的代码逻辑。

四、安装教程

安装步骤依操作系统不同而有差异。Windows需要额外安装Everything工具和SDK,而macOS和Linux则简单得多。

第一步:根据你的操作系统完成前置准备

Windows用户:

  1. 下载并安装 Everything 搜索引擎。
  2. 安装完成后,确保Everything服务正在运行(通常它会自动随系统启动)。
  3. 下载 Everything SDK。解压缩后,你需要找到Everything64.dll文件(若系统为32位,则为Everything32.dll),并记下它的完整路径,例如C:\Everything-SDK\dll\Everything64.dll

macOS用户:无需额外操作,系统已自带mdfind命令。

Linux用户:确保locateplocate已安装。在Ubuntu/Debian上,运行sudo apt-get install plocate。安装后,运行sudo updatedb来初始化文件数据库。

第二步:安装MCP服务器

推荐使用uvuvx,这是最干净、最快捷的方式。首先,确保已安装uv(一个快速的Python包管理器)。安装命令如下:

macOS 或 Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

第三步:配置你的MCP客户端

我们以Claude Desktop为例。找到其配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

根据你的操作系统,添加相应的配置。

Windows配置(请将EVERYTHING_SDK_PATH替换为你的Everything64.dll的真实路径):

{
  "mcpServers": {
    "everything-search": {
      "command": "uvx",
      "args": ["mcp-server-everything-search"],
      "env": {
        "EVERYTHING_SDK_PATH": "C:\\完整\\路径\\到\\Everything64.dll"
      }
    }
  }
}

macOS或Linux配置

{
  "mcpServers": {
    "everything-search": {
      "command": "uvx",
      "args": ["mcp-server-everything-search"]
    }
  }
}

第四步:重启并验证

保存配置文件,完全退出Claude Desktop并重新启动。在新的对话中,尝试提问:“请帮我搜索一下我的电脑里所有的.txt文件,只返回5个。”

如果配置成功,AI会调用search工具,并返回一个包含文件名、路径、大小和修改日期的列表。

五、使用示例

配置完成后,你就可以用自然语言指挥AI搜索你电脑上的任何文件了。

示例一:基础文件搜索

你问:“帮我找一下我电脑上所有的PDF文件。”

AI会调用search工具,设置query: "*.pdf",并返回所有找到的PDF文件路径(默认100条)。

示例二:高级搜索(Windows)

你问:“帮我找出下载文件夹里,今天修改过的,并且文件名包含‘budget’这个词的Excel文件。”

AI会构建一个复杂的查询:query: "downloads\ budget *.xlsx datemodified:today"。这里假设Everything语法支持路径和关键词的组合。

示例三:按大小排序搜索

你问:“搜索所有的视频文件(mp4, mkv),按文件大小排序,从大到小,只给我最大的5个。”

AI会设置query: "*.mp4 | *.mkv"sort_by: 6(按大小从大到小),max_results: 5

示例四:按日期排序

你问:“帮我找到最近一周我修改过的所有文档,按修改时间从新到旧排序。”

AI会使用datemodified:lastweek语法(取决于平台支持),并设置sort_by: 14(按修改日期从新到旧)。

示例五:使用正则表达式(Windows)

你问:“用正则表达式搜索文件名以数字开头,后面跟着‘_report’的文件。”

AI会设置match_regex: truequery: "^[0-9].*_report"

六、常见问题

问题一:Windows下搜索提示找不到Everything SDK或无法初始化。

解决方案:请确认你在配置文件中正确设置了EVERYTHING_SDK_PATH环境变量,路径指向真实的Everything64.dll文件。如果Everything服务未运行,SDK也无法工作。请检查系统托盘是否有Everything图标,或手动启动Everything。此外,请确保你下载的SDK版本与你的操作系统位数(32位/64位)匹配。

问题二:在Linux上搜索返回结果为空或很少。

解决方案:locate命令是基于一个预先生成的数据库进行搜索的。这个数据库通常每天通过cron任务更新一次。新创建的文件不会立即被搜索到。请手动运行sudo updatedb来更新数据库,然后再尝试搜索。如果问题依旧,确认locate命令在终端中单独运行是有效的。

问题三:在macOS上搜索似乎只能搜到文件名,不能搜文件内容?

解决方案:mdfind命令既可以搜文件名也可以搜内容,但本服务器目前主要实现的是文件名匹配。如果你想搜索文件内容,可以在查询中包含内容关键词。例如,搜索“专利”可能会找到文件名不含“专利”但内容包含该词的文件。具体行为取决于Spotlight索引的配置。

问题四:Windows Everything语法非常强大,但我如何知道怎么写?

解决方案:可以参考项目中的SEARCH_SYNTAX.md文件,或者访问Everything官方文档。一些常用的技巧包括:使用|代表“或”(OR),使用 < >代表大于或小于(如size:>1mb),使用datemodified:today/yesterday/thisweek等。你可以先在Everything软件中测试好语法,再让AI通过服务器执行。

问题五:这个服务器会搜索我所有的文件吗?有没有隐私风险?

解决方案:该服务器的功能仅响应AI的搜索请求。它不会主动上传任何数据。你的搜索请求和结果只会保留在你自己的电脑和与AI客户端的通信中。为了隐私安全,不要将搜索功能授权给不可信的AI或场景。服务器本身不提供额外的访问控制,任何能调用此工具的AI都能搜索其有权访问的文件系统。

七、总结

mcp-everything-search是一个实用、高效且设计巧妙的MCP服务器。它将不同操作系统上最优秀的本地文件搜索工具,通过一个统一的接口,无缝地暴露给了AI客户端。

该项目最大的亮点在于其对Windows平台Everything引擎的深度集成。为Windows用户提供了可能是最快的文件搜索体验。同时,它对macOS和Linux的支持也非常务实,没有重新发明轮子,而是直接利用了系统已有的成熟工具。

对于个人用户,它是找回丢失文件、管理磁盘空间的利器。对于开发者,它是构建需要本地文件感知的AI应用的基础组件。它的跨平台特性,也让开发者在编写相关自动化脚本时,能大大减少工作量。

如果你经常在电脑上找不到文件,或者希望你的AI助手能更了解你的本地文件世界,mcp-everything-search绝对值得你立即尝试。尤其对于Windows用户,它将带给你前所未有的文件搜索速度体验。

标签: 搜索与检索

已有 32 条评论

    1. SophiaMitchell SophiaMitchell

      我把它用在了我的数字资产管理系统里。让AI根据文件名模式搜索资源,比在文件夹里翻找快多了。

    2. AidenRoberts AidenRoberts

      This project showcases how MCP can bring platform-specific superpowers to AI in a unified way.

    3. ZoeyTurner ZoeyTurner

      同时配置了Filesystem和这个Everything Search,我的AI现在是真正的本地文件管理大师了。

    4. LeoParker LeoParker

      The search speed on Windows is literally instant. Even with wildcard and regex, it's under a second.

    5. HannahEdwards HannahEdwards

      教程中提到的Everything SDK需要手动下载,如果能提供一个可以直接pip安装的包装器就更完美了。