Skip to main content
Glama
shxiaj

@shxiaj/everything-mcp

by shxiaj

@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 build

Usage

Running the MCP server

npx @shxiaj/everything-mcp

The 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

EVERYTHING_SDK_VERSION

Force SDK version (v3 or v2)

Auto-detect

EVERYTHING_SDK_DIR

Path to the Everything SDK v3 directory

./everything_sdk3/dll

EVERYTHING_DLL_PATH

Full path to the Everything SDK v3 DLL

$SDK_DIR/Everything3_x64.dll

EVERYTHING_V2_SDK_DIR

Path to the Everything SDK v2 directory

./Everything-SDK/dll

EVERYTHING_V2_DLL_PATH

Full path to the Everything SDK v2 DLL

$V2_SDK_DIR/Everything64.dll

EVERYTHING_IPC_PIPE_NAME

Override v3 IPC pipe name

Auto-probe

Tools

Search for files and folders using Everything search syntax.

Parameters:

  • query (required) — Search query using Everything syntax

  • maxResults — Max results (default: 50, max: 1000)

  • offset — Zero-based offset for pagination

  • matchCase — Case-sensitive search

  • matchWholeWord — Match whole words only

  • matchPath — Match against full path

  • regex — Treat query as regex

Everything search syntax examples:

  • *.txt — all .txt files

  • foo bar — files containing both "foo" AND "bar"

  • foo|bar — files containing "foo" OR "bar"

  • ext:jpg size:>1mb — JPEGs larger than 1 MB

  • folder:node_modules — folders named node_modules

  • content:TODO — files containing "TODO" in their content

  • datemodified:today — files modified today

  • parent: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

Everything3_x64.dll

Everything64.dll

API prefix

Everything3_*

Everything_*

Connection

Explicit ConnectW/DestroyClient handles

Implicit via IPC on QueryW

State model

Per-client, per-search-state objects

Global mutable state

Search exec

Search(client, state) returns result list

QueryW(TRUE) populates global results

Result props

Must call AddSearchPropertyRequest first

Use SetRequestFlags bitmask

File info

Direct GetFileAttributesW(client, path)

Requires a search with SetMatchPath(true)

License

MIT

Available Tools

4 tools
everything_file_infoA

Get file attributes (Windows attributes, run count) for a specific file path using Everything.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesFull path to the file or folder.

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_statusA

Check if the Everything search engine is running and its database is loaded.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 4 tool updatesv1.0.1
    • First observedeverything_file_info
    • First observedeverything_search
    • First observedeverything_status
    • First observedeverything_version

TDQS

A4.2/5.0
Disambiguation5/5

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.

Naming Consistency5/5

All tools follow the consistent pattern 'everything_<verb_or_noun>', using snake_case with clear verb/noun (info, search, status, version).

Tool Count5/5

4 tools cover the core operations (search, file info, status, version) without being too few or too many for a search engine wrapper.

Completeness4/5

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

ActivityStale
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables 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.
    45
    12
    MIT
  • 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.
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides fast file searching across Windows, macOS, and Linux using platform-native tools like Everything SDK, mdfind, and locate.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables instant file searches on Windows using Everything's native SDK, supporting advanced filters, duplicate detection, and content search through MCP tools.
    5
    MIT

Latest Blog Posts

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