mcp-interactive-terminal
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_TERMINAL_SANDBOX | No | Enable OS-level kernel sandboxing | false |
| MCP_TERMINAL_AUDIT_LOG | No | Path to JSON audit log file | |
| MCP_TERMINAL_LOG_INPUTS | No | Log all inputs to stderr (for debugging) | false |
| MCP_TERMINAL_MAX_OUTPUT | No | Max output chars per read | 20000 |
| MCP_TERMINAL_IDLE_TIMEOUT | No | Auto-close idle sessions (ms, default 30min, 0 = disabled) | 1800000 |
| MCP_TERMINAL_MAX_SESSIONS | No | Max concurrent sessions | 10 |
| MCP_TERMINAL_ALLOWED_PATHS | No | Comma-separated paths sessions can access | |
| MCP_TERMINAL_REDACT_SECRETS | No | Redact AWS keys, tokens, private keys in output | false |
| MCP_TERMINAL_DEFAULT_TIMEOUT | No | Default wait timeout (ms) | 5000 |
| MCP_TERMINAL_ALLOWED_COMMANDS | No | Comma-separated allowlist (if set, only these are allowed) | |
| MCP_TERMINAL_BLOCKED_COMMANDS | No | Comma-separated blocklist | |
| MCP_TERMINAL_DANGER_DETECTION | No | Enable dangerous command confirmation flow | true |
| MCP_TERMINAL_SANDBOX_ALLOW_WRITE | No | Writable paths in sandbox mode | /tmp |
| MCP_TERMINAL_SANDBOX_ALLOW_NETWORK | No | Allowed network domains in sandbox | * |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_sessionA | Spawn an interactive terminal session (REPL, shell, database client, SSH, etc.). Returns a session_id for subsequent commands. |
| send_commandA | Send a command/input to an interactive session and wait for output. Appends newline automatically. Returns clean text output (no ANSI codes). If a dangerous command is detected, you must use confirm_dangerous_command first. |
| read_outputA | Read the current terminal screen without sending any input. Safe read-only operation. |
| list_sessionsA | List all active interactive terminal sessions. Safe read-only operation. |
| close_sessionB | Close/kill an interactive terminal session. |
| send_controlA | Send a control character or special key to a session (e.g., ctrl+c to interrupt, ctrl+d to send EOF, arrow keys, tab for completion). |
| confirm_dangerous_commandA | Execute a command that was flagged as dangerous by send_command. Requires a justification explaining WHY the command is necessary. This is a separate confirmation step for safety. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose: create_session spawns a session, list_sessions shows active ones, send_command sends input, send_control handles special keys, read_output reads the screen, confirm_dangerous_command is a safety step, and close_session terminates. No overlap.
All tool names follow a consistent verb_noun pattern (e.g., create_session, send_command, read_output). Verbs are imperative and nouns are session-related, with no mixing of conventions.
Seven tools cover the full lifecycle of interactive terminal sessions—creation, listing, input/output, control, safety confirmation, and closure—without unnecessary extras or missing essentials.
The set provides a complete CRUD-like cycle: create, list, interact (send command/control), read output, and close. The inclusion of confirm_dangerous_command adds safety without leaving gaps.