everything-mcp 1.0.2__tar.gz → 1.0.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,15 +1,27 @@
1
1
  # Changelog
2
2
 
3
- All notable changes to **everything-mcp** will be documented in this file.
4
-
5
- ## [1.0.2] - 2026-02-04
3
+ All notable changes to **everything-mcp** will be documented in this file.
4
+
5
+ ## [1.0.4] - 2026-02-04
6
+
7
+ ### Changed
8
+
9
+ - Updated README badge URLs with cache-busting query params to force fresh badge values on GitHub and PyPI.
10
+
11
+ ## [1.0.3] - 2026-02-04
6
12
 
7
13
  ### Changed
8
14
 
9
- - Updated package metadata author to `elis132` (removed author email from PyPI metadata).
10
- - Updated LICENSE copyright holder name to `elis132`.
15
+ - Replaced em-dash punctuation with ASCII hyphens (`-`) across docs and source text.
16
+
17
+ ## [1.0.2] - 2026-02-04
11
18
 
12
- ## [1.0.1] - 2026-02-04
19
+ ### Changed
20
+
21
+ - Updated package metadata author to `elis132` (removed author email from PyPI metadata).
22
+ - Updated LICENSE copyright holder name to `elis132`.
23
+
24
+ ## [1.0.1] - 2026-02-04
13
25
 
14
26
  ### Fixed
15
27
 
@@ -17,7 +29,7 @@ All notable changes to **everything-mcp** will be documented in this file.
17
29
  - Updated backend aggregate queries to avoid incompatible `es.exe` flag combinations (`-n 0` with `-get-result-count` / `-get-total-size`).
18
30
  - Added backend tests to verify aggregate command construction.
19
31
 
20
- ## [1.0.0] 2026-02-04
32
+ ## [1.0.0] - 2026-02-04
21
33
 
22
34
  ### Added
23
35
 
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: everything-mcp
3
- Version: 1.0.2
4
- Summary: The definitive MCP server for voidtools Everything lightning-fast file search for AI agents
3
+ Version: 1.0.4
4
+ Summary: The definitive MCP server for voidtools Everything - lightning-fast file search for AI agents
5
5
  Project-URL: Homepage, https://github.com/elis132/everything-mcp
6
6
  Project-URL: Repository, https://github.com/elis132/everything-mcp
7
7
  Project-URL: Issues, https://github.com/elis132/everything-mcp/issues
@@ -34,12 +34,12 @@ Description-Content-Type: text/markdown
34
34
  <div align="center">
35
35
  <h1>⚡ Everything MCP</h1>
36
36
  <p>
37
- <strong>The definitive MCP server for <a href="https://www.voidtools.com/">voidtools Everything</a> lightning-fast file search for AI agents.</strong>
37
+ <strong>The definitive MCP server for <a href="https://www.voidtools.com/">voidtools Everything</a> - lightning-fast file search for AI agents.</strong>
38
38
  </p>
39
39
  <p>
40
- <a href="https://pypi.org/project/everything-mcp/"><img alt="PyPI" src="https://img.shields.io/pypi/v/everything-mcp"></a>
41
- <a href="https://pypi.org/project/everything-mcp/"><img alt="Python" src="https://img.shields.io/pypi/pyversions/everything-mcp"></a>
42
- <a href="LICENSE"><img alt="License" src="https://img.shields.io/github/license/elis132/everything-mcp"></a>
40
+ <a href="https://pypi.org/project/everything-mcp/"><img alt="PyPI" src="https://img.shields.io/pypi/v/everything-mcp.svg?cacheSeconds=300&v=20260204"></a>
41
+ <a href="https://pypi.org/project/everything-mcp/"><img alt="Python" src="https://img.shields.io/pypi/pyversions/everything-mcp.svg?cacheSeconds=300&v=20260204"></a>
42
+ <a href="LICENSE"><img alt="License" src="https://img.shields.io/github/license/elis132/everything-mcp.svg?cacheSeconds=300&v=20260204"></a>
43
43
  </p>
