你是否曾经因为找不到某个几个月前的文档而烦恼?或者你的电脑上散落着成千上万个文件,让你在需要的时候总是大海捞针?如果能让你的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. NoahMartinez NoahMartinez

      This is a textbook example of the right tool for the job. It doesn't try to index files itself, it delegates to the best existing tools.

    2. CharlotteAnderson CharlotteAnderson

      作为一名记者,我用它来快速定位过去一年的采访录音文件。按日期排序的搜索功能帮了大忙。

    3. BenjaminClark BenjaminClark

      我写了一个自动化脚本,每天让AI搜索“*.tmp”文件,然后生成报告,帮助我保持系统清洁。

    4. GraceKing GraceKing

      在Windows上,Everything SDK的配置对新手来说有点门槛,但教程讲得很清楚,一次就成功了。

    5. LiamThomas LiamThomas

      The response includes file size and modification date, not just the path. Very useful for decision-making.