@shxiaj/everything-mcp
This server provides an MCP interface to the Everything Windows file search engine, enabling lightning-fast file system queries with the following capabilities:
Search files and folders (
everything_search) — Search your entire Windows file system using Everything's powerful search syntax, including:Wildcards (
*.txt,foo*), boolean operators (AND, OR, NOT)Content search (
content:TODO), size filters (size:>1mb), date filters (datemodified:today)Path/parent filters, file type/extension filters, attribute filters, and regular expressions
Pagination (offset, max results) and case sensitivity, whole-word, and path matching options
Check Everything version (
everything_version) — Retrieve version details of the running Everything instance.Check Everything status (
everything_status) — Verify whether Everything is running and its database is loaded.Get file attributes (
everything_file_info) — Retrieve Windows file attributes (e.g., read-only, hidden) and run count for a specific file or folder path.
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., "@@shxiaj/everything-mcpfind all pdf files on desktop"
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.
@shxiaj/everything-mcp
MCP (Model Context Protocol) server for Everything — the lightning-fast Windows file search engine.
Forked and extended from everythingsdk-mcp.
Uses ffi-rs to call the Everything SDK natively and @modelcontextprotocol/sdk for the MCP server protocol.
Features
Dual SDK support — Auto-detects Everything 1.5 (SDK v3) or 1.4 (SDK v2)
Lightning-fast file search — Leverage Everything's native search capabilities
Multiple tools — Search, version check, status, and file info
Flexible configuration — Environment variable overrides for SDK paths
Related MCP server: everything-search-mcp
Prerequisites
Windows (the Everything SDK is Windows-only)
Everything 1.4+ installed and running (download)
Node.js 18+ and npm
Installation
npm install
npm run buildUsage
Running the MCP server
npx @shxiaj/everything-mcpThe server communicates via stdin/stdout (MCP stdio transport).
Configuring in Claude Desktop / VS Code Copilot
Add to your MCP client configuration:
{
"mcpServers": {
"@shxiaj/everything-mcp": {
"command": "npx",
"args": ["@shxiaj/everything-mcp"]
}
}
}Environment Variables
Variable | Description | Default |
| Force SDK version ( | Auto-detect |
| Path to the Everything SDK v3 directory |
|
| Full path to the Everything SDK v3 DLL |
|
| Path to the Everything SDK v2 directory |
|
| Full path to the Everything SDK v2 DLL |
|
| Override v3 IPC pipe name | Auto-probe |
Tools
everything_search
Search for files and folders using Everything search syntax.
Parameters:
query(required) — Search query using Everything syntaxmaxResults— Max results (default: 50, max: 1000)offset— Zero-based offset for paginationmatchCase— Case-sensitive searchmatchWholeWord— Match whole words onlymatchPath— Match against full pathregex— Treat query as regex
Everything search syntax examples:
*.txt— all .txt filesfoo bar— files containing both "foo" AND "bar"foo|bar— files containing "foo" OR "bar"ext:jpg size:>1mb— JPEGs larger than 1 MBfolder:node_modules— folders named node_modulescontent:TODO— files containing "TODO" in their contentdatemodified:today— files modified todayparent:C:\Projects— files under C:\Projects
everything_version
Get the version information of the running Everything instance.
everything_status
Check if Everything is running and its database is loaded.
everything_file_info
Get Windows file attributes and run count for a specific file path.
Parameters:
path(required) — Full path to the file or folder
SDK Architecture
src/
├── index.ts # MCP server entry point (tools, request handlers)
├── everything-client.ts # EverythingClient + SdkProvider abstraction
├── ffi-bindings.ts # Raw FFI bindings to Everything3_*.dll (SDK v3, Everything 1.5)
└── ffi-bindings-v14.ts # Raw FFI bindings to Everything*.dll (SDK v2, Everything 1.4)EverythingClient auto-detects the SDK version: tries v3 first, falls back to v2. Override with EVERYTHING_SDK_VERSION=v2 or v3 env var.
SDK v3 (Everything 1.5) vs SDK v2 (Everything 1.4)
Aspect | SDK v3 (Everything 1.5) | SDK v2 (Everything 1.4) |
DLL names |
|
|
API prefix |
|
|
Connection | Explicit | Implicit via IPC on |
State model | Per-client, per-search-state objects | Global mutable state |
Search exec |
|
|
Result props | Must call | Use |
File info | Direct | Requires a search with |
License
MIT
Available Tools
4 toolseverything_file_infoA
Get file attributes (Windows attributes, run count) for a specific file path using Everything.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Full path to the file or folder. |
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. The verb 'Get' indicates a read operation, but it does not explicitly state safety, required permissions, or behavior on non-existent paths. The mention of 'using Everything' hints at a dependency, but more transparency would be helpful.
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 sentence that front-loads the verb and resource, making it efficient and direct. Every word adds value.
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 tool with one parameter and no output schema, the description adequately explains what it returns (Windows attributes, run count). It could mention error handling or prerequisites for completeness, but it is largely sufficient.
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% with the 'path' parameter having a description. The description adds context by specifying that the path is for a file or folder and that the tool retrieves Windows attributes and run count, which goes beyond the schema's generic description.
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 verb 'Get' and the resource 'file attributes (Windows attributes, run count)', and specifies the tool uses Everything. This distinguishes it from siblings like everything_search (which searches) and everything_status (which checks service status).
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 implies usage when needing file attributes for a specific path, but it does not provide explicit guidance on when to use this tool over alternatives like everything_search or when not to use it. No exclusion criteria or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everything_searchA
Search for files and folders on Windows using Everything.
Everything search syntax supports:
Basic search: "foo.txt" finds files named foo.txt
Wildcards: ".txt", "foo", ".jpg|.png"
Boolean operators: "foo bar" (AND), "foo|bar" (OR), "!" prefix (NOT)
Content search: "content:hello" searches file contents
Size filters: "size:>1mb", "size:100kb..1mb"
Date filters: "datemodified:today", "datecreated:2024-01-01"
Path filters: "path:Downloads", "parent:C:\Projects"
Attribute filters: "attrib:readonly", "attrib:hidden"
Type filters: "ext:jpg", "type:audio"
Regex: enable regex mode for regex patterns
And many more...
Examples: "ext:jpg size:>1mb", "*.ts", "folder:node_modules", "content:TODO"
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query using Everything search syntax. | |
| maxResults | No | Maximum number of results to return (default: 50, max: 1000). | |
| offset | No | Zero-based offset for pagination (default: 0). | |
| matchCase | No | Match case (default: false). | |
| matchWholeWord | No | Match whole words only (default: false). | |
| matchPath | No | Match against full path, not just filename (default: false). | |
| regex | No | Treat query as a regular expression (default: false). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It discloses the search behavior and syntax but lacks explicit statements about read-only nature, prerequisites (e.g., Everything service must be running), latency, or results format. This is adequate but incomplete for full transparency.
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 structured with bullet points and examples, making it easy to scan. It front-loads the purpose and then logically organizes syntax details. While lengthy, every part serves to clarify usage, so it earns conciseness within its informative role.
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 7 parameters, no output schema, and no annotations. The description does not explain the return format (e.g., what fields are returned, pagination details), nor does it mention behavior when no results are found or error conditions. This is a significant gap for an AI agent to use the tool effectively.
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%, providing baseline descriptions for all parameters. The description significantly enhances the 'query' parameter by listing many syntax options and examples beyond the schema's short description. Other parameters (maxResults, offset, etc.) are not further elaborated, but the query coverage adds substantial 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 clearly states 'Search for files and folders on Windows using Everything.' It uses a specific verb (search) and resource (files/folders via Everything). The sibling tools (everything_file_info, everything_status, everything_version) indicate distinct purposes, making this tool's role 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 extensive search syntax and examples, implying this is the primary search tool. While it doesn't explicitly state when to use it versus alternatives, the sibling tool names (e.g., everything_file_info for file details) make the context clear. No exclusions are given, but the purpose differentiation is effective.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everything_statusA
Check if the Everything search engine is running and its database is loaded.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the action (check status) but lacks details on side effects, permissions, or response nature. For a simple read-only check, basic transparency is acceptable but not exemplary.
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?
Single sentence, no redundancy, front-loaded with purpose.
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 zero parameters, no output schema, and simple nature, description completely covers what the tool does. No additional context needed.
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?
No parameters defined, so baseline 4 applies. Description correct adds no parameter info, which is appropriate.
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 clearly states verb 'Check' and resource 'Everything search engine status'. Differentiates from sibling tools which handle file info, search queries, and version info.
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?
Implies usage for checking if service is running/database loaded, but provides no explicit when-to-use or when-not-to-use guidance nor alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everything_versionA
Get the version information of the running Everything search engine.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description is straightforward: it gets version info. No hidden side effects, but could mention if it requires a running instance or other constraints.
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?
Single sentence, directly to the point, no unnecessary words.
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 no parameters, no output schema, and no annotations, the description is adequate. It could specify the return format (e.g., version string) for completeness, but not essential.
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?
No parameters defined; schema coverage is 100%. Baseline 4 applies since description adds no parameter detail, but none needed.
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?
Clearly states it retrieves version information of the Everything search engine. Distinct from sibling tools which handle file info, search, or status.
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?
Implies use when version info is needed, but no explicit when-to-use or when-not-to-use guidance, nor mention of alternatives.
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. Dates show when Glama detected each change.
4 tool updates
v1.0.1- First observed
everything_file_info - First observed
everything_search - First observed
everything_status - First observed
everything_version
TDQS
Each tool has a clearly distinct purpose: file_info for specific file attributes, search for complex queries, status for service health, and version for engine version. No overlap.
All tools follow the consistent pattern 'everything_<verb_or_noun>', using snake_case with clear verb/noun (info, search, status, version).
4 tools cover the core operations (search, file info, status, version) without being too few or too many for a search engine wrapper.
The set covers primary use cases: search, file details, service status, and version. Missing index management tools (e.g., update index) but those are advanced features.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Provides tools for searching Google Workspace documentation and much more.
Search, browse, and read your Dropbox files. Find documents by name or content, list folders, and…
Search VeChain documentation, query on-chain data, and fetch fee suggestions with direct links to…
Personal asset search engine: everything you make or upload is searchable by what's inside it.
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.4512MIT
- 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
- AlicenseNot gradedqualityDmaintenanceProvides fast file searching across Windows, macOS, and Linux using platform-native tools like Everything SDK, mdfind, and locate.MIT
- AlicenseNot gradedqualityDmaintenanceEnables instant file searches on Windows using Everything's native SDK, supporting advanced filters, duplicate detection, and content search through MCP tools.5MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/shxiaj/everything-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server