Skip to main content
Glama
EcRal5t

Everything Search MCP

Everything Search MCP

简体中文

Search Windows files from your AI assistant using Everything.

Find files across indexed drives by name, path, type, size, or date. Browse folders, compare their sizes, and get counts or total file sizes in a single request. Searches use Everything's existing index, with paginated results and optional metadata.

Prerequisites

  • OS: Windows (x64, x86, ARM64, ARM)

  • Node.js: v22.0.0 or newer

  • Everything: Everything 1.4.1+ or 1.5 Alpha installed and running.

The ES helper is included. The server automatically checks the default Everything instance, 1.5a, and 1.5 and connects through local IPC.

Related MCP server: everything-search-mcp

Installation & Configuration

On Windows, launch npx through cmd.exe as shown below. Choose your client, add the configuration, then reload its MCP connections.

Install in Cursor

Add to your Codex configuration file (%USERPROFILE%/.codex/config.toml or project-level .codex/config.toml):

[mcp_servers.everything]
command = "cmd.exe"
args = ["/d", "/c", "npx", "-y", "everything-mcp-server"]

Or add via Codex CLI:

codex mcp add everything -- cmd.exe /d /c npx -y everything-mcp-server

Add to your project's opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "everything": {
      "type": "local",
      "command": ["cmd.exe", "/d", "/c", "npx", "-y", "everything-mcp-server"]
    }
  }
}

Or run the OpenCode setup wizard and enter the command above:

opencode mcp add

Add to your MCP client configuration (e.g. claude_desktop_config.json):

{
  "mcpServers": {
    "everything": {
      "command": "cmd.exe",
      "args": ["/d", "/c", "npx", "-y", "everything-mcp-server"]
    }
  }
}

VS Code uses servers as the top-level key.

What to ask

After connecting, ask your assistant to use Everything for tasks such as:

  • Locate a missing file: “Find quarterly-report PDFs modified last month across my indexed drives.”

  • Investigate large files: “Show the ten largest log files or archives over 1 GB on C:, including their paths and sizes.”

  • Find project artifacts: “Find folders named node_modules or target under D:/Projects and tell me how many there are.”

  • Compare folder sizes: “Compare the sizes of the folders directly inside D:/Projects.”

Tools

Both tools are read-only.

Tool

Purpose

everything_search

Find paths, browse folders, count matches, and retrieve sizes or other indexed metadata.

everything_status

Check the connection, selected Everything instance, and version.

Connection settings

Default settings cover common local installations. Use EVERYTHING_INSTANCE for a custom instance name. Setting EVERYTHING_URL selects an Everything HTTP service; credentials go in EVERYTHING_USERNAME and EVERYTHING_PASSWORD when needed.

Variable

Default

Description

EVERYTHING_INSTANCE

auto-detect

Probes the default instance, 1.5a, and 1.5. Set this for a custom instance; "" selects the default instance.

EVERYTHING_URL

""

