MM

mamertofabian/mcp-everything-search

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

366 stars 40 forks 质量 85 趋势 33MIT

一台MCP服务器,提供跨Windows、macOS和Linux的快速文件搜索功能。在Windows上,它使用Everything SDK。在macOS上,它使用内置的mdfind命令。

概览

一台MCP服务器,提供跨Windows、macOS和Linux的快速文件搜索功能。在Windows上,它使用Everything SDK。在macOS上,它使用内置的mdfind命令。在Linux上,它使用locate/plocate命令。 在系统内搜索文件和文件夹。搜索功能和语法支持因平台而异: - Windows:完整的 Everything SDK 功能(见下方语法指南)- macOS:使用 Spotlight 数据库进行基础文件名和内容搜索- Linux:使用 locate 数据库进行基础文件名搜索 - 查询(必填):搜索查询字符串。详见下方平台特定说明。

概述(AI 翻译)

一台MCP服务器,提供跨Windows、macOS和Linux的快速文件搜索功能。在Windows上,它使用Everything SDK。在macOS上,它使用内置的mdfind命令。在Linux上,它使用locate/plocate命令。

需要 Python 3.10+。自 0.3.0 起,服务器基于 MCP Python SDK 2.x 构建。发布说明请参见 CHANGELOG.md。

工具

搜寻

在系统内搜索文件和文件夹。搜索功能和语法支持因平台而异:

  • Windows:完整 Everything SDK 功能(见下方语法指南)
  • macOS:使用Spotlight数据库进行基本文件名和内容搜索
  • Linux:使用定位数据库进行基础文件名搜索

参数被分组为 base 对象(所有平台)和平台特定对象。服务器在其工具架构中只公告当前平台的对象。

base(必修):

  • query(必填):搜索查询字符串。请参阅语法指南。
  • max_results(可选):返回的最大结果数(默认:100,范围:1-1000)

windows_params(可选,仅限Windows):

  • match_path:匹配完整路径,而非仅文件名(默认:false)

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

Everything Search MCP Server

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 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.

在 GitHub 查看完整 README

安装

uvx mcp-server-everything-search
新手?先看 mcpskill.org 教程 →

配置

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