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 整合