44
44
  <p>Search millions of files in milliseconds. Built for <strong>Claude Code</strong>, <strong>Codex</strong>, <strong>Gemini</strong>, <strong>Kimi</strong>, <strong>Qwen</strong>, <strong>Cursor</strong>, <strong>Windsurf</strong>, and any MCP-compatible client.</p>
45
45
  </div>
@@ -113,7 +113,7 @@ print("Matches:", len(matches))
113
113
  - Place `es.exe` in your PATH or in the Everything installation directory
114
114
  3. **Python 3.10+** or **uv**
115
115
 
116
- ### Via uv (recommended no install needed)
116
+ ### Via uv (recommended - no install needed)
117
117
 
118
118
  ```bash
119
119
  uvx everything-mcp
@@ -328,7 +328,7 @@ Everything MCP auto-detects your setup, but you can override:
328
328
 
329
329
  ## Tools
330
330
 
331
- ### 1. `everything_search` The Workhorse
331
+ ### 1. `everything_search` - The Workhorse
332
332
 
333
333
  Search files and folders using Everything's full query syntax.
334
334
 
@@ -365,7 +365,7 @@ dupe: → Duplicate filenames
365
365
  empty: → Empty folders
366
366
  ```
367
367
 
368
- ### 2. `everything_search_by_type` Category Search
368
+ ### 2. `everything_search_by_type` - Category Search
369
369
 
370
370
  Search by pre-defined file type categories.
371
371
 
@@ -379,7 +379,7 @@ Search by pre-defined file type categories.
379
379
  | `max_results` | 50 | 1–500 |
380
380
  | `sort` | `date-modified-desc` | Sort order |
381
381
 
382
- ### 3. `everything_find_recent` What Changed?
382
+ ### 3. `everything_find_recent` - What Changed?
383
383
 
384
384
  Find recently modified files. Sorted newest-first.
385
385
 
@@ -393,7 +393,7 @@ Find recently modified files. Sorted newest-first.
393
393
  | `query` | `""` | Additional filter |
394
394
  | `max_results` | 50 | 1–500 |
395
395
 
396
- ### 4. `everything_file_details` Deep Inspection
396
+ ### 4. `everything_file_details` - Deep Inspection
397
397
 
398
398
  Get metadata and optional content preview for specific files.
399
399
 
@@ -404,7 +404,7 @@ Get metadata and optional content preview for specific files.
404
404
 
405
405
  **Returns:** Full metadata (size, dates, permissions, hidden status). Directories: item count and listing. Text files with preview: first N lines of content.
406
406
 
407
- ### 5. `everything_count_stats` Quick Analytics
407
+ ### 5. `everything_count_stats` - Quick Analytics
408
408
 
409
409
  Get count and size statistics without listing individual files.
410
410
 
@@ -531,7 +531,7 @@ Contributions welcome! Areas for improvement:
531
531
 
532
532
  ## License
533
533
 
534
- MIT see [LICENSE](LICENSE)
534
+ MIT - see [LICENSE](LICENSE)
535
535
 
536
536
  ## Acknowledgments
537
537
 
@@ -1,12 +1,12 @@
1
1
  <div align="center">
2
- <h1>⚡ Everything MCP</h1>
3
- <p>
4
- <strong>The definitive MCP server for <a href="https://www.voidtools.com/">voidtools Everything</a> — lightning-fast file search for AI agents.</strong>
5
- </p>
2
+ <h1>⚡ Everything MCP</h1>
6
3
  <p>
