Everything Search

io.github.mamertofabian由 GitHub 账号 mamertofabian 发布v0.3.3更新于 Oct 31, 2026

Fast file search: Everything SDK on Windows, Spotlight (mdfind) on macOS, locate/plocate on Linux.

发布方自己的服务:mcp-everything: Russian APIs

已验证STDIO仅桌面文件与存储开发者工具

概览

AI 生成的概览

本地 MCP 服务器,让助手搜索本机文件和文件夹:Windows 用 Everything,macOS 用 Spotlight,Linux 用 locate。

可以做什么
  • 用一个搜索工具在本机检索文件和文件夹,返回路径、文件名、大小和时间戳。
  • Windows 上可使用完整的 Everything SDK 选项:路径匹配、大小写、整词、正则,以及按名称、路径、大小、扩展名或日期排序。
  • macOS 上可限定搜索目录,并以字面或解释方式传递 Spotlight 查询。
  • Linux 上可切换忽略大小写与正则匹配、只列出现存文件,或仅返回匹配数量。
适用场景
适合让助手按名称、扩展名、日期或模式在你自己的电脑上查找文件,而不必手动翻目录。Windows 上功能最完整;macOS 和 Linux 只提供基本的文件名或内容搜索。
运行要求
作为本地 Python 进程运行(Python 3.10 以上),通常通过 uvx 或 pip 启动。Windows 需安装并运行 Everything 搜索工具及 Everything SDK,并将 EVERYTHING_SDK_PATH 指向 Everything64.dll。Linux 需安装 locate 或 plocate 并更新数据库;macOS 无需额外配置。可用 EVERYTHING_SEARCH_TOOL_NAME 重命名搜索工具。
安装前请注意
助手可枚举整块磁盘上的文件名、路径、大小和时间戳,属于敏感信息。搜索本身只读,但结果会交给模型,可能依客户端而离开本机。Windows 上缺少有效的 EVERYTHING_SDK_PATH 时服务器无法启动,Everything 未运行则搜索失败。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Everything Search,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Everything Search MCP Server

[PyPI] [CI]

An MCP server that provides fast file searching capabilities across Windows, macOS, and Linux. On Windows, it uses the Everything SDK. On macOS, it uses the built-in mdfind command. On Linux, it uses the locate/plocate command.

Requires Python 3.10+. Since 0.3.0 the server is built on the MCP Python SDK 2.x. See CHANGELOG.md for release notes.

Tools

search

Search for files and folders across your system. The search capabilities and syntax support vary by platform:

  • Windows: Full Everything SDK features (see syntax guide below)
  • macOS: Basic filename and content search using Spotlight database
  • Linux: Basic filename search using locate database

Arguments are grouped into a base object (all platforms) and a platform-specific object. The server advertises only the current platform's object in its tool schema.

base (required):

  • query (required): Search query string. See the syntax guide.
  • max_results (optional): Maximum number of results to return (default: 100, range: 1-1000)

windows_params (optional, Windows only):

  • match_path: Match against full path instead of filename only (default: false)
  • match_case: Enable case-sensitive search (default: false)
  • match_whole_word: Match whole words only (default: false)
  • match_regex: Enable regex search (default: false)
  • sort_by: Sort order for results (default: 1). Available options:
  - 1: Sort by filename (A to Z)  - 2: Sort by filename (Z to A)  - 3: Sort by path (A to Z)  - 4: Sort by path (Z to A)  - 5: Sort by size (smallest first)  - 6: Sort by size (largest first)  - 7: Sort by extension (A to Z)  - 8: Sort by extension (Z to A)  - 11: Sort by creation date (oldest first)  - 12: Sort by creation date (newest first)  - 13: Sort by modification date (oldest first)  - 14: Sort by modification date (newest first)

mac_params (optional, macOS only):

  • search_directory: Limit the search to a directory (mdfind -onlyin). ~ is expanded; the directory must exist.
  • literal_query: Treat the query as a literal Spotlight query string (-literal)
  • interpret_query: Interpret the query as if typed in the Spotlight menu (-interpret)
  • live_updates: Not supported. mdfind -live never exits, so setting it returns an error.

By default the query is a filename search (mdfind -name). Setting literal_query or interpret_query passes the query to Spotlight as-is instead; such a query must not start with -, because mdfind would read it as an option.

linux_params (optional, Linux only):

  • ignore_case: Case-insensitive search, -i (default: true)
  • regex_search: Treat the query as a regular expression (default: false)
  • existing_files: Only list files that still exist, -e (default: true)
  • count_only: Return only the number of matches, -c (default: false)

Examples:

json
{  "base": {"query": "*.py", "max_results": 50},  "windows_params": {"sort_by": 6}}
json
{  "base": {"query": "ext:py datemodified:today", "max_results": 10}}
json
{  "base": {"query": "ENABLE", "max_results": 50},  "mac_params": {"search_directory": "/Users/me/code/myrepo"}}

Each result includes:

  • Path: full path
  • Filename: name, with the extension in parentheses when present
  • Size: size in bytes
  • Created, Modified, Accessed: timestamps, or N/A when unavailable