Everything HTTP server URL (e.g. http://127.0.0.1:17603/). When set, uses HTTP transport instead of IPC.

EVERYTHING_USERNAME

""

Basic auth username for HTTP server.

EVERYTHING_PASSWORD

""

Basic auth password for HTTP server.

EVERYTHING_MAX_RESULTS

1000

Row cap for each query and the whole batch (1–1000).

EVERYTHING_OUTPUT_BYTES

16384

Maximum output size budget per tool call (4096–65536).

EVERYTHING_TIMEOUT_MS

15000

Query timeout in milliseconds (100–120000).

EVERYTHING_ES_PATH

bundled

Custom path to es.exe.

CLI & Diagnostics

Test your Everything installation and backend connection:

npx -y everything-mcp-server doctor

Run queries from the command line:

npx -y everything-mcp-server search '{"requests": [{"query": "ext:pdf", "count": 5}]}'

Tool reference

Search, browse directories, count items, and retrieve indexed metadata.

Pass 1–8 queries in the required requests array:

{"requests": [{"query": "ext:pdf", "count": 5}]}

Parameters for each query:

Parameter

Type

Default

Description

query

string

""

Everything search query (e.g. *.pdf, size:>100mb, ext:ts;js).

root

string

optional

Directory to search within (e.g. D:/Projects). Omitted for global search.

recursive

boolean

true

When root is set: true searches descendants; false lists direct children.

kind

string

"any"

Filter entry type: "any", "file", or "folder".

regex

boolean

false

Treat query as a regular expression.

count

number

20

Maximum rows to return (max 1000). Use 0 to count matches; add kind:"file" and fields:["size"] to get total_size_bytes.

offset

number

0

Zero-based pagination offset.

sort

string

"path"

Sort field: path, name, size, extension, date_modified, date_created, date_accessed, attributes, run_count.

ascending

boolean

true

Sort ascending (true) or descending (false).

fields

string[]

[]

Additional columns: size, date_modified, date_created, date_accessed, attributes, run_count.

IPC provides all listed fields and sorts. HTTP sorts by name, path, size, or modified time; it provides size and modified-time fields, with other metadata depending on the service.

Output Format:

Results label columns once, followed by row arrays:

{
  "results": [
    {
      "base": "D:/Projects",
      "total": 42,
      "next_offset": 2,
      "columns": ["path", "type", "size_bytes"],
      "rows": [
        ["src/index.ts", "file", 1024],
        ["package.json", "file", 512]
      ],
      "size_basis": "indexed_logical"
    }
  ]
}

Combine base with relative paths in rows to obtain full file paths. File and folder sizes use logical byte counts from Everything's index.

everything_status

Check backend connectivity, Everything version, selected instance, and index status.

Parameters:

  • verbose (boolean, default false): Include total indexed items and limits.

Local Development

git clone https://github.com/EcRal5t/everything-search-mcp.git
cd everything-search-mcp
npm install
npm test

To configure an MCP client with a local checkout:

{
  "mcpServers": {
    "everything": {
      "command": "node",
      "args": ["D:/path/to/everything-search-mcp/src/cli.js"]
    }
  }
}

License

MIT. Bundled es.exe is also MIT licensed by voidtools. See THIRD_PARTY_NOTICES.md.

Available Tools

2 tools
everything_statusB
Read-onlyIdempotent

Check connection status, selected instance, version, and index readiness.

NameRequiredDescriptionDefault
verboseNo

Output Schema

NameRequiredDescription
readyYes
detailsNo
versionYes
instanceYes
problemsYes
transportYes
capabilitiesYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and a closed-world scope, so the safety profile is fully covered. The description contributes the informational scope of the check but says nothing about cost, latency, or what a failed connection returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tight sentence, front-loaded with the verb and the primary output (connection status), with no filler. Nothing could be removed without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (no required params, output schema present, so return shape need not be explained) and the description covers the main scope. The only real gap is the unexplained 'verbose' flag, which matters little for a status probe.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the single parameter 'verbose' (boolean, default false) is never mentioned in the description, so the agent cannot know what extra detail it unlocks. With one undocumented parameter the description is expected to compensate and does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Check') with an enumerated resource set: connection status, selected instance, version, index readiness. That is concrete enough to distinguish it from the sibling everything_search, though the differentiation is implicit rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'connection status' and 'index readiness' suggest a diagnostic/preflight call, but the description never says when to call it, when not to, or that everything_search is the alternative for actual queries.

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.

  1. 2 tool updatesv0.1.0
    • First observedeverything_search
    • First observedeverything_status

TDQS

A3.8/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one performs file/folder searches, while the other reports server connection and index status. There is no meaningful overlap that would cause an agent to misselect between them.

Naming Consistency5/5

Both names follow the same predictable snake_case convention with a consistent 'everything_' prefix and clear action/state nouns. The naming is easy to parse and internally consistent.

Tool Count3/5

Two tools is on the thin side for a standalone MCP server, though the scope is narrow and each tool earns its place. The search tool is feature-rich, but the surface still feels borderline minimal.

Completeness4/5

The core domain operations are covered: searching indexed files/folders and checking connection/index readiness. Minor gaps exist, such as no explicit tool for listing or switching indexed instances or drives, but agents can likely work around them.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    28 PyPI
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides file system access and operations, enabling AI assistants to read, write, list, search, and manage files and directories through a standardized interface.
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants to search local files and folders via the Everything search engine, with support for advanced queries, file metadata, text previews, and service status.
    6
    MIT