7
- <a href="https://pypi.org/project/everything-mcp/"><img alt="PyPI" src="https://img.shields.io/pypi/v/everything-mcp"></a>
8
- <a href="https://pypi.org/project/everything-mcp/"><img alt="Python" src="https://img.shields.io/pypi/pyversions/everything-mcp"></a>
9
- <a href="LICENSE"><img alt="License" src="https://img.shields.io/github/license/elis132/everything-mcp"></a>
4
+ <strong>The definitive MCP server for <a href="https://www.voidtools.com/">voidtools Everything</a> - lightning-fast file search for AI agents.</strong>
5
+ </p>
6
+ <p>
7
+ <a href="https://pypi.org/project/everything-mcp/"><img alt="PyPI" src="https://img.shields.io/pypi/v/everything-mcp.svg?cacheSeconds=300&v=20260204"></a>
8
+ <a href="https://pypi.org/project/everything-mcp/"><img alt="Python" src="https://img.shields.io/pypi/pyversions/everything-mcp.svg?cacheSeconds=300&v=20260204"></a>
9
+ <a href="LICENSE"><img alt="License" src="https://img.shields.io/github/license/elis132/everything-mcp.svg?cacheSeconds=300&v=20260204"></a>
10
10
  </p>
11
11
  <p>Search millions of files in milliseconds. Built for <strong>Claude Code</strong>, <strong>Codex</strong>, <strong>Gemini</strong>, <strong>Kimi</strong>, <strong>Qwen</strong>, <strong>Cursor</strong>, <strong>Windsurf</strong>, and any MCP-compatible client.</p>
12
12
  </div>
@@ -24,52 +24,52 @@
24
24
  | **File type categories** | ✅ 10 categories | ❌ | ✅ |
25
25
  | **Stats & counts** | ✅ Size stats, extension breakdown | ❌ | Partial |
26
26
  | **Error handling** | ✅ All tools return clean errors | ❌ Raw exceptions | ❌ |
27
- | **Test suite** | ✅ pytest | ❌ | ❌ |
28
- | **Zero config** | ✅ Works out of the box | ❌ Need SDK DLL path | ❌ Need es.exe in PATH |
29
-
30
- ## Performance
31
-
32
- Real benchmark from this machine (Windows, query: `everything.exe`):
33
-
34
- - `everything-mcp` (Everything index via `es.exe`): **220.22 ms avg** (5 runs)
35
- - Naive filesystem walk over `C:\`: **66,539.03 ms** (single run)
36
- - Observed speedup: **~302x faster**
37
-
38
- Reproduce locally (PowerShell):
39
-
40
- ```powershell
41
- @'
42
- import os
43
- import subprocess
44
- import time
45
- import statistics
46
-
47
- ES = os.path.expandvars(r"%LOCALAPPDATA%\Everything\es.exe")
48
- QUERY = "everything.exe"
49
-
50
- es_runs = []
51
- for _ in range(5):
52
- t0 = time.perf_counter()
53
- subprocess.run([ES, "-n", "100", QUERY], capture_output=True, text=True)
54
- es_runs.append((time.perf_counter() - t0) * 1000)
55
-
56
- t0 = time.perf_counter()
57
- matches = []
58
- for dirpath, _, filenames in os.walk(r"C:\\"):
59
- for name in filenames:
60
- if name.lower() == QUERY:
61
- matches.append(os.path.join(dirpath, name))
62
- walk_ms = (time.perf_counter() - t0) * 1000
63
-
64
- es_avg = statistics.mean(es_runs)
65
- print("ES avg ms:", round(es_avg, 2))
66
- print("Walk ms:", round(walk_ms, 2))
67
- print("Speedup x:", round(walk_ms / es_avg, 1))
68
- print("Matches:", len(matches))
69
- '@ | python -
70
- ```
71
-
72
- ## Installation
27
+ | **Test suite** | ✅ pytest | ❌ | ❌ |
28
+ | **Zero config** | ✅ Works out of the box | ❌ Need SDK DLL path | ❌ Need es.exe in PATH |
29
+
30
+ ## Performance
31
+
32
+ Real benchmark from this machine (Windows, query: `everything.exe`):
33
+
34
+ - `everything-mcp` (Everything index via `es.exe`): **220.22 ms avg** (5 runs)
35
+ - Naive filesystem walk over `C:\`: **66,539.03 ms** (single run)
36
+ - Observed speedup: **~302x faster**
37
+
38
+ Reproduce locally (PowerShell):
39
+
40
+ ```powershell
41
+ @'
42
+ import os
43
+ import subprocess
44
+ import time
45
+ import statistics
46
+
47
+ ES = os.path.expandvars(r"%LOCALAPPDATA%\Everything\es.exe")
48
+ QUERY = "everything.exe"
49
+
50
+ es_runs = []
51
+ for _ in range(5):
52
+ t0 = time.perf_counter()
53
+ subprocess.run([ES, "-n", "100", QUERY], capture_output=True, text=True)
54
+ es_runs.append((time.perf_counter() - t0) * 1000)
55
+
56
+ t0 = time.perf_counter()
57
+ matches = []
58
+ for dirpath, _, filenames in os.walk(r"C:\\"):
59
+ for name in filenames:
60
+ if name.lower() == QUERY:
61
+ matches.append(os.path.join(dirpath, name))
62
+ walk_ms = (time.perf_counter() - t0) * 1000
63
+
64
+ es_avg = statistics.mean(es_runs)
65
+ print("ES avg ms:", round(es_avg, 2))
66
+ print("Walk ms:", round(walk_ms, 2))
67
+ print("Speedup x:", round(walk_ms / es_avg, 1))
68
+ print("Matches:", len(matches))
69
+ '@ | python -
70
+ ```
71
+
72
+ ## Installation
73
73
 
74
74
  ### Prerequisites
75
75
 
@@ -80,7 +80,7 @@ print("Matches:", len(matches))
80
80
  - Place `es.exe` in your PATH or in the Everything installation directory
81
81
  3. **Python 3.10+** or **uv**
82
82
 
83
- ### Via uv (recommended no install needed)
83
+ ### Via uv (recommended - no install needed)
84
84
 
85
85
  ```bash
