everything-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@everything-mcpsearch for .pdf files modified today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Quick start
/plugin marketplace add elis132/everything-mcp
/plugin install everything-mcp@everything-mcpThat's it for Claude Code - the plugin bundles the MCP server and a skill that teaches the query syntax. For every other client, see Installation below.
Related MCP server: mcp-everything-search
Why this one
everything-mcp (this) | mamertofabian (342⭐) | Josephur (26⭐) | essovius | |
Tools | 5 | 1 | 1 | 16 |
Setup | Auto-detects es.exe | Manual SDK DLL path | Manual HTTP server + host/port | Manual es.exe in PATH |
Everything 1.5 | Auto-detects instance | Not supported | Untested | Manual flag |
Talks to Everything via |
| Everything SDK (DLL) | Everything's HTTP server plugin (unauthenticated) |
|
Tests / CI | pytest, GitHub Actions | None visible | None visible | None visible |
Performance
es.exe (Everything's real-time NTFS index) vs. a naive filesystem walk, same query:
everything-mcp: 220 ms avg (5 runs)
Naive walk of
C:\: 66,539 ms~300x faster
@'
import os, subprocess, time, statistics
ES = os.path.expandvars(r"%LOCALAPPDATA%\Everything\es.exe")
QUERY = "everything.exe"
es_runs = []
for _ in range(5):
t0 = time.perf_counter()
subprocess.run([ES, "-n", "100", QUERY], capture_output=True, text=True)
es_runs.append((time.perf_counter() - t0) * 1000)
t0 = time.perf_counter()
matches = []
for dirpath, _, filenames in os.walk(r"C:\\"):
for name in filenames:
if name.lower() == QUERY:
matches.append(os.path.join(dirpath, name))
walk_ms = (time.perf_counter() - t0) * 1000
es_avg = statistics.mean(es_runs)
print("ES avg ms:", round(es_avg, 2))
print("Walk ms:", round(walk_ms, 2))
print("Speedup x:", round(walk_ms / es_avg, 1))
print("Matches:", len(matches))
'@ | python -Installation
Prerequisites
Windows with Everything installed and running
es.exe (Everything's command-line interface) - included with Everything 1.5 alpha, or install separately:
winget install voidtools.Everything.Cliscoop install everything-clichoco install esor download from github.com/voidtools/es and place it in your PATH
Python 3.10+ or uv
Run the server
uvx everything-mcp # recommended, no install needed
pip install everything-mcp # or via pipFrom source:
git clone https://github.com/elis132/everything-mcp.git
cd everything-mcp && pip install -e ".[dev]"Add it to your client
Every client below uses the same MCP server definition:
{
"mcpServers": {
"everything": {
"command": "uvx",
"args": ["everything-mcp"]
}
}
}Client | How to add it |
Claude Code |
|
Claude Desktop | Paste the JSON above into |
Codex CLI |
|
Gemini CLI |
|
Kimi CLI |
|
Qwen CLI |
|
Cursor | Paste the JSON above into Cursor's MCP settings UI |
Windsurf | Paste the JSON above into |
Any other MCP client | Use the JSON above verbatim |
{ "mcpServers": { "everything": { "command": "everything-mcp" } } }Or with explicit Python: {"command": "python", "args": ["-m", "everything_mcp"]}
Environment variables (optional)
Everything MCP auto-detects your setup, but you can override:
Variable | Description | Example |
| Path to es.exe |
|
| Named Everything instance |
|
| Hard cap on results per search (default |
|
Only set
EVERYTHING_INSTANCEif you explicitly configured a named instance in Everything (Tools → Options → General → Instance). Most installs - including most Everything 1.5 installs - run on the default instance; setting this unnecessarily breaks the connection. If in doubt, leave it out.
{
"mcpServers": {
"everything": {
"command": "uvx",
"args": ["everything-mcp"],
"env": { "EVERYTHING_INSTANCE": "1.5a" }
}
}
}Tools
1. everything_search - the workhorse
Parameter | Default | Description |
| (required) | Everything search query |
| 50 | 1-500 |
|
| name, path, size, date-modified, date-created, extension (+ |
| false | Match modifiers |
| 0 | Pagination offset |
Query syntax:
*.py all Python files
ext:py;js;ts multiple extensions
ext:py path:C:\Projects Python files under a path
size:>10mb larger than 10 MB
size:1kb..1mb between 1 KB and 1 MB
dm:today / dm:last1week modified today / in the last week
dc:2024 created in 2024
"exact name.txt" exact filename match
project1 | project2 OR search
!node_modules exclude a term
content:TODO files containing TODO (needs content indexing)
regex:^test_.*\.py$ regex search
parent:src ext:py files directly inside 'src' folders
dupe: / empty: duplicate filenames / empty folders2. everything_search_by_type - category search
Categories: audio, video, image, document, code, archive, executable, font, 3d, data
Parameters: file_type (required), query, path, max_results, sort
3. everything_find_recent - what changed?
Periods: 1min … 12hours, today, yesterday, 1day … 1year
Parameters: period (default 1hour), path, extensions, query, max_results
4. everything_file_details - deep inspection
Parameters: paths (required, 1-20), preview_lines (0-200)
Returns full metadata; for directories, item count and listing; for text files with a preview, the first N lines.
5. everything_count_stats - quick analytics
Parameters: query (required), include_size (default true), breakdown_by_extension
Count and size stats without listing every file - check scope before a big search.
Examples
Ask | Call |
Python files modified today in my project |
|
How much space do my log files use? |
|
First 50 lines of a config file |
|
Duplicate filenames in Documents |
|
Images larger than 5MB |
|
Troubleshooting
"es.exe not found" - Install Everything and es.exe, or set EVERYTHING_ES_PATH.
"Everything IPC window not found" - Make sure Everything is running (check the system tray). If you set EVERYTHING_INSTANCE, try removing it - most installs don't need it. Everything Lite doesn't support IPC.
No results for valid queries - Confirm Everything's index has finished building, try the same query in Everything's GUI, and check the drive/path is included in Everything's index settings.
Debugging:
everything-mcp 2>everything-mcp.log # server logs
npx @modelcontextprotocol/inspector uvx everything-mcp # MCP InspectorDevelopment
pip install -e ".[dev]" # install with dev dependencies
pytest # run tests
ruff check src/ tests/ # lintContributions welcome - see CLAUDE.md for the architecture and design decisions. Areas of interest: direct named-pipe IPC, Everything SDK3 for 1.5, content search, file-watching, bookmark/tag support.
License
MIT - see LICENSE
Acknowledgments
voidtools for Everything, Anthropic for the Model Context Protocol, and the MCP community.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/elis132/everything-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server