staff-mcp 1.3.0 → 2.0.0
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/CHANGELOG.md +29 -0
- package/README.md +152 -55
- package/README_zh.md +155 -53
- package/dist/src/data/HttpDataSession.d.ts +22 -0
- package/dist/src/data/HttpDataSession.js +925 -0
- package/dist/src/data/HttpDataSession.js.map +1 -0
- package/dist/src/data/node.d.ts +4 -0
- package/dist/src/data/node.js +93 -0
- package/dist/src/data/node.js.map +1 -0
- package/dist/src/data/types.d.ts +54 -0
- package/dist/src/data/types.js +2 -0
- package/dist/src/data/types.js.map +1 -0
- package/dist/src/data-stdio-docker.d.ts +10 -0
- package/dist/src/data-stdio-docker.js +140 -0
- package/dist/src/data-stdio-docker.js.map +1 -0
- package/dist/src/docker-proxy.d.ts +6 -1
- package/dist/src/docker-proxy.js +324 -147
- package/dist/src/docker-proxy.js.map +1 -1
- package/dist/src/extensions/apps.d.ts +12 -0
- package/dist/src/extensions/apps.js +85 -0
- package/dist/src/extensions/apps.js.map +1 -0
- package/dist/src/extensions/config.d.ts +27 -0
- package/dist/src/extensions/config.js +91 -0
- package/dist/src/extensions/config.js.map +1 -0
- package/dist/src/extensions/protocol.d.ts +35 -0
- package/dist/src/extensions/protocol.js +47 -0
- package/dist/src/extensions/protocol.js.map +1 -0
- package/dist/src/extensions/runtime.d.ts +16 -0
- package/dist/src/extensions/runtime.js +266 -0
- package/dist/src/extensions/runtime.js.map +1 -0
- package/dist/src/file-manager/extension.d.ts +21 -0
- package/dist/src/file-manager/extension.js +514 -0
- package/dist/src/file-manager/extension.js.map +1 -0
- package/dist/src/file-manager/file-core.d.ts +128 -0
- package/dist/src/file-manager/file-core.js +750 -0
- package/dist/src/file-manager/file-core.js.map +1 -0
- package/dist/src/file-manager/transfers.d.ts +423 -0
- package/dist/src/file-manager/transfers.js +540 -0
- package/dist/src/file-manager/transfers.js.map +1 -0
- package/dist/src/file-manager/ui/index.html +81 -0
- package/dist/src/index.js +276 -131
- package/dist/src/index.js.map +1 -1
- package/dist/src/reverse/SseTransport.d.ts +34 -0
- package/dist/src/reverse/SseTransport.js +215 -0
- package/dist/src/reverse/SseTransport.js.map +1 -0
- package/dist/src/reverse/http.d.ts +7 -0
- package/dist/src/reverse/http.js +85 -0
- package/dist/src/reverse/http.js.map +1 -0
- package/dist/src/server.d.ts +4 -2
- package/dist/src/server.js +80 -18
- package/dist/src/server.js.map +1 -1
- package/dist/src/terminal/extension.d.ts +4 -0
- package/dist/src/terminal/extension.js +108 -0
- package/dist/src/terminal/extension.js.map +1 -0
- package/dist/src/terminal/pty.d.ts +14 -0
- package/dist/src/terminal/pty.js +121 -0
- package/dist/src/terminal/pty.js.map +1 -0
- package/dist/src/terminal/session.d.ts +136 -0
- package/dist/src/terminal/session.js +422 -0
- package/dist/src/terminal/session.js.map +1 -0
- package/dist/src/terminal/ui/index.html +183 -0
- package/dist/src/tools/file-tools.d.ts +2 -1
- package/dist/src/tools/file-tools.js +19 -7
- package/dist/src/tools/file-tools.js.map +1 -1
- package/dist/src/tools/mcp-client-tools.js +243 -103
- package/dist/src/tools/mcp-client-tools.js.map +1 -1
- package/dist/src/tools/shell-tools.js +1 -1
- package/dist/src/tools/shell-tools.js.map +1 -1
- package/dist/src/tools/skills.js +26 -1
- package/dist/src/tools/skills.js.map +1 -1
- package/dist/src/transports/http.d.ts +15 -2
- package/dist/src/transports/http.js +244 -65
- package/dist/src/transports/http.js.map +1 -1
- package/dist/src/transports/reverse.d.ts +23 -19
- package/dist/src/transports/reverse.js +130 -74
- package/dist/src/transports/reverse.js.map +1 -1
- package/dist/src/transports/stdio.d.ts +5 -2
- package/dist/src/transports/stdio.js +130 -20
- package/dist/src/transports/stdio.js.map +1 -1
- package/dist/src/utils/proxy.d.ts +2 -2
- package/dist/src/utils/proxy.js +84 -62
- package/dist/src/utils/proxy.js.map +1 -1
- package/dist/src/utils/server-activity.d.ts +6 -0
- package/dist/src/utils/server-activity.js +46 -0
- package/dist/src/utils/server-activity.js.map +1 -0
- package/dist/src/utils/server-lifecycle.d.ts +5 -0
- package/dist/src/utils/server-lifecycle.js +51 -0
- package/dist/src/utils/server-lifecycle.js.map +1 -0
- package/docs/file-manager.md +179 -0
- package/docs/terminal.md +66 -0
- package/package.json +28 -6
- package/dist/src/transports/fte-lifecycle.d.ts +0 -13
- package/dist/src/transports/fte-lifecycle.js +0 -76
- package/dist/src/transports/fte-lifecycle.js.map +0 -1
package/dist/src/index.js
CHANGED
|
@@ -1,67 +1,163 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { Command, InvalidArgumentError } from
|
|
3
|
-
import * as path from
|
|
4
|
-
import * as os from
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
2
|
+
import { Command, InvalidArgumentError, Option } from 'commander';
|
|
3
|
+
import * as path from 'path';
|
|
4
|
+
import * as os from 'os';
|
|
5
|
+
import { mkdirSync } from 'node:fs';
|
|
6
|
+
import { createServerFactory } from './server.js';
|
|
7
|
+
import { buildDockerNameHint, runDockerProxy, preflightDockerExtensions, } from './docker-proxy.js';
|
|
8
|
+
import { STAFF_MCP_PACKAGE_ROOT, STAFF_MCP_VERSION } from './package-info.js';
|
|
9
|
+
import { redirectStdioLogsToStderr, startStdioServer, } from './transports/stdio.js';
|
|
10
|
+
import { getHttpAuthToken, startHttpServer, resolveHttpSessionPolicy, HTTP_MAX_SESSIONS, HTTP_SESSION_IDLE_MS, } from './transports/http.js';
|
|
11
|
+
import { startReverseServer } from './transports/reverse.js';
|
|
12
|
+
import { ensureStaffDirs, STAFF_TOOLS_DIR, STAFF_SKILLS_DIR, STAFF_PROFILES_DIR, } from './utils/paths.js';
|
|
13
|
+
import { ensureRipgrep } from './utils/tool-utils.js';
|
|
14
|
+
import { configureGlobalProxy } from './utils/proxy.js';
|
|
15
|
+
import { dockerPrivatePaths, parseExtensions, parseFileRoot, resolveExtensionOptions, } from './extensions/config.js';
|
|
14
16
|
// Global error handlers to prevent the MCP server from crashing due to unhandled child process errors
|
|
15
|
-
process.on(
|
|
16
|
-
if (err.code ===
|
|
17
|
+
process.on('uncaughtException', (err) => {
|
|
18
|
+
if (err.code === 'ENOENT' &&
|
|
19
|
+
err.syscall &&
|
|
20
|
+
err.syscall.startsWith('spawn')) {
|
|
17
21
|
console.error(`[staff-mcp] Captured unhandled spawn error: ${err.message}. A background tool failed to start.`);
|
|
18
22
|
}
|
|
19
23
|
else {
|
|
20
|
-
console.error(
|
|
24
|
+
console.error('[staff-mcp] Uncaught Exception:', err);
|
|
21
25
|
}
|
|
22
26
|
});
|
|
23
|
-
process.on(
|
|
24
|
-
console.error(
|
|
27
|
+
process.on('unhandledRejection', (reason, promise) => {
|
|
28
|
+
console.error('[staff-mcp] Unhandled Rejection at:', promise, 'reason:', reason);
|
|
25
29
|
});
|
|
26
30
|
function milliseconds(value, minimum = 1) {
|
|
27
31
|
const parsed = Number(value);
|
|
28
|
-
if (!Number.isInteger(parsed) ||
|
|
32
|
+
if (!Number.isInteger(parsed) ||
|
|
33
|
+
parsed < minimum ||
|
|
34
|
+
parsed > 2_147_483_647) {
|
|
29
35
|
throw new InvalidArgumentError(`Expected milliseconds between ${minimum} and 2147483647.`);
|
|
30
36
|
}
|
|
31
37
|
return parsed;
|
|
32
38
|
}
|
|
39
|
+
/** CLI owns process exit; transports own and await their session resources. */
|
|
40
|
+
async function runHostService(start, watchHostPipe) {
|
|
41
|
+
const starting = start();
|
|
42
|
+
let stopping = false;
|
|
43
|
+
const shutdown = async (code) => {
|
|
44
|
+
if (stopping)
|
|
45
|
+
return;
|
|
46
|
+
stopping = true;
|
|
47
|
+
try {
|
|
48
|
+
const service = await starting;
|
|
49
|
+
await service.stop();
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
console.error('[staff-mcp] Startup or shutdown cleanup failed.');
|
|
53
|
+
code = 1;
|
|
54
|
+
}
|
|
55
|
+
process.exit(code);
|
|
56
|
+
};
|
|
57
|
+
const stop = () => void shutdown(0);
|
|
58
|
+
const failed = () => void shutdown(1);
|
|
59
|
+
process.once('SIGINT', stop);
|
|
60
|
+
process.once('SIGTERM', stop);
|
|
61
|
+
process.once('SIGHUP', stop);
|
|
62
|
+
if (watchHostPipe) {
|
|
63
|
+
process.stdin.once('end', stop);
|
|
64
|
+
process.stdin.once('close', stop);
|
|
65
|
+
process.stdin.once('error', failed);
|
|
66
|
+
process.stdin.resume();
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
const service = await starting;
|
|
70
|
+
void service.closed?.then(stop, failed);
|
|
71
|
+
if (watchHostPipe &&
|
|
72
|
+
(process.stdin.readableEnded || process.stdin.destroyed))
|
|
73
|
+
stop();
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
console.error('[staff-mcp] Transport startup failed:', error);
|
|
77
|
+
await shutdown(1);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
33
80
|
const program = new Command();
|
|
34
81
|
program
|
|
35
|
-
.name(
|
|
36
|
-
.description(
|
|
82
|
+
.name('staff-mcp')
|
|
83
|
+
.description('MCP Server with file, shell, and LSP capabilities.')
|
|
37
84
|
.version(STAFF_MCP_VERSION)
|
|
38
|
-
.option(
|
|
39
|
-
.option(
|
|
40
|
-
.option(
|
|
41
|
-
.option(
|
|
42
|
-
.option(
|
|
43
|
-
|
|
44
|
-
.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
.option(
|
|
49
|
-
.option(
|
|
50
|
-
.option(
|
|
51
|
-
.option(
|
|
52
|
-
.option(
|
|
53
|
-
.option(
|
|
54
|
-
.option(
|
|
55
|
-
.option(
|
|
56
|
-
.option(
|
|
57
|
-
.
|
|
85
|
+
.option('-t, --transport <type>', 'Transport type (stdio, http, reverse)', 'stdio')
|
|
86
|
+
.option('-p, --port <number>', 'Port for HTTP server', '3000')
|
|
87
|
+
.option('-h, --host <address>', 'Host for HTTP server', '127.0.0.1')
|
|
88
|
+
.option('--ht, --http-token <token>', 'Optional bearer token for HTTP transport')
|
|
89
|
+
.option('--http-max-sessions <count>', 'Maximum HTTP sessions per listener, including startup and cleanup', (value) => {
|
|
90
|
+
const count = Number(value);
|
|
91
|
+
if (!Number.isSafeInteger(count) || count <= 0)
|
|
92
|
+
throw new InvalidArgumentError('Expected a positive safe integer.');
|
|
93
|
+
return count;
|
|
94
|
+
}, HTTP_MAX_SESSIONS)
|
|
95
|
+
.option('--http-session-idle-ms <ms>', 'HTTP session idle timeout; active operations and resources prevent eviction', (value) => milliseconds(value), HTTP_SESSION_IDLE_MS)
|
|
96
|
+
.option('--ru, --reverse-url <url>', 'HTTP(S) Web reverse endpoint (e.g. https://web.example/api/mcp/reverse)')
|
|
97
|
+
.option('--rt, --reverse-token <token>', 'Security token for Reverse MCP')
|
|
98
|
+
.option('--rn, --reverse-name <name>', 'Server name for Reverse MCP')
|
|
99
|
+
.option('--reverse-connect-timeout <ms>', 'SSE connection timeout (0 disables it)', (value) => milliseconds(value, 0), 15000)
|
|
100
|
+
.option('--reverse-initialization-timeout <ms>', 'MCP initialization timeout after reverse pairing', (value) => milliseconds(value), 15000)
|
|
101
|
+
.option('--reverse-read-timeout <ms>', 'SSE heartbeat read timeout, independent of tool duration', (value) => milliseconds(value), 45000)
|
|
102
|
+
.option('--reverse-stable-time <ms>', 'Connection lifetime required to reset reconnect backoff', (value) => milliseconds(value, 0), 30000)
|
|
103
|
+
.option('-w, --working-dir <path>', 'Working directory for the server (defaults to current execution path)', process.cwd())
|
|
104
|
+
.option('-d, --allowed-dir <paths...>', 'Additional directories allowed for sandbox', [])
|
|
105
|
+
.option('-r, --profile <name>', 'The active profile for skills and instructions (e.g., android-reverse, default)', 'default')
|
|
106
|
+
.option('-m, --max-mcp-sessions <number>', 'Maximum number of concurrent MCP sessions allowed', '5')
|
|
107
|
+
.option('--enable-lsp', 'Enable LSP capabilities (disabled by default)', false)
|
|
108
|
+
.option('--extensions <features>', 'Enable files and/or terminal (comma-separated; all disabled by default)', (value) => {
|
|
109
|
+
try {
|
|
110
|
+
return parseExtensions(value);
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
throw new InvalidArgumentError(error.message);
|
|
114
|
+
}
|
|
115
|
+
})
|
|
116
|
+
.option('--file-root <id=path>', 'Files root (repeatable; defaults to main=workspace; system=/ explicitly allows the full filesystem)', (value, previous = []) => {
|
|
117
|
+
try {
|
|
118
|
+
const root = parseFileRoot(value);
|
|
119
|
+
if (previous.some((item) => item.rootId === root.rootId))
|
|
120
|
+
throw new Error('Duplicate file root id');
|
|
121
|
+
return [...previous, root];
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
throw new InvalidArgumentError(error.message);
|
|
125
|
+
}
|
|
126
|
+
})
|
|
127
|
+
.option('--shell <path>', 'Terminal shell (default: executable $SHELL or /bin/bash)')
|
|
128
|
+
.addOption(new Option('--internal-file-private-path <path>')
|
|
129
|
+
.hideHelp()
|
|
130
|
+
.argParser((value, previous = []) => {
|
|
131
|
+
if (!path.posix.isAbsolute(value) || value.includes('\0'))
|
|
132
|
+
throw new InvalidArgumentError('Private path must be absolute');
|
|
133
|
+
return [...previous, value];
|
|
134
|
+
}))
|
|
135
|
+
.option('--docker <image>', 'Run the MCP server inside a Docker container using the specified image')
|
|
136
|
+
.option('-D, --docker-args <args...>', 'Additional arguments to pass to the docker run command (e.g., -e ADB_SERVER_SOCKET=...)')
|
|
137
|
+
.option('--proxy <url>', 'HTTP(S) proxy for outbound requests (e.g. http://127.0.0.1:8080); defaults to honoring HTTP_PROXY/HTTPS_PROXY/NO_PROXY env vars')
|
|
58
138
|
.action(async (options, command) => {
|
|
59
|
-
if (options.transport ===
|
|
139
|
+
if (options.transport === 'stdio') {
|
|
60
140
|
redirectStdioLogsToStderr();
|
|
61
141
|
}
|
|
62
|
-
|
|
142
|
+
let extensions;
|
|
143
|
+
try {
|
|
144
|
+
extensions = resolveExtensionOptions({
|
|
145
|
+
enabled: options.extensions,
|
|
146
|
+
fileRoots: options.fileRoot,
|
|
147
|
+
shell: options.shell,
|
|
148
|
+
}, path.resolve(options.workingDir));
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
command.error(error.message);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
if (options.transport === 'http') {
|
|
63
155
|
try {
|
|
64
156
|
getHttpAuthToken(options.httpToken);
|
|
157
|
+
resolveHttpSessionPolicy({
|
|
158
|
+
maxSessions: options.httpMaxSessions,
|
|
159
|
+
idleTimeoutMs: options.httpSessionIdleMs,
|
|
160
|
+
});
|
|
65
161
|
}
|
|
66
162
|
catch (error) {
|
|
67
163
|
console.error(`[staff-mcp] ${error instanceof Error ? error.message : String(error)}`);
|
|
@@ -76,118 +172,162 @@ program
|
|
|
76
172
|
// Docker Transparent Proxy Mode
|
|
77
173
|
// -------------------------------------------------------------
|
|
78
174
|
if (options.docker) {
|
|
175
|
+
const additionalDockerArgs = [];
|
|
176
|
+
for (const arg of options.dockerArgs ?? []) {
|
|
177
|
+
// Preserve backslashes in Windows bind paths; only unwrap quotes.
|
|
178
|
+
const parts = arg.match(/(?:[^\s"']+|"[^"]*"|'[^']*')+/g) || [arg];
|
|
179
|
+
for (const part of parts) {
|
|
180
|
+
additionalDockerArgs.push(part.replace(/^['"]|['"]$/g, ''));
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
try {
|
|
184
|
+
extensions = {
|
|
185
|
+
...extensions,
|
|
186
|
+
enabled: await preflightDockerExtensions(extensions.enabled, options.transport, additionalDockerArgs),
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
command.error(error.message);
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
const dataAuto = options.transport === 'stdio' && extensions.enabled.length > 0;
|
|
79
194
|
// 1. Locate the package root (where package.json is)
|
|
80
195
|
const pkgRoot = STAFF_MCP_PACKAGE_ROOT;
|
|
81
196
|
// 2. Cross-platform path normalizer for Volume Mounts
|
|
82
197
|
const toDockerVolumePath = (p) => {
|
|
83
|
-
if (os.platform() ===
|
|
84
|
-
return p
|
|
198
|
+
if (os.platform() === 'win32') {
|
|
199
|
+
return p
|
|
200
|
+
.replace(/^([a-zA-Z]):/, (_, drive) => `/${drive.toLowerCase()}`)
|
|
201
|
+
.replace(/\\/g, '/');
|
|
85
202
|
}
|
|
86
203
|
return p;
|
|
87
204
|
};
|
|
88
205
|
const hostCwd = path.resolve(options.workingDir);
|
|
89
|
-
const dockerArgs = [
|
|
206
|
+
const dockerArgs = ['run', '-i', '--rm'];
|
|
207
|
+
const binds = [];
|
|
208
|
+
const bind = (source, target, readOnly = false) => {
|
|
209
|
+
binds.push({ source, target });
|
|
210
|
+
dockerArgs.push('-v', `${toDockerVolumePath(source)}:${target}${readOnly ? ':ro' : ''}`);
|
|
211
|
+
};
|
|
90
212
|
// 3. Mount working directory and package source
|
|
91
|
-
|
|
92
|
-
dockerArgs.push(
|
|
93
|
-
|
|
213
|
+
bind(hostCwd, '/workspace');
|
|
214
|
+
dockerArgs.push('-w', '/workspace');
|
|
215
|
+
bind(pkgRoot, '/opt/staff-mcp', true);
|
|
94
216
|
// 3.5 Check if we are nested inside a node_modules folder (npx/pnpm global scenario)
|
|
95
217
|
// If yes, map the parent node_modules into the container as well so dependencies can be resolved
|
|
96
|
-
const isNestedInNodeModules = pkgRoot.includes(
|
|
218
|
+
const isNestedInNodeModules = pkgRoot.includes('node_modules');
|
|
97
219
|
if (isNestedInNodeModules) {
|
|
98
220
|
// By mapping the parent directory of staff-mcp's pkgRoot to /opt/node_modules,
|
|
99
221
|
// Node.js inside the container can look up and find shared dependencies.
|
|
100
|
-
const outerNodeModules = path.resolve(pkgRoot,
|
|
101
|
-
|
|
222
|
+
const outerNodeModules = path.resolve(pkgRoot, '..');
|
|
223
|
+
bind(outerNodeModules, '/opt/node_modules', true);
|
|
102
224
|
}
|
|
103
|
-
// 3.8
|
|
104
|
-
//
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
225
|
+
// 3.8 Keep Docker-installed tools separate from host-native binaries.
|
|
226
|
+
// Keep the existing container identity and host permissions unchanged.
|
|
227
|
+
const dockerToolsDir = path.join(STAFF_TOOLS_DIR, 'docker');
|
|
228
|
+
try {
|
|
229
|
+
// Create as the host caller, never let Docker create root-owned dirs.
|
|
230
|
+
ensureStaffDirs();
|
|
231
|
+
mkdirSync(dockerToolsDir, { recursive: true });
|
|
232
|
+
}
|
|
233
|
+
catch {
|
|
234
|
+
command.error('Cannot prepare Docker user directories/tools cache.');
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
// Fixed paths do not assume the image's user or HOME directory.
|
|
238
|
+
const containerStaffDir = '/opt/.staff';
|
|
239
|
+
dockerArgs.push('-e', `STAFF_GLOBAL_DIR=${containerStaffDir}`);
|
|
240
|
+
bind(dockerToolsDir, `${containerStaffDir}/tools`);
|
|
241
|
+
bind(STAFF_SKILLS_DIR, `${containerStaffDir}/skills`);
|
|
242
|
+
bind(STAFF_PROFILES_DIR, `${containerStaffDir}/profiles`);
|
|
112
243
|
// 4. Mount additional allowed directories
|
|
113
244
|
if (options.allowedDir && options.allowedDir.length > 0) {
|
|
114
245
|
options.allowedDir.forEach((dir) => {
|
|
115
246
|
const absDir = path.resolve(dir);
|
|
116
|
-
|
|
247
|
+
bind(absDir, absDir);
|
|
117
248
|
});
|
|
118
249
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
// 6. Inject advanced custom args (e.g., ADB pass-through, network configs)
|
|
124
|
-
if (options.dockerArgs && options.dockerArgs.length > 0) {
|
|
125
|
-
const additionalDockerArgs = [];
|
|
126
|
-
// commander parses varargs as an array of strings
|
|
127
|
-
options.dockerArgs.forEach((arg) => {
|
|
128
|
-
// simple split by space if the user quoted them (e.g., "-e FOO=1")
|
|
129
|
-
// If the user uses standard bash expansion, commander already handles it.
|
|
130
|
-
const parts = arg.match(/(?:[^\s"']+|"[^"]*"|'[^']*')+/g) || [arg];
|
|
131
|
-
parts.forEach((part) => additionalDockerArgs.push(part.replace(/^['"]|['"]$/g, "")));
|
|
132
|
-
});
|
|
133
|
-
try {
|
|
134
|
-
validateAdditionalDockerArgs(additionalDockerArgs);
|
|
250
|
+
const dockerRoots = options.fileRoot?.map((root) => {
|
|
251
|
+
const directory = `/opt/staff-file-roots/${root.rootId}`;
|
|
252
|
+
if (extensions.enabled.includes('files')) {
|
|
253
|
+
bind(root.directory, directory);
|
|
135
254
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
141
|
-
dockerArgs.push(...additionalDockerArgs);
|
|
255
|
+
return { rootId: root.rootId, directory };
|
|
256
|
+
});
|
|
257
|
+
// 5. Handle HTTP port forwarding
|
|
258
|
+
if (options.transport === 'http') {
|
|
259
|
+
dockerArgs.push('-p', `${options.port}:${options.port}`);
|
|
142
260
|
}
|
|
261
|
+
// 6. Inject the already validated custom Docker options.
|
|
262
|
+
dockerArgs.push(...additionalDockerArgs);
|
|
263
|
+
// Only wrapper-owned mounts are known here, not arbitrary -D mounts.
|
|
264
|
+
// A bind of a staging descendant is protected in its entirety.
|
|
265
|
+
const privateAliases = dockerPrivatePaths(hostCwd, binds);
|
|
143
266
|
// 7. Inject environment variable to detect docker proxy mode
|
|
144
|
-
dockerArgs.push(
|
|
267
|
+
dockerArgs.push('-e', 'STAFF_MCP_IS_DOCKER=1');
|
|
145
268
|
// 8. Specify the target image
|
|
146
269
|
dockerArgs.push(options.docker);
|
|
147
270
|
// 9. Reconstruct the command inside the container
|
|
148
|
-
dockerArgs.push(
|
|
149
|
-
dockerArgs.push(
|
|
150
|
-
if (options.transport ===
|
|
271
|
+
dockerArgs.push('node', '/opt/staff-mcp/dist/src/index.js');
|
|
272
|
+
dockerArgs.push('-t', options.transport);
|
|
273
|
+
if (options.transport === 'reverse') {
|
|
151
274
|
if (options.reverseUrl)
|
|
152
|
-
dockerArgs.push(
|
|
275
|
+
dockerArgs.push('--ru', options.reverseUrl);
|
|
153
276
|
if (options.reverseToken)
|
|
154
|
-
dockerArgs.push(
|
|
277
|
+
dockerArgs.push('--rt', options.reverseToken);
|
|
155
278
|
if (options.reverseName)
|
|
156
|
-
dockerArgs.push(
|
|
157
|
-
dockerArgs.push(
|
|
158
|
-
dockerArgs.push(
|
|
159
|
-
dockerArgs.push(
|
|
160
|
-
dockerArgs.push(
|
|
279
|
+
dockerArgs.push('--rn', options.reverseName);
|
|
280
|
+
dockerArgs.push('--reverse-connect-timeout', String(options.reverseConnectTimeout));
|
|
281
|
+
dockerArgs.push('--reverse-initialization-timeout', String(options.reverseInitializationTimeout));
|
|
282
|
+
dockerArgs.push('--reverse-read-timeout', String(options.reverseReadTimeout));
|
|
283
|
+
dockerArgs.push('--reverse-stable-time', String(options.reverseStableTime));
|
|
161
284
|
}
|
|
162
285
|
else {
|
|
163
|
-
dockerArgs.push(
|
|
286
|
+
dockerArgs.push('-p', String(options.port));
|
|
164
287
|
// Inside container, we must listen on all interfaces for HTTP to be exposed
|
|
165
|
-
if (options.transport ===
|
|
166
|
-
dockerArgs.push(
|
|
288
|
+
if (options.transport === 'http') {
|
|
289
|
+
dockerArgs.push('-h', '0.0.0.0');
|
|
290
|
+
dockerArgs.push('--http-max-sessions', String(options.httpMaxSessions));
|
|
291
|
+
dockerArgs.push('--http-session-idle-ms', String(options.httpSessionIdleMs));
|
|
167
292
|
if (options.httpToken !== undefined) {
|
|
168
|
-
dockerArgs.push(
|
|
293
|
+
dockerArgs.push('--http-token', options.httpToken);
|
|
169
294
|
}
|
|
170
295
|
}
|
|
171
296
|
else {
|
|
172
|
-
dockerArgs.push(
|
|
297
|
+
dockerArgs.push('-h', options.host);
|
|
173
298
|
}
|
|
174
299
|
}
|
|
175
|
-
dockerArgs.push(
|
|
300
|
+
dockerArgs.push('-w', '/workspace');
|
|
301
|
+
for (const privatePath of new Set([
|
|
302
|
+
...(options.internalFilePrivatePath ?? []),
|
|
303
|
+
...privateAliases,
|
|
304
|
+
])) {
|
|
305
|
+
dockerArgs.push('--internal-file-private-path', privatePath);
|
|
306
|
+
}
|
|
176
307
|
if (options.allowedDir && options.allowedDir.length > 0) {
|
|
177
308
|
options.allowedDir.forEach((dir) => {
|
|
178
|
-
dockerArgs.push(
|
|
309
|
+
dockerArgs.push('-d', path.resolve(dir)); // paths inside container match host
|
|
179
310
|
});
|
|
180
311
|
}
|
|
181
|
-
dockerArgs.push(
|
|
182
|
-
dockerArgs.push(
|
|
312
|
+
dockerArgs.push('-r', options.profile);
|
|
313
|
+
dockerArgs.push('-m', String(options.maxMcpSessions));
|
|
183
314
|
if (options.enableLsp) {
|
|
184
|
-
dockerArgs.push(
|
|
315
|
+
dockerArgs.push('--enable-lsp');
|
|
316
|
+
}
|
|
317
|
+
if (extensions.enabled.length) {
|
|
318
|
+
dockerArgs.push('--extensions', extensions.enabled.join(','));
|
|
319
|
+
}
|
|
320
|
+
for (const root of dockerRoots ?? []) {
|
|
321
|
+
dockerArgs.push('--file-root', `${root.rootId}=${root.directory}`);
|
|
322
|
+
}
|
|
323
|
+
if (extensions.shell !== undefined) {
|
|
324
|
+
dockerArgs.push('--shell', extensions.shell);
|
|
185
325
|
}
|
|
186
326
|
// Forward an explicit --proxy so the containerized process uses it too.
|
|
187
327
|
// (Env-var proxies reach the container through docker's own env injection
|
|
188
328
|
// or user-supplied -D "-e HTTP_PROXY=..." args.)
|
|
189
329
|
if (options.proxy) {
|
|
190
|
-
dockerArgs.push(
|
|
330
|
+
dockerArgs.push('--proxy', options.proxy);
|
|
191
331
|
}
|
|
192
332
|
// 10. Run Docker with transport-aware stdin and a controlled shutdown lifecycle.
|
|
193
333
|
// Reverse/HTTP keep a private lifecycle pipe open instead of depending on
|
|
@@ -195,6 +335,7 @@ program
|
|
|
195
335
|
// The name hint makes containers distinguishable in `docker ps`
|
|
196
336
|
// (e.g. staff-mcp-chat-poc-18000-a1b2c3).
|
|
197
337
|
const exitCode = await runDockerProxy(dockerArgs, options.transport, {
|
|
338
|
+
dataAuto,
|
|
198
339
|
nameHint: buildDockerNameHint({
|
|
199
340
|
workspaceDir: hostCwd,
|
|
200
341
|
transport: options.transport,
|
|
@@ -210,48 +351,52 @@ program
|
|
|
210
351
|
// -------------------------------------------------------------
|
|
211
352
|
// Standard Host Mode
|
|
212
353
|
// -------------------------------------------------------------
|
|
213
|
-
// Auto-exit if we are running as a proxy child and the host pipe breaks
|
|
214
|
-
if (process.env.STAFF_MCP_IS_DOCKER === "1") {
|
|
215
|
-
if (options.transport !== "stdio") {
|
|
216
|
-
process.stdin.resume(); // keep reading to detect end in non-stdio modes
|
|
217
|
-
}
|
|
218
|
-
process.stdin.on("end", () => {
|
|
219
|
-
console.error("[staff-mcp] Host pipe closed, terminating container...");
|
|
220
|
-
process.exit(0);
|
|
221
|
-
});
|
|
222
|
-
process.stdin.on("error", () => {
|
|
223
|
-
process.exit(1);
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
354
|
ensureStaffDirs();
|
|
227
355
|
// Pre-warm ripgrep: trigger background install if not present, so it's
|
|
228
356
|
// likely ready by the time the first search_workspace call happens.
|
|
229
|
-
ensureRipgrep().catch(err => {
|
|
230
|
-
console.error(
|
|
357
|
+
ensureRipgrep().catch((err) => {
|
|
358
|
+
console.error('[staff-mcp] Background ripgrep install failed:', err.message);
|
|
231
359
|
});
|
|
232
360
|
const workingDir = path.resolve(options.workingDir);
|
|
233
361
|
const allowedDirs = options.allowedDir.map((d) => path.resolve(d));
|
|
234
362
|
const profile = options.profile;
|
|
235
363
|
const maxMcpSessions = parseInt(options.maxMcpSessions, 10) || 5;
|
|
236
364
|
const enableLsp = !!options.enableLsp;
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
365
|
+
let serverFactory;
|
|
366
|
+
try {
|
|
367
|
+
serverFactory = createServerFactory('staff-mcp', STAFF_MCP_VERSION, workingDir, allowedDirs, profile, maxMcpSessions, enableLsp, extensions, options.internalFilePrivatePath);
|
|
368
|
+
}
|
|
369
|
+
catch (error) {
|
|
370
|
+
command.error(error.message);
|
|
371
|
+
return;
|
|
240
372
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
373
|
+
if (options.transport === 'http') {
|
|
374
|
+
await runHostService(() => startHttpServer(serverFactory, parseInt(options.port, 10), options.host, options.httpToken, {
|
|
375
|
+
maxSessions: options.httpMaxSessions,
|
|
376
|
+
idleTimeoutMs: options.httpSessionIdleMs,
|
|
377
|
+
}), process.env.STAFF_MCP_IS_DOCKER === '1');
|
|
378
|
+
}
|
|
379
|
+
else if (options.transport === 'reverse') {
|
|
380
|
+
if (!options.reverseUrl ||
|
|
381
|
+
!options.reverseToken ||
|
|
382
|
+
!options.reverseName) {
|
|
383
|
+
console.error('[staff-mcp] Error: --ru (reverse-url), --rt (reverse-token), and --rn (reverse-name) are required for reverse transport.');
|
|
244
384
|
process.exit(1);
|
|
245
385
|
}
|
|
246
|
-
await startReverseServer(serverFactory
|
|
386
|
+
await runHostService(() => startReverseServer(serverFactory, options.reverseUrl, options.reverseToken, options.reverseName, {
|
|
387
|
+
proxy: options.proxy,
|
|
247
388
|
connectTimeout: options.reverseConnectTimeout,
|
|
248
389
|
initializationTimeout: options.reverseInitializationTimeout,
|
|
249
|
-
heartbeat: {
|
|
250
|
-
|
|
251
|
-
|
|
390
|
+
heartbeat: {
|
|
391
|
+
readTimeout: options.reverseReadTimeout,
|
|
392
|
+
},
|
|
393
|
+
reconnect: {
|
|
394
|
+
stableConnectionMs: options.reverseStableTime,
|
|
395
|
+
},
|
|
396
|
+
}), process.env.STAFF_MCP_IS_DOCKER === '1');
|
|
252
397
|
}
|
|
253
398
|
else {
|
|
254
|
-
await startStdioServer(serverFactory());
|
|
399
|
+
await runHostService(() => startStdioServer(serverFactory()), false);
|
|
255
400
|
}
|
|
256
401
|
});
|
|
257
402
|
await program.parseAsync(process.argv);
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
|
|
2
|
+
import type { JSONRPCMessage } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
/** Outbound-only reverse control: SSE receives JSON-RPC, POST sends JSON-RPC. No resume/replay. */
|
|
4
|
+
export declare class ReverseSseTransport implements Transport {
|
|
5
|
+
private readonly base;
|
|
6
|
+
private readonly headers;
|
|
7
|
+
private readonly fetch;
|
|
8
|
+
private readonly connectTimeout;
|
|
9
|
+
private readonly readTimeout;
|
|
10
|
+
onclose?: () => void;
|
|
11
|
+
onerror?: (error: Error) => void;
|
|
12
|
+
onmessage?: Transport['onmessage'];
|
|
13
|
+
readonly closed: Promise<void>;
|
|
14
|
+
sessionId?: string;
|
|
15
|
+
private resolveClosed;
|
|
16
|
+
private readonly abort;
|
|
17
|
+
private stopped;
|
|
18
|
+
private started;
|
|
19
|
+
private endpoint?;
|
|
20
|
+
private queue;
|
|
21
|
+
private queuedBytes;
|
|
22
|
+
private readTimer?;
|
|
23
|
+
private readyResolve?;
|
|
24
|
+
private readyReject?;
|
|
25
|
+
private reader?;
|
|
26
|
+
constructor(base: URL, headers: Record<string, string>, fetch: typeof globalThis.fetch, connectTimeout?: number, readTimeout?: number);
|
|
27
|
+
start(): Promise<void>;
|
|
28
|
+
private read;
|
|
29
|
+
private event;
|
|
30
|
+
send(message: JSONRPCMessage): Promise<void>;
|
|
31
|
+
private armReadTimeout;
|
|
32
|
+
private fail;
|
|
33
|
+
close(): Promise<void>;
|
|
34
|
+
}
|