drio
Open app

mcpterm

Source

An MCP tool server that provides stateful, TUI-compatible terminal sessions.

Catalog onlyCatalog onlySTDIO

Overview

mcpterm is an MCP tool server that provides stateful, TUI-compatible terminal sessions, allowing users to run commands in a persistent terminal environment.

To use mcpterm, clone the repository from GitHub, build the binary using make, and move it to a directory in your PATH. Then, configure it to work with Claude Desktop by editing the configuration file.

  • Stateful terminal sessions that remember the current directory. - Compatibility with TUI applications like vim and Python REPL. - Two main tools: run for executing commands and runScreen for capturing screen output.
  1. Running commands in a persistent terminal session.
  2. Interacting with TUI applications seamlessly.
  3. Automating tasks in a terminal environment.

Add to your AI client

Use these steps to connect mcpterm in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.

Cursor

Add this to your .cursor/mcp.json file in your project root, then restart Cursor.

.cursor/mcp.json

{
  "mcpServers": {
    "mcpterm-dwrtz": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcpterm-dwrtz"
      ]
    }
  }
}

Claude Desktop

Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "mcpterm-dwrtz": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcpterm-dwrtz"
      ]
    }
  }
}

Claude Code

Add this to your project's .mcp.json file. Claude Code will detect it automatically.

.mcp.json (project root)

{
  "mcpServers": {
    "mcpterm-dwrtz": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcpterm-dwrtz"
      ]
    }
  }
}

VS Code (Copilot)

Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.

.vscode/mcp.json

{
  "servers": {
    "mcpterm-dwrtz": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcpterm-dwrtz"
      ]
    }
  }
}

Windsurf

Add this to your Windsurf MCP config file, then restart Windsurf.

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "mcpterm-dwrtz": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcpterm-dwrtz"
      ]
    }
  }
}

Cline

Open Cline settings, navigate to MCP Servers, and add this server configuration.

Cline MCP Settings (via UI)

{
  "mcpServers": {
    "mcpterm-dwrtz": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcpterm-dwrtz"
      ]
    }
  }
}

FAQ

What is the purpose of mcpterm?

mcpterm is designed to provide a stateful terminal experience for users, especially when working with TUI applications.

How do I install mcpterm?

Clone the repository, build the binary, and move it to your PATH.

Can I use mcpterm with other applications?

Yes, mcpterm can be integrated with various applications that support terminal commands.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":1516,"uuid":"6ba746c8-d713-4bac-ab21-e0d70a52c47f","name":"mcpterm","title":"mcpterm","description":"An MCP tool server that provides stateful, TUI-compatible terminal sessions.","avatar_url":"https://avatars.githubusercontent.com/u/1555339?v=4","created_at":"$D2025-02-20T16:08:57.476Z","updated_at":"$D2025-02-23T07:22:06.209Z","status":"created","author_name":"dwrtz","author_avatar_url":"https://avatars.githubusercontent.com/u/1555339?v=4","tags":"model-context-protocol,mcp-server","category":"developer-tools","is_featured":false,"sort":1,"url":"https://github.com/dwrtz/mcpterm","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":null,"user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]