dsh-everything-mcp 0.0.0-stage → 0.1.1
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.
- package/LICENSE +21 -0
- package/README.md +54 -2
- package/README.zh.md +55 -0
- package/cordis.patch.yml +28 -0
- package/package.json +45 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Everything Search MCP contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,55 @@
|
|
|
1
|
-
#
|
|
1
|
+
# dsh-everything-mcp
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Instant file and folder search on Windows, powered by [Everything](https://www.voidtools.com/). Ask for a file by name, pattern, folder, size or date and DeepSeek Harness answers from Everything's index — no drive scanning, no waiting.
|
|
4
|
+
|
|
5
|
+
The plugin gives the assistant two read-only tools — `search` and `status` — and there is nothing else to configure. In DSH they appear as `mcp__everything__search` and `mcp__everything__status`. Under the hood it connects the [Everything Search MCP](https://github.com/EcRal5t/everything-search-mcp) server through DSH's built-in MCP client: no Host plugin, no web UI, no build step, no state.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```powershell
|
|
10
|
+
dsh plugin --profile <profile> add dsh-everything-mcp
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Or install straight from the repository:
|
|
14
|
+
|
|
15
|
+
```powershell
|
|
16
|
+
dsh plugin --profile <profile> add github:EcRal5t/everything-search-mcp#path:/plugins/dsh-everything-mcp
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Restart the profile afterwards. `pnpm` must be on `PATH` — the DSH plugin manager forwards to it.
|
|
20
|
+
|
|
21
|
+
Manual alternative: add this row to the profile's `cordis.patch.yml`:
|
|
22
|
+
|
|
23
|
+
```yaml
|
|
24
|
+
- insert:
|
|
25
|
+
- id: mcp-everything
|
|
26
|
+
name: '@deepseek-ai/dsh-mcp-client'
|
|
27
|
+
config:
|
|
28
|
+
serverName: everything
|
|
29
|
+
transport: stdio
|
|
30
|
+
command: npx
|
|
31
|
+
args: ['-y', 'everything-mcp-server']
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Requirements
|
|
35
|
+
|
|
36
|
+
- **Windows**, with Everything 1.4.1+ or 1.5 running (its index is the search source).
|
|
37
|
+
- **No separate ES command-line client.** The server ships `es.exe` for x64/x86/ARM/ARM64 and auto-detects the running instance over IPC, falling back to HTTP.
|
|
38
|
+
|
|
39
|
+
## What this server gives you
|
|
40
|
+
|
|
41
|
+
- **Batch queries.** One call carries 1–8 requests — each with its own `root`, `kind`, `regex`, `sort`, `count`, `offset` and `fields` — so a multi-step search costs one tool round-trip instead of eight.
|
|
42
|
+
- **Compact, token-aware output.** Rows instead of per-hit objects, a bounded result budget, and per-query errors returned in place. Most `es.exe` wrappers spawn once per query and hand back a raw text dump.
|
|
43
|
+
- **Pagination and totals.** `count: 0` returns just the match count, `next_offset` continues, and `fields: ["size"]` adds file-size sums.
|
|
44
|
+
- **Read-only by contract.** Both tools carry `readOnlyHint: true` / `destructiveHint: false`, so they are safe to leave auto-approved.
|
|
45
|
+
- **One server, every client.** The same stdio server is what Codex, OpenCode, Claude Desktop and Cursor use; DSH is just another host.
|
|
46
|
+
|
|
47
|
+
## Notes
|
|
48
|
+
|
|
49
|
+
- On DSH 0.2.x the stdio transport is probed once at startup, so the server process is spawned twice. Harmless.
|
|
50
|
+
- DSH scrubs credential-shaped env names (`/KEY|PASSWORD|SECRET|TOKEN/i`) and `DSH_*`. If you need `EVERYTHING_PASSWORD`, put it in the row's `env` instead of the parent environment.
|
|
51
|
+
- Want `@file` completion in DSH? That is a native plugin's job. This bundle deliberately stays a plain MCP bridge, so the same server works in every client.
|
|
52
|
+
|
|
53
|
+
## License
|
|
54
|
+
|
|
55
|
+
MIT — see the [repository](https://github.com/EcRal5t/everything-search-mcp) for details.
|
package/README.zh.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# dsh-everything-mcp
|
|
2
|
+
|
|
3
|
+
在 Windows 上即时搜索文件和文件夹,底层是 [Everything](https://www.voidtools.com/)。按名称、通配符、目录、大小或日期发问,DeepSeek Harness 直接从 Everything 的索引作答——不扫盘、不等待。
|
|
4
|
+
|
|
5
|
+
插件给助手两个只读工具 `search` 和 `status`,此外没有需要配置的东西;在 DSH 里显示为 `mcp__everything__search` 和 `mcp__everything__status`。它通过 DSH 内置的 MCP 客户端连接 [Everything Search MCP](https://github.com/EcRal5t/everything-search-mcp) 服务器:没有 Host 插件、没有 Web 界面、不需要构建、不落状态。
|
|
6
|
+
|
|
7
|
+
## 安装
|
|
8
|
+
|
|
9
|
+
```powershell
|
|
10
|
+
dsh plugin --profile <profile> add dsh-everything-mcp
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
也可以直接从仓库安装:
|
|
14
|
+
|
|
15
|
+
```powershell
|
|
16
|
+
dsh plugin --profile <profile> add github:EcRal5t/everything-search-mcp#path:/plugins/dsh-everything-mcp
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
安装后重启该 profile。`pnpm` 需要在 `PATH` 上(DSH 插件管理器会转发给它)。
|
|
20
|
+
|
|
21
|
+
手工方式:在 profile 的 `cordis.patch.yml` 里加这一行:
|
|
22
|
+
|
|
23
|
+
```yaml
|
|
24
|
+
- insert:
|
|
25
|
+
- id: mcp-everything
|
|
26
|
+
name: '@deepseek-ai/dsh-mcp-client'
|
|
27
|
+
config:
|
|
28
|
+
serverName: everything
|
|
29
|
+
transport: stdio
|
|
30
|
+
command: npx
|
|
31
|
+
args: ['-y', 'everything-mcp-server']
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 前置条件
|
|
35
|
+
|
|
36
|
+
- **Windows**,Everything 1.4.1+ 或 1.5 正在运行(以它的索引为数据源)。
|
|
37
|
+
- **不需要单独装 ES 命令行**:服务器自带 x64/x86/ARM/ARM64 的 `es.exe`,并自动探测运行中的实例走 IPC,失败时回退 HTTP。
|
|
38
|
+
|
|
39
|
+
## 这个服务多出来的东西
|
|
40
|
+
|
|
41
|
+
- **批量查询。** 一次调用带 1–8 个请求,每个请求独立设置 `root`、`kind`、`regex`、`sort`、`count`、`offset`、`fields`——多步搜索只花一次工具往返,而不是八次。
|
|
42
|
+
- **紧凑输出,按 token 预算。** 返回行而非逐条对象,结果有上限,单个请求的错误就地返回。多数 `es.exe` 封装是每次查询起一个进程、回一段原始文本。
|
|
43
|
+
- **分页与总数。** `count: 0` 只取匹配数,`next_offset` 翻页,`fields: ["size"]` 附带文件大小合计。
|
|
44
|
+
- **契约上只读。** 两个工具都带 `readOnlyHint: true` / `destructiveHint: false`,可以放心保持自动批准。
|
|
45
|
+
- **一个服务,所有客户端。** Codex、OpenCode、Claude Desktop、Cursor 用的是同一个 stdio 服务;DSH 只是多一个宿主。
|
|
46
|
+
|
|
47
|
+
## 说明
|
|
48
|
+
|
|
49
|
+
- DSH 0.2.x 在启动时会先探测一次 stdio,所以服务进程会被 spawn 两次,无害。
|
|
50
|
+
- DSH 会清掉形似凭据的环境变量名(`/KEY|PASSWORD|SECRET|TOKEN/i`)和 `DSH_*`。需要 `EVERYTHING_PASSWORD` 时,写进这一行的 `env`,别指望父进程环境。
|
|
51
|
+
- 想要 DSH 里的 `@文件` 补全?那是原生插件的事。本包刻意只当 MCP 桥,好让同一个服务在所有客户端里通用。
|
|
52
|
+
|
|
53
|
+
## 许可
|
|
54
|
+
|
|
55
|
+
MIT,详见[主仓库](https://github.com/EcRal5t/everything-search-mcp)。
|
package/cordis.patch.yml
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# dsh-everything-mcp — the entire integration, in one row.
|
|
2
|
+
#
|
|
3
|
+
# The row below mounts the MCP client bridge that ships inside DeepSeek Harness
|
|
4
|
+
# (`@deepseek-ai/dsh-mcp-client`) and points it at the Everything search MCP
|
|
5
|
+
# server (npm: everything-mcp-server) over stdio. Nothing else is added: no Host
|
|
6
|
+
# plugin, no web route, no state file.
|
|
7
|
+
#
|
|
8
|
+
# The upstream server's tools reach the model as `mcp__everything__<tool>`.
|
|
9
|
+
- insert:
|
|
10
|
+
- id: mcp-everything
|
|
11
|
+
name: '@deepseek-ai/dsh-mcp-client'
|
|
12
|
+
config:
|
|
13
|
+
serverName: everything
|
|
14
|
+
transport: stdio
|
|
15
|
+
# `npx` resolves from the PATH of the process that runs DSH. No absolute
|
|
16
|
+
# path is written here on purpose: this file is shipped to other people's
|
|
17
|
+
# machines, and a hardcoded user directory is the usual reason a plugin
|
|
18
|
+
# works for its author and nowhere else.
|
|
19
|
+
command: npx
|
|
20
|
+
args:
|
|
21
|
+
- -y
|
|
22
|
+
- everything-mcp-server
|
|
23
|
+
# The server answers from Everything's index; 60 s is already generous.
|
|
24
|
+
# If you raise EVERYTHING_TIMEOUT_MS past it, raise this too.
|
|
25
|
+
toolCallTimeoutMs: 60000
|
|
26
|
+
# A server that cannot start leaves the rest of the harness working and
|
|
27
|
+
# logs the reason, instead of failing this row at activation.
|
|
28
|
+
failOnStartupError: false
|
package/package.json
CHANGED
|
@@ -1,6 +1,47 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-everything-mcp",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Instant file and folder search on Windows with Everything (voidtools), right inside DeepSeek Harness.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": {
|
|
7
|
+
"name": "EcRal5t",
|
|
8
|
+
"url": "https://github.com/EcRal5t"
|
|
9
|
+
},
|
|
10
|
+
"type": "module",
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "git+https://github.com/EcRal5t/everything-search-mcp.git",
|
|
14
|
+
"directory": "plugins/dsh-everything-mcp"
|
|
15
|
+
},
|
|
16
|
+
"homepage": "https://github.com/EcRal5t/everything-search-mcp/tree/main/plugins/dsh-everything-mcp#readme",
|
|
17
|
+
"bugs": {
|
|
18
|
+
"url": "https://github.com/EcRal5t/everything-search-mcp/issues"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"dsh",
|
|
22
|
+
"dsh-plugin",
|
|
23
|
+
"deepseek-harness",
|
|
24
|
+
"mcp",
|
|
25
|
+
"everything",
|
|
26
|
+
"voidtools",
|
|
27
|
+
"file-search",
|
|
28
|
+
"windows",
|
|
29
|
+
"stdio"
|
|
30
|
+
],
|
|
31
|
+
"engines": {
|
|
32
|
+
"node": ">=22",
|
|
33
|
+
"dsh": ">=0.2.0-rc.1 <0.3.0-0"
|
|
34
|
+
},
|
|
35
|
+
"files": [
|
|
36
|
+
"cordis.patch.yml",
|
|
37
|
+
"README.md",
|
|
38
|
+
"README.zh.md",
|
|
39
|
+
"LICENSE"
|
|
40
|
+
],
|
|
41
|
+
"dsh": {
|
|
42
|
+
"manifestVersion": 1,
|
|
43
|
+
"bundle": {
|
|
44
|
+
"patch": "./cordis.patch.yml"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|