Terminal-use MCP Server

An MCP server that lets an AI agent use a real terminal the way a person does: type, press keys, click, read the screen, take a screenshot.

Local serverstdioMIT

What is the Terminal-use MCP Server?

terminal-use is an MCP project maintained in the computer-agent-labs/terminal-use repository. The maintainer describes its purpose as “An MCP server that lets an AI agent use a real terminal the way a person does: type, press keys, click, read the screen, take…”. Read the project documentation for the complete scope.

Installation

The documented npm package is terminal-use. The configuration below comes from the maintainer’s example; adapt its paths and account values to your environment.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-13.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
terminal_createStart a session: an interactive shell, or one program with command. Optional label, cols, rows, shell, cwd, env, login, scrollback, theme.
terminal_listList sessions.
terminal_destroyEnd a session.
terminal_typeType text. \n presses Enter. paste: true sends it as one paste.
terminal_pressPress a key or combination: Enter, Ctrl+C, ArrowUp, Shift+Tab, Alt+Enter, F5…
terminal_waitWait for the running command to finish, for a regex to appear, or for output to go quiet.
terminal_readRead the screen or scrollback as text.
terminal_screenshotRender the screen as a PNG.
terminal_clickLeft-click a cell, with a preview step.
terminal_scrollTurn the mouse wheel over a cell.
terminal_batchSend several inputs in one call and get the screen back once.
terminal_resizeChange the terminal size.
terminal_resetClear the screen and scrollback, or restart the shell with hardReset: true.

How to install the Terminal-use MCP Server

{
  "mcpServers": {
    "terminal-use": {
      "command": "npx",
      "args": [
        "-y",
        "terminal-use"
      ]
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.