staff-mcp 1.1.2 → 1.3.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/README.md +46 -1
- package/README_zh.md +36 -1
- package/dist/src/constants.d.ts +6 -0
- package/dist/src/constants.js +6 -0
- package/dist/src/constants.js.map +1 -1
- package/dist/src/index.js +41 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/lsp/manager.d.ts +2 -0
- package/dist/src/lsp/manager.js +22 -10
- package/dist/src/lsp/manager.js.map +1 -1
- package/dist/src/server.js +1 -1
- package/dist/src/server.js.map +1 -1
- package/dist/src/tools/mcp-client-tools.js +7 -3
- package/dist/src/tools/mcp-client-tools.js.map +1 -1
- package/dist/src/tools/shell-tools.js +13 -4
- package/dist/src/tools/shell-tools.js.map +1 -1
- package/dist/src/tools/skills.js +2 -2
- package/dist/src/tools/skills.js.map +1 -1
- package/dist/src/tools/system-tools.d.ts +9 -3
- package/dist/src/tools/system-tools.js +31 -48
- package/dist/src/tools/system-tools.js.map +1 -1
- package/dist/src/transports/http.d.ts +2 -1
- package/dist/src/transports/http.js +26 -3
- package/dist/src/transports/http.js.map +1 -1
- package/dist/src/transports/reverse.d.ts +5 -1
- package/dist/src/transports/reverse.js +4 -2
- package/dist/src/transports/reverse.js.map +1 -1
- package/dist/src/transports/stdio.d.ts +1 -0
- package/dist/src/transports/stdio.js +6 -4
- package/dist/src/transports/stdio.js.map +1 -1
- package/dist/src/utils/proxy.d.ts +1 -1
- package/dist/src/utils/proxy.js.map +1 -1
- package/package.json +15 -16
- package/dist/tests/docker-proxy.test.d.ts +0 -1
- package/dist/tests/docker-proxy.test.js +0 -395
- package/dist/tests/docker-proxy.test.js.map +0 -1
- package/dist/tests/file-write-queue.test.d.ts +0 -1
- package/dist/tests/file-write-queue.test.js +0 -105
- package/dist/tests/file-write-queue.test.js.map +0 -1
- package/dist/tests/fte-lifecycle.test.d.ts +0 -1
- package/dist/tests/fte-lifecycle.test.js +0 -118
- package/dist/tests/fte-lifecycle.test.js.map +0 -1
- package/dist/tests/lsp-client.test.d.ts +0 -1
- package/dist/tests/lsp-client.test.js +0 -52
- package/dist/tests/lsp-client.test.js.map +0 -1
- package/dist/tests/package-info.test.d.ts +0 -1
- package/dist/tests/package-info.test.js +0 -54
- package/dist/tests/package-info.test.js.map +0 -1
- package/dist/tests/proxy-no-proxy.test.d.ts +0 -1
- package/dist/tests/proxy-no-proxy.test.js +0 -156
- package/dist/tests/proxy-no-proxy.test.js.map +0 -1
- package/dist/tests/proxy.test.d.ts +0 -1
- package/dist/tests/proxy.test.js +0 -89
- package/dist/tests/proxy.test.js.map +0 -1
- package/dist/tests/reverse-reconnect.test.d.ts +0 -1
- package/dist/tests/reverse-reconnect.test.js +0 -89
- package/dist/tests/reverse-reconnect.test.js.map +0 -1
- package/dist/tests/security.test.d.ts +0 -1
- package/dist/tests/security.test.js +0 -21
- package/dist/tests/security.test.js.map +0 -1
- package/dist/tests/shell-tools.test.d.ts +0 -1
- package/dist/tests/shell-tools.test.js +0 -113
- package/dist/tests/shell-tools.test.js.map +0 -1
- package/dist/tests/test_files/test.d.ts +0 -1
- package/dist/tests/test_files/test.js +0 -4
- package/dist/tests/test_files/test.js.map +0 -1
package/README.md
CHANGED
|
@@ -10,6 +10,8 @@ It provides secure file management, shell execution, LSP-powered code intelligen
|
|
|
10
10
|
|
|
11
11
|
## 🚀 Quick Start
|
|
12
12
|
|
|
13
|
+
Requires **Node.js 22.22.2 or newer**.
|
|
14
|
+
|
|
13
15
|
### 1. Standard Host Mode
|
|
14
16
|
Run directly on your physical machine or virtual environment.
|
|
15
17
|
```bash
|
|
@@ -21,7 +23,7 @@ Seamlessly spawn the AI assistant **inside any Docker container** while keeping
|
|
|
21
23
|
|
|
22
24
|
```bash
|
|
23
25
|
# Debug a Node.js project inside a pure Alpine container
|
|
24
|
-
npx -y staff-mcp@latest --docker node:
|
|
26
|
+
npx -y staff-mcp@latest --docker node:22-alpine
|
|
25
27
|
|
|
26
28
|
# Perform security analysis inside a custom reverse-engineering image
|
|
27
29
|
npx -y staff-mcp@latest --docker chineseastar/security:latest --profile android-reverse
|
|
@@ -56,8 +58,49 @@ npx -y staff-mcp@latest -t reverse \
|
|
|
56
58
|
--rn my-macbook-pro
|
|
57
59
|
```
|
|
58
60
|
|
|
61
|
+
### 5. Authenticated HTTP Mode
|
|
62
|
+
|
|
63
|
+
HTTP authentication is optional for backward compatibility. Set `--ht` / `--http-token`
|
|
64
|
+
to a strong, random token to require authentication:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npx -y staff-mcp@latest -t http -p 3000 \
|
|
68
|
+
--http-token your_secure_token_here --working-dir /path/to/your/project
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
When a token is configured, clients must send `Authorization: Bearer <token>` on every request.
|
|
72
|
+
For a full Authorization-header field, enter `Bearer <token>`; for a Bearer-token
|
|
73
|
+
field, enter only the token. Raw tokens without the `Bearer` scheme are rejected.
|
|
74
|
+
Missing or incorrect credentials return HTTP 401, including requests with an
|
|
75
|
+
existing `mcp-session-id`. Authentication covers `/mcp` and the legacy `/sse` and
|
|
76
|
+
`/messages` routes. CORS `OPTIONS` preflight remains public and cannot invoke MCP.
|
|
77
|
+
|
|
78
|
+
Omitting `--http-token` preserves existing unauthenticated HTTP deployments.
|
|
79
|
+
Anyone who can reach such a server can invoke its tools, so use this mode only
|
|
80
|
+
on trusted networks. An explicitly empty token or one containing whitespace is
|
|
81
|
+
rejected at startup. `--docker` forwards `--http-token` to the container command
|
|
82
|
+
only when provided.
|
|
83
|
+
Command-line tokens may be visible in shell history and process listings; keep
|
|
84
|
+
access to those restricted. Stdio and reverse transports are unchanged;
|
|
85
|
+
`--reverse-token` does not configure HTTP auth.
|
|
86
|
+
Use HTTPS through a reverse proxy for remote access, since plain HTTP does not
|
|
87
|
+
protect the token in transit. This is a shared server token, not an OAuth flow.
|
|
88
|
+
|
|
59
89
|
---
|
|
60
90
|
|
|
91
|
+
## Reverse 1.2 upgrade notes
|
|
92
|
+
|
|
93
|
+
Reverse mode uses `mcp-reverse@1.4.0` and MCP SDK `1.32.1`. Readiness is reported only after MCP initialization, and short-lived connections no longer reset exponential backoff. Reconnection never replays tool calls.
|
|
94
|
+
|
|
95
|
+
Optional CLI controls (milliseconds, also forwarded in Docker mode):
|
|
96
|
+
|
|
97
|
+
- `--reverse-connect-timeout`: 15000; 0 disables the HTTP/SSE connection deadline.
|
|
98
|
+
- `--reverse-initialization-timeout`: 15000; must be positive.
|
|
99
|
+
- `--reverse-read-timeout`: 45000; liveness monitoring, not tool execution duration.
|
|
100
|
+
- `--reverse-stable-time`: 30000; lifetime required before resetting the retry cycle (0 restores immediate reset).
|
|
101
|
+
|
|
102
|
+
`skill` and `read_skill_file` return `_meta: { persistent: true }` instead of putting this host hint in business `structuredContent`. Updated chat-ai reads tool-result metadata only from `_meta`; the incorrect `structuredContent.persistent` format is not supported. Older chat-ai can still connect and call tools, but does not recognize the new history-enrichment hint. Publishing or upgrading staff-mcp does not require deploying chat-ai first; cross-turn skill enrichment requires a receiver that recognizes `_meta.persistent`. No new wire protocol or storage migration is required.
|
|
103
|
+
|
|
61
104
|
## 🛠️ Core Capabilities
|
|
62
105
|
|
|
63
106
|
### 1. Seamless Containerization (`--docker`)
|
|
@@ -96,6 +139,7 @@ It will securely download, configure, and reload the skill without you lifting a
|
|
|
96
139
|
### 4. Advanced Shell & Code Intelligence
|
|
97
140
|
- **Unified Shell Execution**: A single `execute_command` entry point for everything — quick commands, builds, and dev servers. If a command outlives its wait window (default 10s), it is NOT killed: it moves to the background and returns a task ID with its recent output. Follow up via `manage_background_task` (`logs` with optional blocking `wait`, `stop` kills the whole process group, `list`). Auto-detects and upgrades to `/bin/bash` if available, supporting complex pipelines.
|
|
98
141
|
- **LSP Integration**: Extract symbols, get diagnostics, go to definitions, and find references for TypeScript, Python, and more.
|
|
142
|
+
- TypeScript/JavaScript LSP keeps a local TypeScript 5.9.3 fallback toolchain. A usable workspace TypeScript is preferred; TypeScript 7 workspaces fall back because the current LSP ecosystem still depends on the tsserver API.
|
|
99
143
|
- **Secure Sandbox**: Strictly confines the AI to the specified working directory and user-defined allowed paths.
|
|
100
144
|
|
|
101
145
|
---
|
|
@@ -113,6 +157,7 @@ It will securely download, configure, and reload the skill without you lifting a
|
|
|
113
157
|
| `-t, --transport` | Transport type (`stdio`, `http`, or `reverse`) | `stdio` |
|
|
114
158
|
| `-p, --port` | Port for HTTP server | `3000` |
|
|
115
159
|
| `-h, --host` | Host for HTTP server | `127.0.0.1` |
|
|
160
|
+
| `--ht, --http-token` | Optional bearer token for HTTP transport | `undefined` (no authentication) |
|
|
116
161
|
| `--ru, --reverse-url` | URL for Reverse MCP Gateway | `undefined` |
|
|
117
162
|
| `--rt, --reverse-token` | Security token for Reverse MCP | `undefined` |
|
|
118
163
|
| `--rn, --reverse-name` | Server name for Reverse MCP | `undefined` |
|
package/README_zh.md
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
|
|
11
11
|
## 🚀 快速开始
|
|
12
12
|
|
|
13
|
+
需要 **Node.js 22.22.2 或更高版本**。
|
|
14
|
+
|
|
13
15
|
### 1. 标准宿主机模式
|
|
14
16
|
直接在物理机或虚拟环境中运行。
|
|
15
17
|
```bash
|
|
@@ -21,7 +23,7 @@ npx -y staff-mcp@latest --working-dir /path/to/your/project
|
|
|
21
23
|
|
|
22
24
|
```bash
|
|
23
25
|
# 在一个纯净的 Alpine Node 容器里调试你的代码
|
|
24
|
-
npx -y staff-mcp@latest --docker node:
|
|
26
|
+
npx -y staff-mcp@latest --docker node:22-alpine
|
|
25
27
|
|
|
26
28
|
# 在自带逆向工程工具链的镜像里执行安全分析
|
|
27
29
|
npx -y staff-mcp@latest --docker chineseastar/security:latest --profile android-reverse
|
|
@@ -56,8 +58,39 @@ npx -y staff-mcp@latest -t reverse \
|
|
|
56
58
|
--rn my-macbook-pro
|
|
57
59
|
```
|
|
58
60
|
|
|
61
|
+
### 5. 带身份验证的 HTTP 模式
|
|
62
|
+
|
|
63
|
+
为兼容已有部署,HTTP 身份验证是可选的。设置 `--ht` / `--http-token` 即可开启,两者等价,建议使用强随机 token:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npx -y staff-mcp@latest -t http -p 3000 \
|
|
67
|
+
--http-token your_secure_token_here --working-dir /path/to/your/project
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
配置 token 后,客户端每次请求都必须发送 `Authorization: Bearer <token>`。如果配置项接收完整的
|
|
71
|
+
Authorization 请求头值,填写 `Bearer <token>`;如果是 Bearer token 配置项,只填写
|
|
72
|
+
token。仅发送原始 token、不带 `Bearer` 前缀的请求会被拒绝。缺失或错误的凭证返回
|
|
73
|
+
HTTP 401,携带已有 `mcp-session-id` 也不能绕过验证。保护范围包括 `/mcp` 和兼容
|
|
74
|
+
路由 `/sse`、`/messages`。CORS `OPTIONS` 预检无需凭证,但无法调用 MCP。
|
|
75
|
+
|
|
76
|
+
不传 `--http-token` 时,保留原有无鉴权 HTTP 行为,已有部署可以继续运行。任何能够
|
|
77
|
+
连接服务的客户端都能调用工具,因此仅应在可信网络中使用此模式。显式传入空 token
|
|
78
|
+
或含空白字符的 token 时,服务拒绝启动。`--docker` 仅在提供 token 时将其透传到容器命令。
|
|
79
|
+
命令行 token 可能出现在 shell 历史和进程列表中,请限制对这些信息的访问。
|
|
80
|
+
Stdio 和 reverse 模式保持不变;`--reverse-token` 不用于
|
|
81
|
+
HTTP 身份验证。远程访问应通过反向代理启用 HTTPS,普通 HTTP 无法保护传输中的
|
|
82
|
+
token。这里使用服务端共享 token,不提供 OAuth 流程。
|
|
83
|
+
|
|
59
84
|
---
|
|
60
85
|
|
|
86
|
+
### Reverse 1.2 升级说明
|
|
87
|
+
|
|
88
|
+
- 使用 `mcp-reverse@1.4.0` 和 MCP SDK `1.32.1`。只有 MCP 初始化完成才报告 ready;SSE 打开不等于协议就绪。
|
|
89
|
+
- 初始化失败或短暂连接后断开会继续指数退避,默认稳定连接 30 秒后才重置失败周期,不重放工具请求。
|
|
90
|
+
- 可配置 `--reverse-connect-timeout`(默认 15000ms,0 禁用建连超时)、`--reverse-initialization-timeout`(15000ms)、`--reverse-read-timeout`(45000ms)和 `--reverse-stable-time`(30000ms,0 为立即重置)。Docker 模式也透传这些参数。读取活性超时与工具运行时长不同,不建议仅靠放宽超时掩盖故障。
|
|
91
|
+
- `skill` / `read_skill_file` 使用结果级 `_meta: { persistent: true }`,不再占用业务 `structuredContent`。`persistent` 是 chat-ai 历史回填约定,不是 MCP 标准存储选项。
|
|
92
|
+
- chat-ai 只从 `_meta` 读取工具结果元数据,不兼容 `structuredContent.persistent` 的错误写法。旧 chat-ai 仍能连接和调用工具,但不识别新标记,无法据此跨轮回填技能结果。发布或升级 staff-mcp 无需先部署 chat-ai;若需要跨轮回填,接收端需支持 `_meta.persistent`。
|
|
93
|
+
|
|
61
94
|
## 🛠️ 核心能力
|
|
62
95
|
|
|
63
96
|
### 1. 无缝容器化支持 (`--docker`)
|
|
@@ -97,6 +130,7 @@ npx -y staff-mcp@latest --profile android-reverse
|
|
|
97
130
|
### 4. 增强的终端与代码智能
|
|
98
131
|
- **统一命令执行**:所有命令(快速命令、构建、开发服务器)统一走 `execute_command` 入口。命令超过等待窗口(默认 10s)不会被杀死,而是转入后台并返回任务 ID 和近期输出;随后用 `manage_background_task` 跟进(`logs` 支持 `wait` 阻塞等待新输出或退出、`stop` 终止整个进程组、`list` 列出全部)。自动检测并在支持的环境中升级为 `/bin/bash`,完美支持复杂管道命令。
|
|
99
132
|
- **LSP 深度集成**:支持提取符号 (Symbols)、获取诊断信息 (Diagnostics)、跳转定义 (Definition) 和查找引用 (References),大幅提升 AI 理解 TypeScript/Python 等代码的能力。
|
|
133
|
+
- TypeScript/JavaScript LSP 会在 staff-mcp 工具目录保留 TypeScript 5.9.3 作为兼容回退;工作区 TypeScript 可用时仍优先使用,TypeScript 7 暂无 tsserver API 时会自动回退。
|
|
100
134
|
- **沙盒安全**:将 AI 严格限制在你指定的工作区和允许的目录内,对全局破坏“零容忍”。
|
|
101
135
|
|
|
102
136
|
---
|
|
@@ -114,6 +148,7 @@ npx -y staff-mcp@latest --profile android-reverse
|
|
|
114
148
|
| `-t, --transport` | 传输协议 (`stdio`, `http`, 或 `reverse`) | `stdio` |
|
|
115
149
|
| `-p, --port` | HTTP 服务的监听端口 | `3000` |
|
|
116
150
|
| `-h, --host` | HTTP 服务的监听地址 | `127.0.0.1` |
|
|
151
|
+
| `--ht, --http-token` | HTTP 模式可选的 Bearer token | `undefined`(不鉴权) |
|
|
117
152
|
| `--ru, --reverse-url` | Reverse MCP 网关的远端 URL | `undefined` |
|
|
118
153
|
| `--rt, --reverse-token` | Reverse MCP 的安全认证令牌 | `undefined` |
|
|
119
154
|
| `--rn, --reverse-name` | Reverse MCP 的服务注册名称 | `undefined` |
|
package/dist/src/constants.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export declare const CHARACTER_LIMIT = 100000;
|
|
2
2
|
export declare const DEFAULT_TIMEOUT = 10000;
|
|
3
|
+
/**
|
|
4
|
+
* Upper bound for blocking waits in execute_command. The tool must respond well before
|
|
5
|
+
* any MCP client-side request timeout (chat-ai: 1 hour), otherwise the caller gives up
|
|
6
|
+
* and the auto-backgrounded task's taskId is lost (orphaned background task).
|
|
7
|
+
*/
|
|
8
|
+
export declare const MAX_WAIT_TIMEOUT = 1800000;
|
|
3
9
|
export declare const SEARCH_MAX_COLUMNS = 200;
|
|
4
10
|
export declare const SEARCH_MAX_MATCHES = 200;
|
|
5
11
|
export declare const SEARCH_EXEC_MAX_BUFFER: number;
|
package/dist/src/constants.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export const CHARACTER_LIMIT = 100000;
|
|
2
2
|
export const DEFAULT_TIMEOUT = 10000;
|
|
3
|
+
/**
|
|
4
|
+
* Upper bound for blocking waits in execute_command. The tool must respond well before
|
|
5
|
+
* any MCP client-side request timeout (chat-ai: 1 hour), otherwise the caller gives up
|
|
6
|
+
* and the auto-backgrounded task's taskId is lost (orphaned background task).
|
|
7
|
+
*/
|
|
8
|
+
export const MAX_WAIT_TIMEOUT = 1800000; // 30 minutes
|
|
3
9
|
export const SEARCH_MAX_COLUMNS = 200;
|
|
4
10
|
export const SEARCH_MAX_MATCHES = 200;
|
|
5
11
|
export const SEARCH_EXEC_MAX_BUFFER = 50 * 1024 * 1024; // 50MB
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { Command } from "commander";
|
|
2
|
+
import { Command, InvalidArgumentError } from "commander";
|
|
3
3
|
import * as path from "path";
|
|
4
4
|
import * as os from "os";
|
|
5
5
|
import { createServerFactory } from "./server.js";
|
|
6
6
|
import { buildDockerNameHint, runDockerProxy, validateAdditionalDockerArgs } from "./docker-proxy.js";
|
|
7
7
|
import { STAFF_MCP_PACKAGE_ROOT, STAFF_MCP_VERSION } from "./package-info.js";
|
|
8
|
-
import { startStdioServer } from "./transports/stdio.js";
|
|
9
|
-
import { startHttpServer } from "./transports/http.js";
|
|
8
|
+
import { redirectStdioLogsToStderr, startStdioServer } from "./transports/stdio.js";
|
|
9
|
+
import { getHttpAuthToken, startHttpServer } from "./transports/http.js";
|
|
10
10
|
import { startReverseServer } from "./transports/reverse.js";
|
|
11
11
|
import { ensureStaffDirs, STAFF_SKILLS_DIR, STAFF_PROFILES_DIR } from "./utils/paths.js";
|
|
12
12
|
import { ensureRipgrep } from "./utils/tool-utils.js";
|
|
@@ -23,6 +23,13 @@ process.on("uncaughtException", (err) => {
|
|
|
23
23
|
process.on("unhandledRejection", (reason, promise) => {
|
|
24
24
|
console.error("[staff-mcp] Unhandled Rejection at:", promise, "reason:", reason);
|
|
25
25
|
});
|
|
26
|
+
function milliseconds(value, minimum = 1) {
|
|
27
|
+
const parsed = Number(value);
|
|
28
|
+
if (!Number.isInteger(parsed) || parsed < minimum || parsed > 2_147_483_647) {
|
|
29
|
+
throw new InvalidArgumentError(`Expected milliseconds between ${minimum} and 2147483647.`);
|
|
30
|
+
}
|
|
31
|
+
return parsed;
|
|
32
|
+
}
|
|
26
33
|
const program = new Command();
|
|
27
34
|
program
|
|
28
35
|
.name("staff-mcp")
|
|
@@ -31,9 +38,14 @@ program
|
|
|
31
38
|
.option("-t, --transport <type>", "Transport type (stdio, http, reverse)", "stdio")
|
|
32
39
|
.option("-p, --port <number>", "Port for HTTP server", "3000")
|
|
33
40
|
.option("-h, --host <address>", "Host for HTTP server", "127.0.0.1")
|
|
41
|
+
.option("--ht, --http-token <token>", "Optional bearer token for HTTP transport")
|
|
34
42
|
.option("--ru, --reverse-url <url>", "URL for Reverse MCP Gateway (e.g. http://localhost:3000/api/mcp-reverse)")
|
|
35
43
|
.option("--rt, --reverse-token <token>", "Security token for Reverse MCP")
|
|
36
44
|
.option("--rn, --reverse-name <name>", "Server name for Reverse MCP")
|
|
45
|
+
.option("--reverse-connect-timeout <ms>", "SSE connection timeout (0 disables it)", value => milliseconds(value, 0), 15000)
|
|
46
|
+
.option("--reverse-initialization-timeout <ms>", "MCP initialization timeout after SSE opens", value => milliseconds(value), 15000)
|
|
47
|
+
.option("--reverse-read-timeout <ms>", "SSE inactivity timeout, independent of tool duration", value => milliseconds(value), 45000)
|
|
48
|
+
.option("--reverse-stable-time <ms>", "Connection lifetime required to reset reconnect backoff", value => milliseconds(value, 0), 30000)
|
|
37
49
|
.option("-w, --working-dir <path>", "Working directory for the server (defaults to current execution path)", process.cwd())
|
|
38
50
|
.option("-d, --allowed-dir <paths...>", "Additional directories allowed for sandbox", [])
|
|
39
51
|
.option("-r, --profile <name>", "The active profile for skills and instructions (e.g., android-reverse, default)", "default")
|
|
@@ -44,6 +56,18 @@ program
|
|
|
44
56
|
.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")
|
|
45
57
|
.allowUnknownOption()
|
|
46
58
|
.action(async (options, command) => {
|
|
59
|
+
if (options.transport === "stdio") {
|
|
60
|
+
redirectStdioLogsToStderr();
|
|
61
|
+
}
|
|
62
|
+
if (options.transport === "http") {
|
|
63
|
+
try {
|
|
64
|
+
getHttpAuthToken(options.httpToken);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
console.error(`[staff-mcp] ${error instanceof Error ? error.message : String(error)}`);
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
47
71
|
// Install a proxy-aware global fetch dispatcher before anything can
|
|
48
72
|
// issue an outbound request. In --docker mode this also runs inside the
|
|
49
73
|
// container, where the same entry point is re-executed.
|
|
@@ -130,12 +154,19 @@ program
|
|
|
130
154
|
dockerArgs.push("--rt", options.reverseToken);
|
|
131
155
|
if (options.reverseName)
|
|
132
156
|
dockerArgs.push("--rn", options.reverseName);
|
|
157
|
+
dockerArgs.push("--reverse-connect-timeout", String(options.reverseConnectTimeout));
|
|
158
|
+
dockerArgs.push("--reverse-initialization-timeout", String(options.reverseInitializationTimeout));
|
|
159
|
+
dockerArgs.push("--reverse-read-timeout", String(options.reverseReadTimeout));
|
|
160
|
+
dockerArgs.push("--reverse-stable-time", String(options.reverseStableTime));
|
|
133
161
|
}
|
|
134
162
|
else {
|
|
135
163
|
dockerArgs.push("-p", String(options.port));
|
|
136
164
|
// Inside container, we must listen on all interfaces for HTTP to be exposed
|
|
137
165
|
if (options.transport === "http") {
|
|
138
166
|
dockerArgs.push("-h", "0.0.0.0");
|
|
167
|
+
if (options.httpToken !== undefined) {
|
|
168
|
+
dockerArgs.push("--http-token", options.httpToken);
|
|
169
|
+
}
|
|
139
170
|
}
|
|
140
171
|
else {
|
|
141
172
|
dockerArgs.push("-h", options.host);
|
|
@@ -205,14 +236,19 @@ program
|
|
|
205
236
|
const enableLsp = !!options.enableLsp;
|
|
206
237
|
const serverFactory = createServerFactory("staff-mcp", STAFF_MCP_VERSION, workingDir, allowedDirs, profile, maxMcpSessions, enableLsp);
|
|
207
238
|
if (options.transport === "http") {
|
|
208
|
-
await startHttpServer(serverFactory, parseInt(options.port, 10), options.host);
|
|
239
|
+
await startHttpServer(serverFactory, parseInt(options.port, 10), options.host, options.httpToken);
|
|
209
240
|
}
|
|
210
241
|
else if (options.transport === "reverse") {
|
|
211
242
|
if (!options.reverseUrl || !options.reverseToken || !options.reverseName) {
|
|
212
243
|
console.error("[staff-mcp] Error: --ru (reverse-url), --rt (reverse-token), and --rn (reverse-name) are required for reverse transport.");
|
|
213
244
|
process.exit(1);
|
|
214
245
|
}
|
|
215
|
-
await startReverseServer(serverFactory(), options.reverseUrl, options.reverseToken, options.reverseName
|
|
246
|
+
await startReverseServer(serverFactory(), options.reverseUrl, options.reverseToken, options.reverseName, {
|
|
247
|
+
connectTimeout: options.reverseConnectTimeout,
|
|
248
|
+
initializationTimeout: options.reverseInitializationTimeout,
|
|
249
|
+
heartbeat: { readTimeout: options.reverseReadTimeout },
|
|
250
|
+
reconnect: { stableConnectionMs: options.reverseStableTime },
|
|
251
|
+
});
|
|
216
252
|
}
|
|
217
253
|
else {
|
|
218
254
|
await startStdioServer(serverFactory());
|
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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"}
|
package/dist/src/lsp/manager.js
CHANGED
|
@@ -12,17 +12,23 @@ const STAFF_NODE_MODULES = path.join(STAFF_TOOLS_DIR, "node_modules");
|
|
|
12
12
|
const DEFAULT_CONFIGS = {
|
|
13
13
|
typescript: {
|
|
14
14
|
command: ["node", path.join(STAFF_NODE_MODULES, "typescript-language-server/lib/cli.mjs"), "--stdio"],
|
|
15
|
-
installCommand: `npm install --no-
|
|
16
|
-
extensions: [".ts", ".tsx", ".js", ".jsx"]
|
|
15
|
+
installCommand: `npm install --save-exact --no-audit --no-fund typescript-language-server@6.0.1 typescript@5.9.3`,
|
|
16
|
+
extensions: [".ts", ".tsx", ".js", ".jsx"],
|
|
17
|
+
initializationOptions: {
|
|
18
|
+
tsserver: {
|
|
19
|
+
fallbackPath: path.join(STAFF_NODE_MODULES, "typescript", "lib")
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
requiredPaths: [path.join(STAFF_NODE_MODULES, "typescript", "lib", "tsserver.js")]
|
|
17
23
|
},
|
|
18
24
|
python: {
|
|
19
25
|
command: ["node", path.join(STAFF_NODE_MODULES, "pyright/dist/pyright-langserver.js"), "--stdio"],
|
|
20
|
-
installCommand: `npm install --no-
|
|
26
|
+
installCommand: `npm install --save-exact --no-audit --no-fund pyright@1.1.414`,
|
|
21
27
|
extensions: [".py"]
|
|
22
28
|
},
|
|
23
29
|
bash: {
|
|
24
30
|
command: ["node", path.join(STAFF_NODE_MODULES, "bash-language-server/out/cli.js"), "start"],
|
|
25
|
-
installCommand: `npm install --no-
|
|
31
|
+
installCommand: `npm install --save-exact --no-audit --no-fund bash-language-server@5.8.1`,
|
|
26
32
|
extensions: [".sh", ".bash"]
|
|
27
33
|
}
|
|
28
34
|
};
|
|
@@ -42,8 +48,7 @@ export class LSPClient {
|
|
|
42
48
|
const executable = getPlatformCommand(this.config.command[0]);
|
|
43
49
|
this.process = spawn(executable, this.config.command.slice(1), {
|
|
44
50
|
cwd: this.rootPath,
|
|
45
|
-
stdio: ["pipe", "pipe", "pipe"]
|
|
46
|
-
shell: true // Using shell helps with path resolution on Windows
|
|
51
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
47
52
|
});
|
|
48
53
|
this.process.on("error", (err) => {
|
|
49
54
|
console.error(`[LSP Process Error]: Failed to start ${executable}: ${err.message}`);
|
|
@@ -75,7 +80,8 @@ export class LSPClient {
|
|
|
75
80
|
}
|
|
76
81
|
}
|
|
77
82
|
},
|
|
78
|
-
workspaceFolders: [{ uri: pathToUri(this.rootPath), name: "workspace" }]
|
|
83
|
+
workspaceFolders: [{ uri: pathToUri(this.rootPath), name: "workspace" }],
|
|
84
|
+
initializationOptions: this.config.initializationOptions
|
|
79
85
|
});
|
|
80
86
|
await this.notification("initialized", {});
|
|
81
87
|
this.onNotification("textDocument/publishDiagnostics", (params) => {
|
|
@@ -215,10 +221,11 @@ export class LSPManager {
|
|
|
215
221
|
// Check if it's a node-managed server script
|
|
216
222
|
const isNodeManaged = cmd === "node" && serverPath && path.isAbsolute(serverPath);
|
|
217
223
|
if (isNodeManaged) {
|
|
218
|
-
|
|
224
|
+
const requiredPathsPresent = (config.requiredPaths ?? []).every((requiredPath) => fs.existsSync(requiredPath));
|
|
225
|
+
if (fs.existsSync(serverPath) && requiredPathsPresent) {
|
|
219
226
|
return;
|
|
220
227
|
}
|
|
221
|
-
// If
|
|
228
|
+
// If the server script or a required runtime dependency is missing, install/reinstall.
|
|
222
229
|
}
|
|
223
230
|
else {
|
|
224
231
|
// Check if the command exists in PATH
|
|
@@ -252,10 +259,15 @@ export class LSPManager {
|
|
|
252
259
|
stdio: 'inherit',
|
|
253
260
|
shell: true
|
|
254
261
|
});
|
|
255
|
-
// After installation, verify the
|
|
262
|
+
// After installation, verify the server and any required runtime dependencies.
|
|
256
263
|
if (isNodeManaged && !fs.existsSync(serverPath)) {
|
|
257
264
|
console.error(`Installation finished but ${serverPath} still not found.`);
|
|
258
265
|
}
|
|
266
|
+
for (const requiredPath of config.requiredPaths ?? []) {
|
|
267
|
+
if (!fs.existsSync(requiredPath)) {
|
|
268
|
+
console.error(`Installation finished but required LSP dependency ${requiredPath} is still missing.`);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
259
271
|
}
|
|
260
272
|
catch (e) {
|
|
261
273
|
console.error(`Failed to install LSP for ${language}:`, e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/lsp/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/lsp/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/src/server.js
CHANGED
|
@@ -23,7 +23,7 @@ export function createServerFactory(name, version, workingDir, allowedDirs, prof
|
|
|
23
23
|
const security = new SecurityManager(workingDir, allowedDirs);
|
|
24
24
|
const sandbox = security.getAllowedDirs();
|
|
25
25
|
// Generate instructions with system-specific details (OS, shell, etc.)
|
|
26
|
-
const instructions = getMcpInstructions(workingDir, security);
|
|
26
|
+
const instructions = getMcpInstructions(workingDir, security, { enableLsp });
|
|
27
27
|
return () => {
|
|
28
28
|
const server = new McpServer({
|
|
29
29
|
name,
|
package/dist/src/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAE7E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,OAAe,EACf,UAAkB,EAClB,WAAqB,EACrB,UAAkB,SAAS,EAC3B,iBAAyB,CAAC,EAC1B,YAAqB,KAAK;IAE1B,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAE1C,uEAAuE;IACvE,MAAM,YAAY,GAAG,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAE7E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,OAAe,EACf,UAAkB,EAClB,WAAqB,EACrB,UAAkB,SAAS,EAC3B,iBAAyB,CAAC,EAC1B,YAAqB,KAAK;IAE1B,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAE1C,uEAAuE;IACvE,MAAM,YAAY,GAAG,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAE7E,OAAO,GAAG,EAAE;QACV,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;YACE,IAAI;YACJ,OAAO;SACR,EACD;YACE,yDAAyD;YACzD,YAAY;YACZ,6BAA6B;YAC7B,YAAY,EAAE;gBACZ,GAAG,SAAS,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC;aACvC;SACF,CACF,CAAC;QAEF,uCAAuC;QACvC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAErC,IAAI,SAAS,EAAE,CAAC;YACd,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1D,sBAAsB,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;QAEhE,sEAAsE;QACtE,wEAAwE;QACxE,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE9C,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -28,7 +28,7 @@ export function registerMcpClientTools(server, options = { maxSessions: 5 }) {
|
|
|
28
28
|
sessionId: z.string().optional().describe("A unique identifier for this session. Required for 'start' and 'stop'."),
|
|
29
29
|
command: z.string().optional().describe("Required for 'start'. The executable command to run the server."),
|
|
30
30
|
args: z.array(z.string()).optional().describe("Required for 'start'. Arguments to pass to the command."),
|
|
31
|
-
env: z.record(z.string()).optional().describe("Optional for 'start'. Additional environment variables to pass to the command. They will be merged with the system environment."),
|
|
31
|
+
env: z.record(z.string(), z.string()).optional().describe("Optional for 'start'. Additional environment variables to pass to the command. They will be merged with the system environment."),
|
|
32
32
|
transportType: z.enum(["stdio", "http"]).optional().describe("Optional for 'start'. Transport type. Default is 'stdio'. Use 'http' for HTTP/SSE based MCP servers."),
|
|
33
33
|
port: z.number().optional().describe("Required for 'start' if transportType is 'http'. The port number the server is listening on.")
|
|
34
34
|
}).strict(),
|
|
@@ -278,7 +278,7 @@ export function registerMcpClientTools(server, options = { maxSessions: 5 }) {
|
|
|
278
278
|
method: z.string().describe("The tool name to call (e.g., 'search_code')"),
|
|
279
279
|
params: z.string().optional().describe("A JSON-encoded string containing the arguments for the tool (e.g., '{\"query\": \"secret\"}')"),
|
|
280
280
|
}).strict(),
|
|
281
|
-
}, async ({ sessionId, method, params }) => {
|
|
281
|
+
}, async ({ sessionId, method, params }, extra) => {
|
|
282
282
|
try {
|
|
283
283
|
const session = getReadySession(sessionId);
|
|
284
284
|
// Pre-fetch tools to validate the tool exists and fetch its schema
|
|
@@ -307,7 +307,11 @@ export function registerMcpClientTools(server, options = { maxSessions: 5 }) {
|
|
|
307
307
|
const result = await session.client.callTool({
|
|
308
308
|
name: method,
|
|
309
309
|
arguments: parsedParams,
|
|
310
|
-
}, undefined, {
|
|
310
|
+
}, undefined, {
|
|
311
|
+
timeout: 3600000, // 1 hour, aligned with the chat-ai MCP client. Nested long-running
|
|
312
|
+
// tools manage their own lifecycle; a short cap here orphans their work.
|
|
313
|
+
signal: extra?.signal, // propagate caller cancellation (e.g. user stop) to the nested call
|
|
314
|
+
});
|
|
311
315
|
// Process and return result
|
|
312
316
|
let isErrorResult = false;
|
|
313
317
|
let contentArray = [];
|