Interactive Terminal

Provides stateful, interactive terminal access with persistent sessions and REPL-like tooling for shells and interactive CLIs.
  • typescript

3

GitHub Stars

typescript

Language

5 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "wangyihang-interactive-terminal-mcp": {
      "command": "uvx",
      "args": [
        "interactive-terminal-mcp"
      ]
    }
  }
}

This MCP server provides stateful, interactive terminal access, enabling you to spawn persistent processes, maintain session context, and interact with shells through standard input and output. It is ideal for remote management and debugging workflows that require continuity across commands.

How to use

You interact with the Interactive Terminal MCP through an MCP client. Start a local session, spawn a child process, and send commands to that running session. You can drive interactive tools like shells or debuggers, and the server will preserve environment, working directory, and process state across inputs. Use the following practical patterns to accomplish common tasks:

How to install

Prerequisites: ensure your environment can run the MCP client and you have the ability to execute the provided MCP command. You will use a runtime command to start the server via the MCP client. The recommended runtime from the example is to run the MCP client with the interactive-terminal-mcp configuration.

# Start the Interactive Terminal MCP using the MCP client
uvx interactive-terminal-mcp

Configuration and usage notes

You can integrate this server with Claude Code by registering the MCP using the provided transport and command. The standard runtime shown is to invoke the MCP as: uvx interactive-terminal-mcp.

If you need to reference the full interaction history for a session, you can retrieve it via the session history resource: cli://{session_id}/history.

Session and tool usage overview

The following core actions are available to manage interactive sessions:

  • Start a new interactive process with spawn_process by providing a command to run, for example bash or python3 -i. The server returns a session_id that you will use for subsequent commands.

  • Send input to a session with send_command, optionally waiting for a specific output pattern to indicate readiness. You provide the session_id, the input command, and an optional wait_for regex plus an optional timeout.

  • Read pending output from a session with read_buffer without sending new input, using the session_id.

  • Terminate a session with kill_session using the session_id.

Troubleshooting and best practices

Security: this tool provides full terminal access with the same permissions as the MCP server. Use only in trusted environments or sandboxed containers.

Best practice is to isolate interactive sessions per task and explicitly terminate sessions when your work is complete to avoid leaking resources.

Resources and history access

Full session histories are accessible via a dedicated history endpoint for auditing and replay purposes.

Available tools

spawn_process

Starts a new interactive process by providing the command to run (e.g., ["bash"] or ["python3", "-i"]). Returns a session_id string.

send_command

Sends input to an active session and waits for output. Requires session_id, cmd, and optional wait_for regex and timeout.

read_buffer

Reads pending output from the session buffer without sending new commands. Requires session_id.

kill_session

Terminates a specific session using its session_id.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational