npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@shxiaj/everything-mcp

v1.0.1

Published

MCP server for Everything search using ffi-rs and the Everything SDK

Readme

@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

Prerequisites

  • Windows (the Everything SDK is Windows-only)
  • Everything 1.4+ installed and running (download)
  • Node.js 18+ and pnpm

Installation

pnpm install
pnpm 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

everything_search

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