MCP Terminal Controller
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| terminal_startB | Start a real approved process and immediately return its persistent session ID. Default profiles: stream, interactive, long, unicode, flood, exit7, empty, children, closed-stdin, split-utf8, invalid-utf8, eof, ignore-term. Owner config replaces profiles. No client argv or shell substitution is accepted. cwd must remain under approved roots. |
| terminal_readA | Read non-consuming output records starting at cursor, with a bounded optional wait. Cursor is an absolute record sequence, not a byte index. Continue with next_cursor. Old cursors return CURSOR_EXPIRED with base_cursor, never silent loss. stdout/stderr retain stream labels. output_complete only becomes true after tail output is drained. |
| terminal_writeA | Write exact UTF-8 text to the running process; append newline yourself if needed. Optionally close stdin after writing. accepted_bytes means transport acceptance, not application acknowledgement. Never retry blindly after INPUT_BACKPRESSURE. |
| terminal_statusB | Query lifecycle, real exit code/signal, termination reason and output availability. |
| terminal_terminateA | Idempotently terminate the session process group: TERM, grace, KILL, confirm exit. Final output and status remain readable for the configured retention interval. |
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 5 tools
Each tool maps to a distinct lifecycle stage: start, write, read, status, terminate. The only near-overlap is status reporting 'output availability' versus read returning output, but the descriptions make clear status is metadata-only while read consumes records from a cursor.
All five tools share a uniform terminal_ prefix with a single-word verb suffix (start, write, read, status, terminate). Fully predictable and consistent.
Five tools is exactly the minimal complete set for process session control, with no redundant operations. Each tool earns its place in the lifecycle.
Start/write/read/status/terminate covers the full session lifecycle including graceful and forced termination. Minor gaps exist for interactive/pty use: no terminal_resize and no dedicated signal-send tool (Ctrl-C must be emulated via write), and no session listing, but agents can work around these.