mcp-interactive-terminal 1.0.2 → 1.0.4
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 +44 -6
- package/dist/terminal.d.ts +4 -0
- package/dist/terminal.d.ts.map +1 -1
- package/dist/terminal.js +5 -2
- package/dist/terminal.js.map +1 -1
- package/package.json +2 -1
- package/src/terminal.ts +5 -2
package/README.md
CHANGED
|
@@ -8,15 +8,20 @@ AI coding agents can't handle interactive commands — no PTY, no stdin streamin
|
|
|
8
8
|
|
|
9
9
|
## The Solution
|
|
10
10
|
|
|
11
|
-
This MCP server
|
|
11
|
+
This MCP server gives AI agents real interactive terminal sessions with clean text output — no raw ANSI escape codes. It supports two modes:
|
|
12
|
+
|
|
13
|
+
- **PTY mode** (default): Spawns a real pseudo-terminal and renders output through xterm-headless (the same terminal emulator as VS Code). The AI sees exactly what a human would see — cursor-positioned, line-wrapped, clean text. Supports terminal resize, TUI apps (vim, htop, top), arrow keys, tab completion, 256-color, and scrollback.
|
|
14
|
+
- **Pipe mode** (automatic fallback): When node-pty can't spawn PTYs (e.g., in Claude Code's OS sandbox), falls back to `child_process.spawn` with pipes. Output is cleaned via ANSI stripping. No terminal emulation, but interactive sessions still work with auto-injected flags (`python -u -i`, `bash -i`, `node --interactive`).
|
|
15
|
+
|
|
16
|
+
The mode is selected automatically — PTY is tried first, pipe mode kicks in if it fails.
|
|
12
17
|
|
|
13
18
|
```
|
|
14
19
|
AI Agent (Claude Code, Cursor, etc.)
|
|
15
20
|
↕ MCP (JSON-RPC over stdio)
|
|
16
21
|
MCP Terminal Server
|
|
17
|
-
↕ node-pty (
|
|
22
|
+
↕ node-pty (PTY mode) or child_process (pipe mode)
|
|
18
23
|
Interactive Process (rails console, python, psql, ssh, bash...)
|
|
19
|
-
↕ xterm-headless (
|
|
24
|
+
↕ xterm-headless (PTY) or ANSI stripping (pipe)
|
|
20
25
|
Clean text output
|
|
21
26
|
```
|
|
22
27
|
|
|
@@ -149,6 +154,11 @@ All configuration via environment variables:
|
|
|
149
154
|
| `MCP_TERMINAL_LOG_INPUTS` | `false` | Log all inputs to stderr |
|
|
150
155
|
| `MCP_TERMINAL_IDLE_TIMEOUT` | `0` | Auto-close idle sessions (ms, 0=disabled) |
|
|
151
156
|
| `MCP_TERMINAL_DANGER_DETECTION` | `true` | Enable dangerous command detection |
|
|
157
|
+
| `MCP_TERMINAL_ALLOWED_PATHS` | (none) | Comma-separated paths sessions can access |
|
|
158
|
+
| `MCP_TERMINAL_AUDIT_LOG` | (none) | Path to JSON audit log file |
|
|
159
|
+
| `MCP_TERMINAL_SANDBOX` | `false` | Enable OS-level kernel sandboxing |
|
|
160
|
+
| `MCP_TERMINAL_SANDBOX_ALLOW_WRITE` | `/tmp` | Writable paths in sandbox mode |
|
|
161
|
+
| `MCP_TERMINAL_SANDBOX_ALLOW_NETWORK` | `*` | Allowed network domains in sandbox |
|
|
152
162
|
|
|
153
163
|
Example with env vars:
|
|
154
164
|
|
|
@@ -170,9 +180,37 @@ Example with env vars:
|
|
|
170
180
|
|
|
171
181
|
## How It Works
|
|
172
182
|
|
|
173
|
-
###
|
|
174
|
-
|
|
175
|
-
|
|
183
|
+
### Two Terminal Modes
|
|
184
|
+
|
|
185
|
+
**PTY mode** (node-pty + xterm-headless) is the default and gives you the full terminal experience:
|
|
186
|
+
|
|
187
|
+
- Pixel-perfect output — xterm-headless (same engine as VS Code's terminal) renders the screen exactly as a human would see it
|
|
188
|
+
- Cursor positioning — programs that overwrite parts of the screen (progress bars, spinners, `\r` overwrites) render correctly, showing only the final state
|
|
189
|
+
- Terminal resize — dynamically change `cols` and `rows` mid-session
|
|
190
|
+
- TUI/ncurses apps — `vim`, `htop`, `top`, `less`, `tmux` all work because there's a real PTY underneath
|
|
191
|
+
- Full keyboard support — arrow keys for command history, tab completion, ctrl+r reverse search, ctrl+c/d/z signals, home/end, and 20+ control keys
|
|
192
|
+
- Scrollback buffer — 1000 lines of history via `full_screen: true`
|
|
193
|
+
- 256-color support — `TERM=xterm-256color` is set automatically
|
|
194
|
+
|
|
195
|
+
**Pipe mode** (child_process fallback) activates automatically when PTY spawning is blocked (e.g., in Claude Code's OS sandbox):
|
|
196
|
+
|
|
197
|
+
- Interactive sessions still work — auto-injects flags like `python -u -i`, `bash -i`, `node --interactive`
|
|
198
|
+
- ANSI stripping — escape codes are removed, but no terminal emulation
|
|
199
|
+
- Control keys still work — ctrl+c sends SIGINT to the process tree, ctrl+d sends EOF
|
|
200
|
+
- Optional OS-level sandboxing via `@anthropic-ai/sandbox-runtime`
|
|
201
|
+
|
|
202
|
+
### PTY vs Pipe — what the AI sees
|
|
203
|
+
|
|
204
|
+
| Scenario | PTY mode | Pipe mode |
|
|
205
|
+
|----------|----------|-----------|
|
|
206
|
+
| `printf "\rProgress: 3/3"` | `Progress: 3/3` | `Progress: 1/3Progress: 2/3Progress: 3/3` |
|
|
207
|
+
| `printf "ABCDEF\033[4DXXXX"` | `ABXXXX` | `ABCDEFXXXX` |
|
|
208
|
+
| Tabs (`\t`) | Aligned to 8-char stops | Raw `\t` characters |
|
|
209
|
+
| ANSI colors `\033[31mred\033[0m` | `red` | `red` |
|
|
210
|
+
| `vim`, `htop`, `top` | Readable screen | Garbled escape codes |
|
|
211
|
+
| Arrow up (history) | Previous command | Works |
|
|
212
|
+
| Tab completion | Works | Works |
|
|
213
|
+
| Terminal resize | Works | No-op |
|
|
176
214
|
|
|
177
215
|
### Smart "Command Done" Detection
|
|
178
216
|
|
package/dist/terminal.d.ts
CHANGED
|
@@ -21,4 +21,8 @@ export interface TerminalOptions {
|
|
|
21
21
|
* Create a terminal wrapper. Tries node-pty first, falls back to child_process.
|
|
22
22
|
*/
|
|
23
23
|
export declare function createTerminal(options: TerminalOptions): Promise<TerminalWrapper>;
|
|
24
|
+
/**
|
|
25
|
+
* Create a pipe-mode terminal directly (exported for testing).
|
|
26
|
+
*/
|
|
27
|
+
export declare function createPipeTerminal(options: TerminalOptions): Promise<TerminalWrapper>;
|
|
24
28
|
//# sourceMappingURL=terminal.d.ts.map
|
package/dist/terminal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAOlD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAOvF"}
|
|
1
|
+
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAOlD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAOvF;AAmID;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAgK3F"}
|
package/dist/terminal.js
CHANGED
|
@@ -33,7 +33,7 @@ async function createPtyTerminal(options) {
|
|
|
33
33
|
const Terminal = xtermMod.Terminal ?? xtermMod.default?.Terminal;
|
|
34
34
|
const cols = options.cols ?? 120;
|
|
35
35
|
const rows = options.rows ?? 40;
|
|
36
|
-
const xterm = new Terminal({ cols, rows, scrollback: 1000 });
|
|
36
|
+
const xterm = new Terminal({ cols, rows, scrollback: 1000, allowProposedApi: true });
|
|
37
37
|
const ptyProcess = pty.spawn(options.command, options.args ?? [], {
|
|
38
38
|
name: "xterm-256color",
|
|
39
39
|
cols,
|
|
@@ -149,7 +149,10 @@ function pipeInteractiveArgs(command, args) {
|
|
|
149
149
|
}
|
|
150
150
|
return args;
|
|
151
151
|
}
|
|
152
|
-
|
|
152
|
+
/**
|
|
153
|
+
* Create a pipe-mode terminal directly (exported for testing).
|
|
154
|
+
*/
|
|
155
|
+
export async function createPipeTerminal(options) {
|
|
153
156
|
const args = pipeInteractiveArgs(options.command, options.args ?? []);
|
|
154
157
|
const envVars = {
|
|
155
158
|
...process.env,
|
package/dist/terminal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-interactive-terminal",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "MCP server for interactive shell sessions — run REPLs, SSH, databases, and any interactive CLI through AI agents",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"start": "node dist/index.js",
|
|
20
20
|
"test": "vitest run",
|
|
21
21
|
"test:watch": "vitest",
|
|
22
|
+
"postinstall": "node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"",
|
|
22
23
|
"prepublishOnly": "npm run build",
|
|
23
24
|
"inspect": "npx @modelcontextprotocol/inspector dist/index.js"
|
|
24
25
|
},
|
package/src/terminal.ts
CHANGED
|
@@ -48,7 +48,7 @@ async function createPtyTerminal(options: TerminalOptions): Promise<TerminalWrap
|
|
|
48
48
|
|
|
49
49
|
const cols = options.cols ?? 120;
|
|
50
50
|
const rows = options.rows ?? 40;
|
|
51
|
-
const xterm = new Terminal({ cols, rows, scrollback: 1000 });
|
|
51
|
+
const xterm = new Terminal({ cols, rows, scrollback: 1000, allowProposedApi: true });
|
|
52
52
|
|
|
53
53
|
const ptyProcess = pty.spawn(options.command, options.args ?? [], {
|
|
54
54
|
name: "xterm-256color",
|
|
@@ -167,7 +167,10 @@ function pipeInteractiveArgs(command: string, args: string[]): string[] {
|
|
|
167
167
|
return args;
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
-
|
|
170
|
+
/**
|
|
171
|
+
* Create a pipe-mode terminal directly (exported for testing).
|
|
172
|
+
*/
|
|
173
|
+
export async function createPipeTerminal(options: TerminalOptions): Promise<TerminalWrapper> {
|
|
171
174
|
const args = pipeInteractiveArgs(options.command, options.args ?? []);
|
|
172
175
|
const envVars = {
|
|
173
176
|
...process.env,
|