86
86
  uvx everything-mcp
@@ -295,7 +295,7 @@ Everything MCP auto-detects your setup, but you can override:
295
295
 
296
296
  ## Tools
297
297
 
298
- ### 1. `everything_search` The Workhorse
298
+ ### 1. `everything_search` - The Workhorse
299
299
 
300
300
  Search files and folders using Everything's full query syntax.
301
301
 
@@ -332,7 +332,7 @@ dupe: → Duplicate filenames
332
332
  empty: → Empty folders
333
333
  ```
334
334
 
335
- ### 2. `everything_search_by_type` Category Search
335
+ ### 2. `everything_search_by_type` - Category Search
336
336
 
337
337
  Search by pre-defined file type categories.
338
338
 
@@ -346,7 +346,7 @@ Search by pre-defined file type categories.
346
346
  | `max_results` | 50 | 1–500 |
347
347
  | `sort` | `date-modified-desc` | Sort order |
348
348
 
349
- ### 3. `everything_find_recent` What Changed?
349
+ ### 3. `everything_find_recent` - What Changed?
350
350
 
351
351
  Find recently modified files. Sorted newest-first.
352
352
 
@@ -360,7 +360,7 @@ Find recently modified files. Sorted newest-first.
360
360
  | `query` | `""` | Additional filter |
361
361
  | `max_results` | 50 | 1–500 |
362
362
 
363
- ### 4. `everything_file_details` Deep Inspection
363
+ ### 4. `everything_file_details` - Deep Inspection
364
364
 
365
365
  Get metadata and optional content preview for specific files.
366
366
 
@@ -371,7 +371,7 @@ Get metadata and optional content preview for specific files.
371
371
 
372
372
  **Returns:** Full metadata (size, dates, permissions, hidden status). Directories: item count and listing. Text files with preview: first N lines of content.
373
373
 
374
- ### 5. `everything_count_stats` Quick Analytics
374
+ ### 5. `everything_count_stats` - Quick Analytics
375
375
 
376
376
  Get count and size statistics without listing individual files.
377
377
 
@@ -498,7 +498,7 @@ Contributions welcome! Areas for improvement:
498
498
 
499
499
  ## License
500
500
 
501
- MIT see [LICENSE](LICENSE)
501
+ MIT - see [LICENSE](LICENSE)
502
502
 
503
503
  ## Acknowledgments
504
504
 
@@ -1,80 +1,80 @@
1
- [build-system]
2
- requires = ["hatchling"]
3
- build-backend = "hatchling.build"
4
-
5
- [project]
6
- name = "everything-mcp"
7
- version = "1.0.2"
8
- description = "The definitive MCP server for voidtools Everything lightning-fast file search for AI agents"
9
- readme = "README.md"
10
- license = { text = "MIT" }
11
- requires-python = ">=3.10"
12
- authors = [
13
- { name = "elis132" },
14
- ]
15
- keywords = [
16
- "mcp", "everything", "voidtools", "file-search", "claude",
17
- "codex", "gemini", "ai-agent", "model-context-protocol",
18
- ]
19
- classifiers = [
20
- "Development Status :: 5 - Production/Stable",
21
- "Intended Audience :: Developers",
22
- "License :: OSI Approved :: MIT License",
23
- "Operating System :: Microsoft :: Windows",
24
- "Programming Language :: Python :: 3",
25
- "Programming Language :: Python :: 3.10",
26
- "Programming Language :: Python :: 3.11",
27
- "Programming Language :: Python :: 3.12",
28
- "Programming Language :: Python :: 3.13",
29
- "Topic :: Software Development :: Libraries",
30
- "Topic :: System :: Filesystems",
31
- "Typing :: Typed",
32
- ]
33
- dependencies = [
34
- "mcp>=1.0.0",
35
- "pydantic>=2.0.0",
36
- ]
37
-
38
- [project.optional-dependencies]
39
- dev = [
40
- "pytest>=8.0",
41
- "pytest-asyncio>=0.23",
42
- "ruff>=0.4",
43
- ]
44
-
45
- [project.urls]
46
- Homepage = "https://github.com/elis132/everything-mcp"
47
- Repository = "https://github.com/elis132/everything-mcp"
48
- Issues = "https://github.com/elis132/everything-mcp/issues"
49
- Changelog = "https://github.com/elis132/everything-mcp/blob/main/CHANGELOG.md"
50
-
51
- [project.scripts]
52
- everything-mcp = "everything_mcp:main"
53
-
54
- [tool.hatch.build.targets.wheel]
55
- packages = ["src/everything_mcp"]
56
-
57
- [tool.hatch.build.targets.sdist]
58
- include = ["src/everything_mcp", "README.md", "LICENSE", "CHANGELOG.md", "pyproject.toml"]
59
-
60
- # ── Testing ───────────────────────────────────────────────────────────────
61
-
62
- [tool.pytest.ini_options]
63
- testpaths = ["tests"]
64
- asyncio_mode = "auto"
65
- filterwarnings = [
66
- "ignore::DeprecationWarning",
67
- ]
68
-
69
- # ── Linting ───────────────────────────────────────────────────────────────
70
-
71
- [tool.ruff]
72
- target-version = "py310"
73
- line-length = 100
74
-
75
- [tool.ruff.lint]
76
- select = ["E", "F", "W", "I", "UP", "B", "SIM"]
77
- ignore = ["E501"] # line length handled by formatter
78
-
79
- [tool.ruff.lint.isort]
80
- known-first-party = ["everything_mcp"]
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "everything-mcp"
7
+ version = "1.0.4"
8
+ description = "The definitive MCP server for voidtools Everything - lightning-fast file search for AI agents"
9
+ readme = "README.md"
10
+ license = { text = "MIT" }
11
+ requires-python = ">=3.10"
12
+ authors = [
13
+ { name = "elis132" },
14
+ ]
15
+ keywords = [
16
+ "mcp", "everything", "voidtools", "file-search", "claude",
17
+ "codex", "gemini", "ai-agent", "model-context-protocol",
18
+ ]
19
+ classifiers = [
20
+ "Development Status :: 5 - Production/Stable",
21
+ "Intended Audience :: Developers",
22
+ "License :: OSI Approved :: MIT License",
23
+ "Operating System :: Microsoft :: Windows",
24
+ "Programming Language :: Python :: 3",
25
+ "Programming Language :: Python :: 3.10",
26
+ "Programming Language :: Python :: 3.11",
27
+ "Programming Language :: Python :: 3.12",
28
+ "Programming Language :: Python :: 3.13",
29
+ "Topic :: Software Development :: Libraries",
30
+ "Topic :: System :: Filesystems",
31
+ "Typing :: Typed",
32
+ ]
33
+ dependencies = [
34
+ "mcp>=1.0.0",
35
+ "pydantic>=2.0.0",
36
+ ]
37
+
38
+ [project.optional-dependencies]
39
+ dev = [
40
+ "pytest>=8.0",
41
+ "pytest-asyncio>=0.23",
42
+ "ruff>=0.4",
43
+ ]
44
+
45
+ [project.urls]
46
+ Homepage = "https://github.com/elis132/everything-mcp"
47
+ Repository = "https://github.com/elis132/everything-mcp"
48
+ Issues = "https://github.com/elis132/everything-mcp/issues"
49
+ Changelog = "https://github.com/elis132/everything-mcp/blob/main/CHANGELOG.md"
50
+
51
+ [project.scripts]
52
+ everything-mcp = "everything_mcp:main"
53
+
54
+ [tool.hatch.build.targets.wheel]
55
+ packages = ["src/everything_mcp"]
56
+
57
+ [tool.hatch.build.targets.sdist]
58
+ include = ["src/everything_mcp", "README.md", "LICENSE", "CHANGELOG.md", "pyproject.toml"]
59
+
60
+ # ── Testing ───────────────────────────────────────────────────────────────
61
+
62
+ [tool.pytest.ini_options]
63
+ testpaths = ["tests"]
64
+ asyncio_mode = "auto"
65
+ filterwarnings = [
66
+ "ignore::DeprecationWarning",
67
+ ]
68
+
69
+ # ── Linting ───────────────────────────────────────────────────────────────
70
+
71
+ [tool.ruff]
72
+ target-version = "py310"
73
+ line-length = 100
74
+
75
+ [tool.ruff.lint]
76
+ select = ["E", "F", "W", "I", "UP", "B", "SIM"]
77
+ ignore = ["E501"] # line length handled by formatter
78
+
79
+ [tool.ruff.lint.isort]
80
+ known-first-party = ["everything_mcp"]
@@ -1,14 +1,14 @@
1
- """
2
- Everything MCP The definitive MCP server for voidtools Everything.
3
-
4
- Lightning-fast file search for AI agents.
5
- """
6
-
7
- __version__ = "1.0.2"
8
-
9
-
10
- def main() -> None:
11
- """Entry point for the ``everything-mcp`` command."""
12
- from everything_mcp.server import mcp
13
-
14
- mcp.run()
1
+ """
2
+ Everything MCP - The definitive MCP server for voidtools Everything.
3
+
4
+ Lightning-fast file search for AI agents.
5
+ """
6
+
7
+ __version__ = "1.0.4"
8
+
9
+
10
+ def main() -> None:
11
+ """Entry point for the ``everything-mcp`` command."""
12
+ from everything_mcp.server import mcp
13
+
14
+ mcp.run()