Interminal
Lightweight MCP server providing terminal access (SSH & local shells) for AI assistants.
Connector by QiuwenZheng · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/qiuwenzheng-interminal
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 1 read · 1 write · 4 delete
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Python package
Tools by what they do 6
Read from the source code; the running server may list different tools.
Read 1 · Look things up without changing anything.
read_output
Write 1 · Create, change, send or run things.
connect_ssh
Delete 4 · Delete, drop, revoke or wipe things.
disconnectexecuterespondsend_control
Tools (6)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
connect_sshConnect to SSH ServerOpens a persistent SSH connection and returns a session_id for use with `execute`. The connection stays open until `disconnect`. Host keys are auto-accepted. For local commands, call `execute` directly — no session needed. PARAMETER GUIDANCE: Reuse session_id across multiple execute calls — each connect_ssh opens a new TCP connection. key_filepath is tried first when both key and password are provided; password acts as fallback. With neither, SSH agent and system defaults are used. The username defaults to the OS user if omitted. host is resolved at connect time; unresolvable names raise an e…
disconnectDisconnect Sessioncan change or delete dataClose an SSH session and release all associated resources. NOT needed for local commands — those clean up automatically. SESSION_ID LIFECYCLE: The id is an opaque UUID created by connect_ssh, used with execute, and retired by this call. Each connect_ssh produces a unique id — reconnecting the same host gives a new one. After disconnect, execute() with the old id raises ValueError. Calling disconnect on an already-closed or unknown id is a safe no-op (idempotent), so cleanup logic never needs to guard against double-close. SIDE EFFECTS: Terminates all running commands on this session (their c…
executeExecute Commandcan change or delete dataExecute a command locally or over SSH in an isolated channel. PARAMETER RELATIONSHIPS & VALIDATION: - `session_id` vs `shell`: `session_id` determines the execution environment. If provided (must be a valid active session), it runs over SSH and `shell` is completely ignored. If omitted, it runs locally, and `shell` (e.g., 'powershell.exe', '/bin/bash') is used. - `pause_timeout` vs `total_timeout`: These interact to manage execution time. `pause_timeout` (must be > 0) triggers an early return if the command goes silent for that many seconds. `total_timeout` (must be >= `pause_timeout`) sets a…
read_outputRead Command Outputread-onlyPoll new output from a running command without sending input. Use after execute returns status="partial" for non-interactive commands (builds, training loops, long searches). Each call returns only output produced since the last read. When the command finishes, status changes to "completed" and the command_id is retired — further calls raise ValueError. WHEN NOT TO USE: If the command expects input, use respond. If you need to interrupt or send keys, use send_control. PARAMETER GUIDANCE: pause_timeout is the primary dial — it controls how long to wait when the command is silent. total_timeo…
respondSend Input to Commandcan change or delete dataWrite text to a running command's stdin. Works for prompts (y/n, passwords), shell input, or any text the process expects. PARAMETER GUIDANCE: text auto-appends \n if missing. For control keys use send_control — AI frameworks strip control bytes. Raise pause_timeout (not total_timeout) for slow responses after input. Raises ValueError if command_id is invalid or completed. WHEN NOT TO USE: Inside zellij, prefer multiplexer CLI via execute. SIDE EFFECTS: Writes to stdin; may trigger output, state change, or exit. RETURNS: - {"status": "partial", "output": str, "command_id": str} - {"status"…
send_controlSend Control Key/Signalcan change or delete dataSend a control key or escape sequence to a running command. Use for interrupts (ctrl+c), TUI navigation (arrows, F-keys), or any non-printable input. Prefer this over `respond` for control keys — AI frameworks strip raw control bytes from string arguments. SIGNAL HANDLING: The signal parameter accepts any key name from the supported list (case-insensitive, whitespace-tolerant — "Ctrl + C" works). Common signals: ctrl+c (SIGINT/interrupt), ctrl+z (SIGTSTP/ suspend), ctrl+d (EOF), ctrl+\ (SIGQUIT). Local non-PTY subprocesses only react to ctrl+c, ctrl+z, ctrl+\; SSH and PTY channels accept all.…
Signals
- Stars
- 4
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 32
- Last commit
- Jul 13, 2026 (3 months ago)
- Last release
- Jul 6, 2026 (3 months ago)
- Last package publish
- Jul 6, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.QiuwenZheng/interminal- Version
- 1.0.4
- Auth
- No auth
- Packages
- pypi mcp-interminal
- License
- MIT
- Repository
- github.com/QiuwenZheng/interminal
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
Interminal MCP server. Agent Mart. https://agentmart.dev/connectors/qiuwenzheng-interminal (last updated 2026-10-24)