Everything MCP Server
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., "@Everything MCP Serversearch my Downloads folder for PDFs modified this week"
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 MCP (Native Plugin & MCP Server)
Model Context Protocol (MCP) Server for Everything 1.5.
本项目参考 voidtools/http_server 和 voidtools/etp_server 官方原生插件架构开发,将 Model Context Protocol (MCP) 服务作为 Everything 1.5 原生 C 语言 DLL 插件 (mcp_server64.dll) 运行于 Everything 进程内部,同时提供一键安装程序 (Everything-MCP-Server-Setup.exe) 与独立服务运行模式。
🌟 核心特性
官方原生插件架构:实现 Everything 1.5 插件标准生命周期回调与动态函数绑定,直接调用内存中的
db_query_*索引查询引擎。Everything 选项菜单集成:无缝集成至 Everything 的
工具 -> 选项 -> 插件 -> MCP Server配置页,支持图形化管理服务开关、管道名称、端口、最大结果数等。双传输通道:支持 Windows 命名管道(
\\.\pipe\EverythingMCP)与本地 HTTP/SSE(http://127.0.0.1:8765/mcp)。完整 MCP 工具集:提供搜索、定向文件/文件夹查找、元数据查询、安全文本预览、状态检测等 6 项标准 MCP 工具。
Related MCP server: Enhanced Everything MCP Server
📦 插件安装与使用
方式一:一键安装程序(推荐)
下载或编译生成的
dist-plugin/Everything-MCP-Server-Setup.exe。双击运行安装程序,点击确认完成部署。
在 Everything 中点击
文件 -> 退出,然后重新打开 Everything 1.5。
方式二:手动复制 DLL
将
dist-plugin/mcp_server64.dll复制到 Everything 的Plugins目录(例如C:\Program Files\Everything\Plugins\或D:\Set\Everything\Everything\Plugins\)。在 Everything 中点击
文件 -> 退出并重新启动 Everything。
管理插件选项
在 Everything 主界面中,点击 工具 (Tools) -> 选项 (Options) -> 插件 (Plug-ins) -> MCP Server 即可实时调整配置。
🤖 接入 AI 客户端配置
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"everything": {
"command": "node",
"args": [
"D:\\Set\\Everything\\EverythingPlugin\\Everything MCP\\bridge\\everything-pipe-bridge.ts"
]
}
}
}Cursor / Cline / Windsurf
{
"mcpServers": {
"everything": {
"command": "node",
"args": [
"D:/Set/Everything/EverythingPlugin/Everything MCP/bridge/everything-pipe-bridge.ts"
]
}
}
}🔧 支持的 MCP 工具列表
工具名称 | 功能描述 |
| 通用全文检索,支持通配符、 |
| 结构化查找文件(按名称、扩展名、目录、大小与日期) |
| 结构化查找目录 |
| 查询文件/目录在 Everything 中的索引属性与本地文件属性 |
| 文本文件安全预览(支持设置最大行数与字节数,自动检测二进制文件) |
| 查看 Everything MCP 插件运行状态与配置详情 |
🛠️ 本地编译构建
一键构建原生插件与安装程序
build.bat构建生成的文件位于 dist-plugin/:
dist-plugin/mcp_server64.dlldist-plugin/Everything-MCP-Server-Setup.exe
编译 TypeScript 独立服务
npm install
npm test
npm run build📁 项目目录结构
📁 Everything MCP/
├── 📁 native-plugin/ # C 语言原生 Everything 1.5 插件源码
│ ├── 📄 everything_plugin.h # Everything 1.5 官方 SDK 头文件
│ ├── 📄 mcp_server.h & .c # 进程内 MCP 协议、命名管道与 HTTP 引擎
│ ├── 📄 plugin_main.c # everything_plugin_proc 生命周期与选项 UI
│ ├── 📄 version.h # 版本定义
│ ├── 📄 mcp_server.def # 导出定义
│ └── 📄 build.bat # 插件编译脚本
├── 📁 setup/ # 官方风格一键安装程序源码
│ ├── 📁 src/
│ │ └── 📄 setup.c
│ └── 📄 build-setup.bat
├── 📁 dist-plugin/ # 编译生成物 (DLL & Setup.exe)
├── 📁 bridge/ # Stdio 到命名管道的高速桥接
│ └── 📄 everything-pipe-bridge.ts
├── 📁 src/ # Node.js 独立 MCP 服务源码
├── 📁 docs/ # 开发与安装指南文档
│ ├── 📄 Everything_1.5_Plugins_and_SDK_CN.md
│ └── 📄 Everything_1.5_Native_MCP_Plugin_Guide_CN.md
├── 📄 build.bat # 全量构建脚本
├── 📄 LICENSE
└── 📄 README.md📄 版权与声明
Everything 与 Everything 搜索引擎 归 David Carpenter (voidtools) 所有。
本项目为独立的开源实现,与 voidtools 无官方附属关系。
许可协议:MIT License。
Available Tools
6 toolseverything_find_filesA
Find files by filename, extension, directory location, date range, and size range without manually constructing complex Everything query syntax.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Filename keyword or pattern (e.g. "report", "*.test.ts") | |
| sort | No | ||
| offset | No | ||
| max_size | No | Maximum size (e.g. "10MB", "1GB") | |
| min_size | No | Minimum size (e.g. "1MB", "500KB", "2GB") | |
| ascending | No | ||
| directory | No | Parent directory path to restrict search (e.g. "D:\Projects" or "C:\Users") | |
| extension | No | File extension or semicolon-separated extensions (e.g. "pdf" or "ts;js;json") | |
| max_results | No | ||
| modified_after | No | Modified after date (e.g. "today", "yesterday", "thisweek", "2026-01-01") | |
| modified_before | No | Modified before date (e.g. "2026-06-01") |
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 mentions that users need not construct complex Everything query syntax, which implies abstraction/convenience, but it does not disclose return format, result limits, performance characteristics, or whether this depends on the Everything service being running. Some behavioral context 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?
The description is a single focused sentence that front-loads the tool's core value and the main filters. It is concise, but it misses a short usage note comparing it to siblings, which would have made it more complete without bloat.
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 an 11-parameter search tool with no annotations and no output schema, the description is thin. It explains the general purpose but does not cover result behavior, pagination semantics, default sort/order, or how to choose among sibling tools. The schema provides some parameter detail, but the overall call context is only partially defined.
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 schema covers 64% of parameters, leaving several parameters (sort, offset, ascending, max_results) without individual descriptions. The description does not add meaning for those unexplained parameters beyond the schema, and it does not compensate for the 36% gap. It adds at most a high-level hint that filtering is by name/extension/directory/date/size.
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?
States a specific verb (Find) and resource (files) with a list of concrete filters (filename, extension, directory location, date range, size range). Clearly differentiates from sibling everything_find_folders which targets folders.
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?
No explicit when-to-use or when-not-to-use guidance, and no mention of alternatives such as everything_search. The described capability implies a file-focused search tool, but the agent is left to infer when to choose this over everything_search or everything_find_folders.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everything_find_foldersB
Find folders and directories across the system by name keyword and optional parent directory.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Folder name pattern or keyword (e.g. "node_modules", "build", "config*") | |
| sort | No | ||
| offset | No | ||
| ascending | No | ||
| max_results | No | ||
| parent_directory | No | Parent directory path to search within (e.g. "D:\Projects") |
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 behavioral disclosure. It states that searching is by name keyword and an optional parent directory, which is useful, but it does not disclose match semantics (exact, substring, wildcard), result shape, pagination behavior, or system-level assumptions. The high-level behavior is clear, but important details are missing.
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 a single, focused sentence with no wasted words. It front-loads the core purpose and the primary optional filter, making it easy to parse quickly.
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 output schema and no annotations, the description should provide more context about what a caller receives and how search behavior works. It does not explain what happens when 'name' is omitted, whether wildcard patterns are supported, or how results are returned and ordered. The tool is not complex, but the current description leaves several practical questions unanswered.
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 only 33%, and the description only re-emphasizes 'name' and 'parent_directory' without adding detail. It does not explain the semantics of 'sort', 'offset', 'ascending', or 'max_results', leaving the agent to infer their meaning from names and defaults alone.
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 ('Find') with a clear resource ('folders and directories') and states the main search criteria ('by name keyword and optional parent directory'). It is easy to distinguish from everything_find_files, though it does not explicitly name or contrast sibling tools.
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?
There is no guidance about when to use this tool instead of everything_find_files or everything_search. The description implies it is for folder searches but provides no exclusions, prerequisites, or alternative selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everything_get_file_infoB
Retrieve complete indexing metadata and filesystem stats for a specific file or folder path.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Full path to the file or directory (e.g. "C:\Windows\notepad.exe") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It states what is returned ('complete indexing metadata and filesystem stats') but does not indicate side effects (e.g., read-only nature), error behavior (e.g., non-existent path handling), or any performance considerations. The description is too sparse to be transparent for a tool with no annotation support.
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 a single, concise sentence that front-loads the action and resource. There is no redundant wording or extraneous information. It is appropriately sized for a simple getter tool with one parameter.
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 tool with one parameter and no output schema, the description is adequate but not fully complete. It explains what the tool does, but it omits details about the return structure (what 'complete indexing metadata and filesystem stats' exactly includes), potential errors, and how it integrates with sibling tools. Given the lack of annotations and output schema, some additional context would be beneficial, but the core purpose is covered.
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 has 100% description coverage for the single parameter 'path', including an example. The tool description adds no additional semantics beyond the schema—it doesn't clarify format restrictions, encoding, or relative vs absolute paths. Since the schema already documents the parameter adequately, this meets the baseline but adds no extra value.
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 ('Retrieve') and names the exact resource ('complete indexing metadata and filesystem stats for a specific file or folder path'). This clearly distinguishes it from sibling tools like 'everything_search' or 'everything_find_files', which operate on queries rather than a given path. The purpose is 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 description provides no guidance on when to use this tool over alternatives. It does not mention that it is for direct path lookups versus searching, nor any exclusions or prerequisites. An agent must infer from the name and description that this is for path-based metadata retrieval, but no explicit when-to-use or when-not-to-use instructions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everything_preview_fileA
Preview text content of a file located via Everything search (includes line numbering and binary detection).
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Full path to the text file | |
| max_lines | No | Maximum number of lines to preview (default: 50, max: 200) | |
| start_line | No | Starting line number (1-indexed, default: 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavior disclosure. It does disclose two useful behaviors — line numbering and binary detection — and 'preview' implies a read-only operation. Yet it doesn't specify the return format, how binary detection manifests in output, or any other limits beyond schema bounds.
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?
A single sentence with a front-loaded verb and object, followed by two compact behavioral details. Every phrase contributes information; there is no fluff, repetition, or irrelevant background.
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 small previw toolwith 100% schema description coverage and no output schema, the description adequately explains what the tool does and two salient behaviors. It falls slightly short on return-value expectations and explicit exclusions, but an agent can still invoke it correctly using the schema and this description.
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 the baseline is 3; all three parameters are fully documented with defaults, bounds, and a required flag. The description adds no additional param-specific meaning beyond what the schema already provides — 'line numbering' is a behavior, not a parameter detail.
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?
Description states a specific verb and resource — 'Previw text content of a file' — and clarifies the locating context, 'via Everything search'. This distinguishes it from the sibling search/find/status/info tools, none of which preview file content. The secondary detail about line numbering and binary detection further sharpens the purpose.
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 'located via Everything search' implies the tool is intended for use after a search has provided a path, and that its role is previewing rather than searching or metadata retrieval. However, there are no explicit when-to-use vs. alternatives, no prerequisites, and no exclusions such as handling of non-text files.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everything_searchB
Search files and folders using voidtools Everything ultra-fast search engine. Supports full Everything syntax (e.g. wildcards, ext:ts;js, size:>10mb, dm:today, regex, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Field to sort results by | |
| query | Yes | Everything search query expression (e.g. "*.pdf", "ext:docx;xlsx", "size:>100mb", "dm:today project") | |
| regex | No | Enable regular expression mode | |
| offset | No | Offset / pagination start index (default: 0) | |
| ascending | No | Sort ascending (true) or descending (false) | |
| match_case | No | Match case sensitivity | |
| match_path | No | Match full path instead of just filename | |
| max_results | No | Maximum number of results to return (default: 30, max: 500) | |
| type_filter | No | Filter by item type: "all", "files", or "folders" | all |
| match_whole_word | No | Match whole words only |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It states it is 'ultra-fast' and supports full Everything syntax, giving some context. However, it does not explicitly confirm the operation is read-only (no modifications), nor does it describe response format, performance limits, or edge cases. It adds minimal value beyond what the name and schema already suggest.
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 a tight two-sentence block. It front-loads the core function, then immediately gives illustrative examples. Every word contributes to understanding the tool's capability. There is no filler, making it a model of concise, well-structured tool documentation.
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 has no output schema, so the description should clarify what the agent receives (e.g., a list of matching paths). It does not. It also omits platform constraints (Everything is Windows-only) and any caveats about index freshness. While the parameter schema is comprehensive, the lack of return-information and platform context leaves gaps for an agent deciding whether and how to invoke this tool.
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 coverage is 100% (all parameters have descriptions), so the baseline is 3. The description goes further by teaching the query syntax with representative examples ('ext:ts;js', 'size:>100mb', 'dm:today'), which helps the agent understand the expressive power of the query parameter. This adds meaningful semantic insight beyond the schema's dry examples.
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 files and folders using the Everything engine, and provides concrete syntax examples (wildcards, ext:ts;js, size:>10mb). It does not explicitly differentiate from siblings like everything_find_files or everything_find_folders, but the generic phrasing implies it is the broad search entry point, which is sufficient for purpose clarity.
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 gives no guidance on when to use this tool versus its siblings. It does not mention that everything_find_files is for files-only or everything_find_folders for folders-only, nor does it explain any trade-offs. An agent would have to infer usage from the name alone, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everything_statusB
Check Everything search engine connection status, total indexed items in database, and HTTP server endpoint info.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states what is checked, without revealing potential side effects, network dependencies, authentication requirements, or response behavior beyond the listed data points.
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?
A single concise sentence that leads with the action and immediately enumerates the exact data returned. Every word earns its place, with no filler or repetition.
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 zero parameters and no output schema, the description covers the tool's purpose and the data areas it reports. It would be slightly stronger if it mentioned the format or structure of the status response, but for a parameterless status check it is largely complete.
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 has zero parameters, so the baseline is 4. The description adds no parameter-level details, but none are needed because the tool requires no input.
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 opens with the specific verb 'Check' and names three concrete resources: connection status, total indexed items, and HTTP server endpoint info. This makes the tool's purpose clear and distinguishes it from the sibling search/find/preview tools, though it does not explicitly name the siblings it differs from.
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?
There is no explicit guidance on when to use this tool versus alternatives. The verb 'Check' implies use for monitoring status, but the description does not state use cases, exclusions, or how it relates to the sibling tools.
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.
6 tool updates
v1.0.0- First observed
everything_find_files - First observed
everything_find_folders - First observed
everything_get_file_info - First observed
everything_preview_file - First observed
everything_search - First observed
everything_status
TDQS
Scored across 6 tools
Most tools are clearly distinct: status, metadata, preview, and folder search have unique purposes. The main ambiguity is between everything_search and everything_find_files, since both locate files, but descriptions clarify that one is raw-syntax search and the other is structured filtering.
All tools follow a consistent everything_verb_noun pattern in snake_case. The verbs are clear and intuitive, and the shared prefix reinforces the cohesive toolkit.
Six tools is well-scoped for a file-search server. Each tool covers a distinct aspect of the workflow without unnecessary bloat or redundancy.
The toolkit covers the full search lifecycle: querying raw syntax, structured file and folder discovery, metadata retrieval, content preview, and server status. No obvious dead ends or missing core operations for the stated purpose.
Maintenance
Related MCP Connectors
Securely search and manage workspace context files for AI agents and teams.
Search your Obsidian vault to quickly find notes by title or keyword, summarize related content, a…
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Search your knowledge bases from any AI assistant using hybrid RAG.
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
- 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
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to search local files on Windows using the Everything search engine, supporting basic and complex file searches with filters like date, size, media type, and document type.4MIT
- AlicenseAqualityDmaintenanceEnables lightning-fast file searching on Windows using Everything SDK, with tools for search, version check, status, and file info retrieval.415 npmMIT