terminal_send
Send input to a device's active terminal session in the lab topology. Use text, keys, or Enter to execute commands on the specified device, ensuring you match exact order and count to avoid duplicate inputs.
Instructions
Send input to a device's open terminal session. The device must still be present in the active topology, reloaded from disk on every call -- an already-open session does not stay usable if the active topology changes to no longer include this device.
Execution order is fixed and deterministic: if text is given it is sent
literally first, then any keys (e.g. "C-c", "Tab", "Up") are sent in the
supplied order, then Enter is sent last if enter is true. Nothing is
deduplicated: passing keys=["Enter"] together with enter=true sends Enter
twice. text is delivered to the pane without ever passing through a
subprocess's own argv or appearing in an error message, and this MCP
server does not separately log or echo it back in any tool result. It
is not hidden from the device's own terminal transcript, though: this
project intentionally records the raw pane output via tmux pipe-pane
(see show logging), and if the remote endpoint echoes back what it
received, that echo may naturally appear in that transcript like any
other terminal output.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| keys | No | ||
| text | No | ||
| enter | No | ||
| device | Yes |