mcp-everything-search
Click on "Deploy 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., "@mcp-everything-searchfind all JavaScript files modified in the last 24 hours"
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.
Everything Search MCP Server
A Model Context Protocol (MCP) server that integrates Everything Search with Claude Code, providing lightning-fast file searching capabilities.
Features
400x faster than traditional file search methods (find, ls, Get-ChildItem)
Sub-second results across entire drives
5 specialized search tools:
search_files- Search by filename patternsearch_recent- Find recently modified filessearch_large- Find largest filessearch_by_extension- Search by file type (code, docs, media, etc.)search_in_path- Search within specific directories
Help resources - Access complete documentation via MCP resources
Related MCP server: Everything Search MCP Server
Requirements
Node.js (v18+)
Everything Search desktop application running (download from voidtools.com)
es.exe (Everything CLI) at
D:\WORKSPACE\tools\common\es.exe
Installation
cd D:\WORKSPACE\tools-node\mcp-everything-search
npm install
npm run buildConfiguration
Add to ~/.claude.json:
{
"mcpServers": {
"everything-search": {
"command": "node",
"args": [
"D:\\WORKSPACE\\tools-node\\mcp-everything-search\\build\\index.js"
],
"env": {
"ES_EXE_PATH": "D:\\WORKSPACE\\tools\\common\\es.exe"
}
}
}
}Add to ~/.claude/settings.json:
{
"permissions": {
"allow": [
"mcp__everything-search"
]
}
}Usage
Once configured, Claude Code can use the search tools automatically:
"Find all JavaScript files modified in the last 24 hours"
"Show me the 10 largest files in the workspace"
"Search for all markdown files in D:\WORKSPACE"
"Find all TypeScript files in the src directory"
Performance
Method | Time | vs Baseline |
Everything Search | 0.05s | 400x faster |
find command | 20s | Baseline |
Glob tool | 5-10s | 2-4x faster |
Tools
search_files
Search by filename pattern with wildcards or regex.
search_recent
Find files modified within the last N hours, sorted by modification date.
search_large
Find the largest files, optionally with minimum size threshold.
search_by_extension
Search by file type category (code, docs, media) or custom extensions.
search_in_path
Search within a specific directory, with optional recursion.
Development
# Watch mode
npm run watch
# Build
npm run buildLicense
MIT
Available Tools
5 toolssearch_by_extensionB
Search for files by type category (code, docs, media, config, data) or custom extensions. Fast way to find all files of a certain type.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Optional: Restrict search to this directory path | |
| type | Yes | File type: "code", "docs", "media", "config", "data", or "custom" | |
| pattern | No | Optional: Additional pattern to filter filenames | |
| maxResults | No | Maximum number of results to return (default: 50) | |
| customExtensions | No | Custom file extensions when type is "custom" (e.g., ["log", "tmp"]) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only mentions the search capability without disclosing whether searches are recursive, how results are ordered, any default limits beyond the schema's maxResults, or that it is a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loaded with the core functionality. The second sentence, 'Fast way to find all files of a certain type,' is slightly redundant but does not significantly waste space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should clarify the return format (e.g., file paths), recursion behavior, and the relationship between type='custom' and customExtensions. These practical details are absent, leaving the agent to infer critical execution context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of the 5 parameters, so the baseline is 3. The description adds context by enumerating type categories and mentioning custom extensions, but it doesn't add meaning for path, pattern, or maxResults beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches for files by type category or custom extensions, distinguishing it from sibling tools that filter by recency, size, or path. The verb 'search' and resource 'files' are specific, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Fast way to find all files of a certain type' implies usage for finding files by type, but it does not explicitly state when to prefer this tool over sibling tools like search_files or search_in_path, nor does it mention any exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_filesA
Search for files and folders by name pattern using Everything Search (extremely fast). Supports wildcards (* and ?) and regex patterns. Use this instead of find, ls, or Glob for much faster results.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Optional: Restrict search to this directory path | |
| regex | No | Use regular expression instead of wildcards (default: false) | |
| pattern | Yes | Search pattern (e.g., "*.js", "test*", "README.md"). Use * for any characters, ? for single character | |
| matchPath | No | Match pattern against full path instead of just filename (default: false) | |
| maxResults | No | Maximum number of results to return (default: 50) | |
| caseSensitive | No | Whether to match case (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavioral traits. It adds useful context about speed and the underlying Everything Search engine, but it does not disclose output format, default sorting, hidden file handling, or other behaviors that an agent might need to know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the primary purpose, and every sentence earns its place. It avoids fluff and is well-structured for quick parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters and no output schema, the description is minimally adequate. The schema covers parameters well, but the description does not explain what the tool returns (e.g., list of paths, count, etc.), leaving some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are fully documented. The description mentions wildcards and regex, which are already covered in the pattern parameter description, adding little extra semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for files and folders by name pattern, using a specific verb and resource. It also specifies the underlying engine (Everything Search) and distinguishes itself from common alternatives like find, ls, and Glob, though not from its sibling tools directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly recommends using this tool over find, ls, or Glob for faster results, providing clear usage context. However, it does not mention when to use sibling tools like search_recent or search_by_extension, so it lacks explicit exclusions among alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_in_pathA
Search for files within a specific directory. Use this to limit search scope to a particular folder. Much faster than recursive directory scans.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Directory path to search in | |
| pattern | Yes | Search pattern (e.g., "*.txt", "config*") | |
| recursive | No | Include subdirectories (default: true) | |
| maxResults | No | Maximum number of results to return (default: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It mentions 'much faster than recursive directory scans' as a behavioral trait, but omits details like default recursion (true), result limits (50), or any permissions/side effects. Basic search behavior is implied, but not richly disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The main purpose is front-loaded, and the second sentence adds a usage cue and performance benefit. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with 4 parameters and no output schema, the description is reasonably complete. It covers the core use case and differentiates from siblings. Missing explicit guidance on when not to use (e.g., vs search_by_extension) but overall sufficient for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameters with descriptions, so baseline is 3. The tool description adds no extra semantic detail beyond the schema, such as pattern syntax or edge cases. It neither enhances nor detracts from parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Search for files within a specific directory.' It uses a specific verb ('search') and resource ('files within a directory'). It also distinguishes from siblings by emphasizing directory-scoped search and speed advantage over recursive scans.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this to limit search scope to a particular folder,' providing clear when-to-use context. It implies alternatives exist (e.g., other search tools) but does not name them or state when not to use. Still, the usage cue is actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_largeA
Find the largest files in a directory. Useful for finding files that take up the most space. Results are sorted by size (largest first).
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Optional: Directory to search in (default: current workspace) | |
| minSizeMB | No | Optional: Minimum file size in MB to include | |
| maxResults | No | Number of largest files to return (default: 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context that results are 'sorted by size (largest first),' but it does not disclose whether the search is recursive, whether directories are included, or the exact return format. This leaves some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that front-load the core purpose ('Find the largest files in a directory') followed by a practical use case and a key behavioral detail (sorting). Every sentence adds value with zero redundancy or irrelevant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity, the description is mostly complete: it states what it does, the sorting behavior, and the primary use case. However, it omits information about recursion depth or output format, and there is no output schema to compensate. Minor gaps remain, but the description is adequate for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% description coverage for all three parameters (path, minSizeMB, maxResults), including defaults and meanings. The tool description itself adds no additional parameter semantics beyond what the schema states, so it meets the baseline without going further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's primary function: 'Find the largest files in a directory.' It uses a specific verb and resource, and the follow-up about sorting by size distinguishes it from sibling search tools that target by name, recency, extension, or path. This makes the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear use context: 'Useful for finding files that take up the most space.' This implies when to use it (e.g., disk cleanup). However, it does not explicitly mention when not to use it or contrast it with specific sibling tools, so it falls short of full alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_recentA
Find files modified within the last N hours. Extremely fast way to find recently changed files. Much faster than using find with -mtime.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Optional: Restrict search to this directory path | |
| hours | No | Number of hours to look back (default: 24) | |
| extension | No | Optional: Filter by file extension (e.g., "js", "py", "md") | |
| maxResults | No | Maximum number of results to return (default: 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits itself. It mentions performance but does not state that this is a read-only operation, what output format is returned, or any limitations like symlink handling. The non-destructive nature is implied but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the purpose and add a performance note. Every word earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with inputs fully documented, but there is no output schema, and the description does not mention what the results look like (e.g., file paths). This leaves some ambiguity about the return value, but the core behavior is understandable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 4 parameters with descriptions at 100% coverage, so the schema does the heavy lifting. The description adds nothing beyond the 'N hours' concept, staying at the baseline 3 for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource+qualifier: 'Find files modified within the last N hours.' This clearly distinguishes it from sibling tools that search by content or path. The focus on recency is explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States this is the fastest way to find recently changed files and directly compares to 'find -mtime' as a slower alternative, providing clear context for when to use it. However, it does not explicitly mention when to use sibling search tools or provide exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.0.0- First observed
search_by_extension - First observed
search_files - First observed
search_in_path - First observed
search_large - First observed
search_recent
TDQS
Scored across 5 tools
Each tool targets a distinct search filter (name, recency, size, extension, path), but there is some overlap since search_files can mimic the others with wildcards and path prefixes. The descriptions clearly explain the intended use cases, so confusion is limited.
All tool names follow the consistent pattern 'search_<criterion>', using snake_case throughout. The naming is predictable and easy to understand.
Five tools is well-scoped for a file-search server, covering the most common search criteria without unnecessary bloat. Each tool has a clear purpose and the set feels complete for the domain.
The toolset covers major file search dimensions: name, recency, size, extension, and path. Minor gaps exist, such as searching by exact size range or creation date, but these are edge cases and the core workflow is well supported.
Maintenance
Related MCP Connectors
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Give Claude only the Google Drive files you choose. Every action logged.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
One workspace of tools for Claude and ChatGPT: connect 600+ apps, generate media, build tools.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables instant file and folder searching on Windows using Everything's blazing-fast search engine, supporting powerful search syntax including wildcards, regex, size filters, date filters, and comprehensive file information retrieval.582 npm12MIT
- AlicenseNot gradedqualityDmaintenanceIntegrates with Everything Search Engine to provide lightning-fast file search capabilities across Windows systems using natural language queries and advanced filtering options through MCP-compatible applications.1ISC
- AlicenseBqualityDmaintenanceIntegrates voidtools Everything search engine with AI assistants to provide lightning-fast file search, GitHub integration, intent-based code research, and spec-driven development tools for Windows.52MIT
- AlicenseBqualityCmaintenanceIntegrates Everything file search with Claude Desktop, enabling instant Windows filesystem search via natural language queries.167MIT