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

voidtools-everything-mcp

v0.1.0

Published

MCP server for searching a local voidtools Everything index.

Readme

voidtools-everything-mcp

Local MCP server for searching a voidtools Everything 1.5a index from Codex, Claude, and other MCP clients.

This server uses the Everything HTTP Server and exposes read-only MCP tools. It does not download, open, modify, delete, rebuild, or reindex files.

Requirements

  • Windows with Everything 1.5a running.
  • Everything HTTP Server enabled.
  • Node.js 20.11 or newer.

Recommended Everything Settings

In Everything:

  1. Open Tools > Options > HTTP Server.
  2. Enable HTTP Server.
  3. Note the port. The official default URL is http://127.0.0.1, while this machine is currently serving Everything HTTP on http://127.0.0.1:8011.
  4. Disable file download unless you explicitly need browser downloads.
  5. Keep the HTTP Server off public networks.

Local Development Install

git clone <this-repository-url>
cd voidtools-everything-mcp
npm install
npm run build

During local development, configure your MCP client to run the built local file with node. MCP clients start this process on demand and communicate with it over stdio; you do not need to keep this server running manually.

Configuration

| Variable | Default | Description | | --- | --- | --- | | EVERYTHING_BASE_URL | http://127.0.0.1 | Everything HTTP Server URL | | EVERYTHING_DEFAULT_COUNT | 20 | Default returned result count | | EVERYTHING_MAX_COUNT | 100 | Maximum returned result count | | EVERYTHING_TIMEOUT_MS | 5000 | HTTP timeout in milliseconds |

Local MCP Client Example

{
  "mcpServers": {
    "everything": {
      "command": "node",
      "args": [
        "C:\\Users\\KU\\project\\Everything-SDK\\dist\\index.js"
      ],
      "env": {
        "EVERYTHING_BASE_URL": "http://127.0.0.1:8011"
      }
    }
  }
}

Use an absolute path in args. Many MCP clients launch the command directly without a shell, so variables such as %USERPROFILE%, $env:USERPROFILE, or ~ may not be expanded inside args. If your MCP client explicitly documents environment-variable expansion in command arguments, you can use it; otherwise the absolute path is the safest option.

If you move this repository to C:\Users\KU\project\voidtools-everything-mcp, update the path like this:

{
  "mcpServers": {
    "everything": {
      "command": "node",
      "args": [
        "C:\\Users\\KU\\project\\voidtools-everything-mcp\\dist\\index.js"
      ],
      "env": {
        "EVERYTHING_BASE_URL": "http://127.0.0.1:8011"
      }
    }
  }
}

npm Package Usage

After this package is published to npm, MCP clients can run it with npx instead of a local path:

{
  "mcpServers": {
    "everything": {
      "command": "npx",
      "args": [
        "-y",
        "voidtools-everything-mcp"
      ],
      "env": {
        "EVERYTHING_BASE_URL": "http://127.0.0.1:8011"
      }
    }
  }
}

With this setup, the MCP client starts npx only when it needs the MCP server. npx downloads or reuses the package from the npm cache, runs the package binary locally, and the process exits when the MCP client disconnects.

Publishing

This package is set up for npm Trusted Publishing from GitHub Actions. The workflow lives at .github/workflows/publish.yml and publishes when a v* tag is pushed.

One-time npm setup

  1. Push this repository to GitHub.
  2. Create the package name on npm, or publish the first version manually once with npm publish --access public.
  3. Open the package page on npmjs.com.
  4. Go to package settings and find Trusted Publisher.
  5. Choose GitHub Actions.
  6. Fill in:
    • Organization or user: your GitHub username or organization.
    • Repository: the GitHub repository name.
    • Workflow filename: publish.yml.
    • Environment name: leave blank unless you add a GitHub deployment environment.
    • Allowed actions: npm publish.

Trusted Publishing uses GitHub Actions OIDC, so you do not need to create an NPM_TOKEN secret.

Release a new version

npm version patch
git push
git push origin --tags

The pushed v* tag starts the publish workflow. The workflow installs dependencies, runs tests, typechecks, builds, shows npm pack --dry-run, and then runs npm publish --access public.

For a minor or major release, use npm version minor or npm version major.

Tools

everything_search

Searches the Everything index and returns bounded file/folder paths.

Input:

{
  "query": "invoice ext:pdf",
  "count": 20,
  "sort": "date_modified",
  "ascending": false,
  "matchPath": true
}

everything_health

Checks whether the Everything HTTP Server is reachable.

Development

npm test
npm run typecheck
npm run build

Security Notes

  • Keep Everything HTTP Server bound to localhost for personal agent usage.
  • Do not expose the HTTP Server to a public network.
  • Add authentication, path allowlists, and audit logging before any remote deployment.
  • Add a separate allowlisted file-reading tool only if an agent truly needs file contents.

License

MIT