If a search fails (invalid arguments, Everything not running, a search command taking longer than 30 seconds, and so on), the tool returns an error result (isError: true) whose text starts with Search failed:.

On Windows, if some matches cannot be read from Everything (for example a file with a corrupt timestamp), the readable results are returned and the output ends with Warning: N matching result(s) could not be read and were omitted.

Search Syntax Guide

For detailed information about the search syntax supported on each platform (Windows, macOS, and Linux), please see SEARCH_SYNTAX.md.

Prerequisites

Windows

  1. Everything search utility:
  2. Everything SDK:

Linux

  1. Install and initialize the locate or plocate command:
    • Ubuntu/Debian: sudo apt-get install plocate or sudo apt-get install mlocate
    • Fedora: sudo dnf install mlocate
  2. After installation, update the database:
    • For plocate: sudo updatedb
    • For mlocate: sudo /etc/cron.daily/mlocate

macOS

No additional setup required. The server uses the built-in mdfind command.

Installation

Using uv (recommended)

When using uv no specific installation is needed. We will use uvx to directly run mcp-server-everything-search.

Upgrading from 0.2.x: uvx may keep using a cached 0.2.1, which fails to start with the current MCP SDK ('Server' object has no attribute 'list_resources', see #39). Run it once with the latest version to refresh the cache:

uvx mcp-server-everything-search@latest

Using PIP

Alternatively you can install mcp-server-everything-search via pip:

pip install -U mcp-server-everything-search

After installation, you can run it as a script using:

python -m mcp_server_everything_search

Configuration

Windows

Set EVERYTHING_SDK_PATH to the full path of Everything64.dll from the Everything SDK. It is required: the server stops at startup with an error naming the variable if it is unset or does not point to a file.

EVERYTHING_SDK_PATH=C:\path\to\Everything-SDK\dll\Everything64.dll

Linux and macOS

No additional configuration required.

Tool name

The tool is called search by default. If that name collides with another MCP server's tool in your client, rename it:

EVERYTHING_SEARCH_TOOL_NAME=everything_search

The name may use letters, digits, _ and - (1-64 characters). An invalid value stops the server at startup.

Usage with Claude Code

Windows:

claude mcp add everything-search -e EVERYTHING_SDK_PATH="C:\path\to\Everything-SDK\dll\Everything64.dll" -- uvx mcp-server-everything-search

Linux and macOS:

claude mcp add everything-search -- uvx mcp-server-everything-search

Usage with Claude Desktop

Add one of these configurations to your claude_desktop_config.json based on your platform:

Windows (using uvx)
json
{  "mcpServers": {    "everything-search": {      "command": "uvx",      "args": ["mcp-server-everything-search"],      "env": {        "EVERYTHING_SDK_PATH": "path/to/Everything-SDK/dll/Everything64.dll"      }    }  }}
Windows (using pip installation)
json
{  "mcpServers": {    "everything-search": {      "command": "python",      "args": ["-m", "mcp_server_everything_search"],      "env": {        "EVERYTHING_SDK_PATH": "path/to/Everything-SDK/dll/Everything64.dll"      }    }  }}
Linux and macOS
json
{  "mcpServers": {    "everything-search": {      "command": "uvx",      "args": ["mcp-server-everything-search"]    }  }}

Or if using pip installation:

json
{  "mcpServers": {    "everything-search": {      "command": "python",      "args": ["-m", "mcp_server_everything_search"]    }  }}

Debugging

You can use the MCP inspector to debug the server. For uvx installations:

npx @modelcontextprotocol/inspector uvx mcp-server-everything-search

Or if you've installed the package in a specific directory or are developing on it:

git clone https://github.com/mamertofabian/mcp-everything-search.gitcd mcp-everything-searchnpx @modelcontextprotocol/inspector uv run mcp-server-everything-search

To view server logs:

Linux/macOS:

bash
tail -f ~/.config/Claude/logs/mcp*.log

Windows (PowerShell):

powershell
Get-Content -Path "$env:APPDATA\Claude\logs\mcp*.log" -Tail 20 -Wait

Development

If you are doing local development, there are two ways to test your changes:

  1. Run the MCP inspector to test your changes. See Debugging for run instructions.

  2. Test using the Claude desktop app. Add the following to your claude_desktop_config.json:

json
{  "mcpServers": {    "everything-search": {      "command": "uv",      "args": [        "--directory",        "/path/to/mcp-everything-search",        "run",        "mcp-server-everything-search"      ],      "env": {        "EVERYTHING_SDK_PATH": "path/to/Everything-SDK/dll/Everything64.dll"      }    }  }}

Tests and checks

uv run pytestuv run ruff checkuv run pyright

CI runs the tests on Windows, macOS and Linux (Python 3.10 and 3.13). Code changes are planned as MAID manifests in manifests/; see CLAUDE.md/AGENTS.md and run scripts/maid validate before opening a pull request.

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

Disclaimer

This project is not affiliated with, endorsed by, or sponsored by voidtools (the creators of Everything search utility). This is an independent project that utilizes the publicly available Everything SDK.

来源:README.md,提交 a21b9b6

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.3.3最新Oct 17, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Mcp-Everything 集成