Everything Search MCP Server: Multi-OS File Search
Search files fast with the Everything Search MCP server across Windows (Everything SDK), macOS (mdfind) and Linux (locate/plocate).
npx -y @mamertofabian/mcp-everything-searchOverview
Everything Search MCP Server exposes a fast cross-platform file search backend to tools and language models through the Model Context Protocol (MCP). It connects to native indexers on each operating system — Everything (Windows), Spotlight/mdfind (macOS), and locate/plocate (Linux) — and exposes a consistent, JSON-driven interface for queries and results. That lets agents, assistants or developer tools ask for file lists, content-aware filters and metadata without needing OS-specific code.
This is useful when you need programmatic, low-latency file discovery across heterogeneous environments. Instead of implementing separate integrations for each platform, the MCP server normalizes results and provides common options (query, path/pattern filters, limits, and sort). It is well suited for LLM tool integrations, remote assistants and automation hooks that need to reference or attach files from a host filesystem.
Features
- Native indexer integrations:
- Windows: Everything SDK
- macOS: Spotlight via mdfind
- Linux: locate/plocate (with updatedb)
- Single MCP-compatible API that normalizes results across OSes
- Query filters: glob patterns, path filters, size and time ranges
- Result paging and limit controls
- Lightweight, low-latency responses suitable for agents and tools
- Configurable per-OS backend enable/disable and settings
- Works with local binaries and system indexers (no full-text reindex required)
Installation / Configuration
Prerequisites (per OS)
- Windows: Install Everything and the Everything SDK so the server can call into the native indexer.
- macOS: Spotlight is available by default; ensure the target paths are indexed.
- Linux: Install locate or plocate and run updatedb to build or refresh the index.
Clone and run the server (example)
# clone the repository
# build/run using the toolchain described in the project README
# common examples:
# - run a pre-built binary (if provided)
# - or run from source (if the project uses Rust)
Example configuration (config.yml)
server:
host: 0.0.0.0
port: 3000
backends:
windows:
enabled: true
sdk_path: "C:\\Program Files\\Everything\\Everything64.dll"
macos:
enabled: true
linux:
enabled: true
indexer: "plocate"
search:
default_limit: 50
case_sensitive: false
Platform tips
- Windows: Point the config to the Everything SDK DLL or ensure the SDK is on PATH. Allow the server process to access the Everything service.
- macOS: Spotlight must be enabled for indexed locations. Use mdls/mdfind as supported by the OS.
- Linux: Use plocate for faster searches if available; run
sudo updatedbperiodically to refresh the locate database.
Available Resources
- Native indexers:
- Everything (Windows) — Everything SDK for programmatic access
- mdfind / Spotlight (macOS)
- locate / plocate and updatedb (Linux)
- Configuration file (YAML) to enable/disable backends and tune limits
- MCP-compatible tool contract (exposes a standardized search tool for LLM integrations)
- Example clients: simple HTTP or MCP client snippets (see repo examples)
Platform command table
| Platform | System indexer | Typical command |
|---|---|---|
| Windows | Everything SDK | Everything SDK DLL / Windows API |
| macOS | Spotlight | mdfind / mdls |
| Linux | plocate/locate | updatedb / locate |
Use Cases
- LLM-assisted codebase search: An agent can call the MCP search tool to list project files matching names or patterns (e.g., “find all Dockerfiles and .env files