everything-mcp 1.0.1__tar.gz → 1.0.3__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.
- {everything_mcp-1.0.1 → everything_mcp-1.0.3}/CHANGELOG.md +16 -3
- {everything_mcp-1.0.1 → everything_mcp-1.0.3}/LICENSE +1 -1
- {everything_mcp-1.0.1 → everything_mcp-1.0.3}/PKG-INFO +53 -11
- {everything_mcp-1.0.1 → everything_mcp-1.0.3}/README.md +50 -8
- {everything_mcp-1.0.1 → everything_mcp-1.0.3}/pyproject.toml +80 -80
- {everything_mcp-1.0.1 → everything_mcp-1.0.3}/src/everything_mcp/__init__.py +14 -14
- {everything_mcp-1.0.1 → everything_mcp-1.0.3}/src/everything_mcp/backend.py +455 -455
- {everything_mcp-1.0.1 → everything_mcp-1.0.3}/src/everything_mcp/config.py +253 -253
- {everything_mcp-1.0.1 → everything_mcp-1.0.3}/src/everything_mcp/server.py +745 -745
- {everything_mcp-1.0.1 → everything_mcp-1.0.3}/.gitignore +0 -0
- {everything_mcp-1.0.1 → everything_mcp-1.0.3}/src/everything_mcp/__main__.py +0 -0
- {everything_mcp-1.0.1 → everything_mcp-1.0.3}/src/everything_mcp/py.typed +0 -0
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
All notable changes to **everything-mcp** will be documented in this file.
|
|
3
|
+
All notable changes to **everything-mcp** will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [1.0.3] - 2026-02-04
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Replaced em-dash punctuation with ASCII hyphens (`-`) across docs and source text.
|
|
10
|
+
|
|
11
|
+
## [1.0.2] - 2026-02-04
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
4
14
|
|
|
5
|
-
|
|
15
|
+
- Updated package metadata author to `elis132` (removed author email from PyPI metadata).
|
|
16
|
+
- Updated LICENSE copyright holder name to `elis132`.
|
|
17
|
+
|
|
18
|
+
## [1.0.1] - 2026-02-04
|
|
6
19
|
|
|
7
20
|
### Fixed
|
|
8
21
|
|
|
@@ -10,7 +23,7 @@ All notable changes to **everything-mcp** will be documented in this file.
|
|
|
10
23
|
- Updated backend aggregate queries to avoid incompatible `es.exe` flag combinations (`-n 0` with `-get-result-count` / `-get-total-size`).
|
|
11
24
|
- Added backend tests to verify aggregate command construction.
|
|
12
25
|
|
|
13
|
-
## [1.0.0]
|
|
26
|
+
## [1.0.0] - 2026-02-04
|
|
14
27
|
|
|
15
28
|
### Added
|
|
16
29
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: everything-mcp
|
|
3
|
-
Version: 1.0.
|
|
4
|
-
Summary: The definitive MCP server for voidtools Everything
|
|
3
|
+
Version: 1.0.3
|
|
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
|
|
8
8
|
Project-URL: Changelog, https://github.com/elis132/everything-mcp/blob/main/CHANGELOG.md
|
|
9
|
-
Author
|
|
9
|
+
Author: elis132
|
|
10
10
|
License: MIT
|
|
11
11
|
License-File: LICENSE
|
|
12
12
|
Keywords: ai-agent,claude,codex,everything,file-search,gemini,mcp,model-context-protocol,voidtools
|
|
@@ -34,7 +34,7 @@ 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>
|
|
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
40
|
<a href="https://pypi.org/project/everything-mcp/"><img alt="PyPI" src="https://img.shields.io/pypi/v/everything-mcp"></a>
|
|
@@ -60,6 +60,48 @@ Description-Content-Type: text/markdown
|
|
|
60
60
|
| **Test suite** | ✅ pytest | ❌ | ❌ |
|
|
61
61
|
| **Zero config** | ✅ Works out of the box | ❌ Need SDK DLL path | ❌ Need es.exe in PATH |
|
|
62
62
|
|
|
63
|
+
## Performance
|
|
64
|
+
|
|
65
|
+
Real benchmark from this machine (Windows, query: `everything.exe`):
|
|
66
|
+
|
|
67
|
+
- `everything-mcp` (Everything index via `es.exe`): **220.22 ms avg** (5 runs)
|
|
68
|
+
- Naive filesystem walk over `C:\`: **66,539.03 ms** (single run)
|
|
69
|
+
- Observed speedup: **~302x faster**
|
|
70
|
+
|
|
71
|
+
Reproduce locally (PowerShell):
|
|
72
|
+
|
|
73
|
+
```powershell
|
|
74
|
+
@'
|
|
75
|
+
import os
|
|
76
|
+
import subprocess
|
|
77
|
+
import time
|
|
78
|
+
import statistics
|
|
79
|
+
|
|
80
|
+
ES = os.path.expandvars(r"%LOCALAPPDATA%\Everything\es.exe")
|
|
81
|
+
QUERY = "everything.exe"
|
|
82
|
+
|
|
83
|
+
es_runs = []
|
|
84
|
+
for _ in range(5):
|
|
85
|
+
t0 = time.perf_counter()
|
|
86
|
+
subprocess.run([ES, "-n", "100", QUERY], capture_output=True, text=True)
|
|
87
|
+
es_runs.append((time.perf_counter() - t0) * 1000)
|
|
88
|
+
|
|
89
|
+
t0 = time.perf_counter()
|
|
90
|
+
matches = []
|
|
91
|
+
for dirpath, _, filenames in os.walk(r"C:\\"):
|
|
92
|
+
for name in filenames:
|
|
93
|
+
if name.lower() == QUERY:
|
|
94
|
+
matches.append(os.path.join(dirpath, name))
|
|
95
|
+
walk_ms = (time.perf_counter() - t0) * 1000
|
|
96
|
+
|
|
97
|
+
es_avg = statistics.mean(es_runs)
|
|
98
|
+
print("ES avg ms:", round(es_avg, 2))
|
|
99
|
+
print("Walk ms:", round(walk_ms, 2))
|
|
100
|
+
print("Speedup x:", round(walk_ms / es_avg, 1))
|
|
101
|
+
print("Matches:", len(matches))
|
|
102
|
+
'@ | python -
|
|
103
|
+
```
|
|
104
|
+
|
|
63
105
|
## Installation
|
|
64
106
|
|
|
65
107
|
### Prerequisites
|
|
@@ -71,7 +113,7 @@ Description-Content-Type: text/markdown
|
|
|
71
113
|
- Place `es.exe` in your PATH or in the Everything installation directory
|
|
72
114
|
3. **Python 3.10+** or **uv**
|
|
73
115
|
|
|
74
|
-
### Via uv (recommended
|
|
116
|
+
### Via uv (recommended - no install needed)
|
|
75
117
|
|
|
76
118
|
```bash
|
|
77
119
|
uvx everything-mcp
|
|
@@ -286,7 +328,7 @@ Everything MCP auto-detects your setup, but you can override:
|
|
|
286
328
|
|
|
287
329
|
## Tools
|
|
288
330
|
|
|
289
|
-
### 1. `everything_search`
|
|
331
|
+
### 1. `everything_search` - The Workhorse
|
|
290
332
|
|
|
291
333
|
Search files and folders using Everything's full query syntax.
|
|
292
334
|
|
|
@@ -323,7 +365,7 @@ dupe: → Duplicate filenames
|
|
|
323
365
|
empty: → Empty folders
|
|
324
366
|
```
|
|
325
367
|
|
|
326
|
-
### 2. `everything_search_by_type`
|
|
368
|
+
### 2. `everything_search_by_type` - Category Search
|
|
327
369
|
|
|
328
370
|
Search by pre-defined file type categories.
|
|
329
371
|
|
|
@@ -337,7 +379,7 @@ Search by pre-defined file type categories.
|
|
|
337
379
|
| `max_results` | 50 | 1–500 |
|
|
338
380
|
| `sort` | `date-modified-desc` | Sort order |
|
|
339
381
|
|
|
340
|
-
### 3. `everything_find_recent`
|
|
382
|
+
### 3. `everything_find_recent` - What Changed?
|
|
341
383
|
|
|
342
384
|
Find recently modified files. Sorted newest-first.
|
|
343
385
|
|
|
@@ -351,7 +393,7 @@ Find recently modified files. Sorted newest-first.
|
|
|
351
393
|
| `query` | `""` | Additional filter |
|
|
352
394
|
| `max_results` | 50 | 1–500 |
|
|
353
395
|
|
|
354
|
-
### 4. `everything_file_details`
|
|
396
|
+
### 4. `everything_file_details` - Deep Inspection
|
|
355
397
|
|
|
356
398
|
Get metadata and optional content preview for specific files.
|
|
357
399
|
|
|
@@ -362,7 +404,7 @@ Get metadata and optional content preview for specific files.
|
|
|
362
404
|
|
|
363
405
|
**Returns:** Full metadata (size, dates, permissions, hidden status). Directories: item count and listing. Text files with preview: first N lines of content.
|
|
364
406
|
|
|
365
|
-
### 5. `everything_count_stats`
|
|
407
|
+
### 5. `everything_count_stats` - Quick Analytics
|
|
366
408
|
|
|
367
409
|
Get count and size statistics without listing individual files.
|
|
368
410
|
|
|
@@ -489,7 +531,7 @@ Contributions welcome! Areas for improvement:
|
|
|
489
531
|
|
|
490
532
|
## License
|
|
491
533
|
|
|
492
|
-
MIT
|
|
534
|
+
MIT - see [LICENSE](LICENSE)
|
|
493
535
|
|
|
494
536
|
## Acknowledgments
|
|
495
537
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
<h1>⚡ Everything MCP</h1>
|
|
3
3
|
<p>
|
|
4
|
-
<strong>The definitive MCP server for <a href="https://www.voidtools.com/">voidtools Everything</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
5
|
</p>
|
|
6
6
|
<p>
|
|
7
7
|
<a href="https://pypi.org/project/everything-mcp/"><img alt="PyPI" src="https://img.shields.io/pypi/v/everything-mcp"></a>
|
|
@@ -27,6 +27,48 @@
|
|
|
27
27
|
| **Test suite** | ✅ pytest | ❌ | ❌ |
|
|
28
28
|
| **Zero config** | ✅ Works out of the box | ❌ Need SDK DLL path | ❌ Need es.exe in PATH |
|
|
29
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
|
+
|
|
30
72
|
## Installation
|
|
31
73
|
|
|
32
74
|
### Prerequisites
|
|
@@ -38,7 +80,7 @@
|
|
|
38
80
|
- Place `es.exe` in your PATH or in the Everything installation directory
|
|
39
81
|
3. **Python 3.10+** or **uv**
|
|
40
82
|
|
|
41
|
-
### Via uv (recommended
|
|
83
|
+
### Via uv (recommended - no install needed)
|
|
42
84
|
|
|
43
85
|
```bash
|
|
44
86
|
uvx everything-mcp
|
|
@@ -253,7 +295,7 @@ Everything MCP auto-detects your setup, but you can override:
|
|
|
253
295
|
|
|
254
296
|
## Tools
|
|
255
297
|
|
|
256
|
-
### 1. `everything_search`
|
|
298
|
+
### 1. `everything_search` - The Workhorse
|
|
257
299
|
|
|
258
300
|
Search files and folders using Everything's full query syntax.
|
|
259
301
|
|
|
@@ -290,7 +332,7 @@ dupe: → Duplicate filenames
|
|
|
290
332
|
empty: → Empty folders
|
|
291
333
|
```
|
|
292
334
|
|
|
293
|
-
### 2. `everything_search_by_type`
|
|
335
|
+
### 2. `everything_search_by_type` - Category Search
|
|
294
336
|
|
|
295
337
|
Search by pre-defined file type categories.
|
|
296
338
|
|
|
@@ -304,7 +346,7 @@ Search by pre-defined file type categories.
|
|
|
304
346
|
| `max_results` | 50 | 1–500 |
|
|
305
347
|
| `sort` | `date-modified-desc` | Sort order |
|
|
306
348
|
|
|
307
|
-
### 3. `everything_find_recent`
|
|
349
|
+
### 3. `everything_find_recent` - What Changed?
|
|
308
350
|
|
|
309
351
|
Find recently modified files. Sorted newest-first.
|
|
310
352
|
|
|
@@ -318,7 +360,7 @@ Find recently modified files. Sorted newest-first.
|
|
|
318
360
|
| `query` | `""` | Additional filter |
|
|
319
361
|
| `max_results` | 50 | 1–500 |
|
|
320
362
|
|
|
321
|
-
### 4. `everything_file_details`
|
|
363
|
+
### 4. `everything_file_details` - Deep Inspection
|
|
322
364
|
|
|
323
365
|
Get metadata and optional content preview for specific files.
|
|
324
366
|
|
|
@@ -329,7 +371,7 @@ Get metadata and optional content preview for specific files.
|
|
|
329
371
|
|
|
330
372
|
**Returns:** Full metadata (size, dates, permissions, hidden status). Directories: item count and listing. Text files with preview: first N lines of content.
|
|
331
373
|
|
|
332
|
-
### 5. `everything_count_stats`
|
|
374
|
+
### 5. `everything_count_stats` - Quick Analytics
|
|
333
375
|
|
|
334
376
|
Get count and size statistics without listing individual files.
|
|
335
377
|
|
|
@@ -456,7 +498,7 @@ Contributions welcome! Areas for improvement:
|
|
|
456
498
|
|
|
457
499
|
## License
|
|
458
500
|
|
|
459
|
-
MIT
|
|
501
|
+
MIT - see [LICENSE](LICENSE)
|
|
460
502
|
|
|
461
503
|
## Acknowledgments
|
|
462
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.
|
|
8
|
-
description = "The definitive MCP server for voidtools Everything
|
|
9
|
-
readme = "README.md"
|
|
10
|
-
license = { text = "MIT" }
|
|
11
|
-
requires-python = ">=3.10"
|
|
12
|
-
authors = [
|
|
13
|
-
{ name = "
|
|
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.3"
|
|
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
|
|
3
|
-
|
|
4
|
-
Lightning-fast file search for AI agents.
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
__version__ = "1.0.
|
|
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.3"
|
|
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()
|