mcpField
M
mcpterm

mcpterm

Local
github.com/dwrtzDeveloper Tools15Updated 90w ago

About mcpterm

mcpterm is a proof-of-concept MCP server for stateful terminal sessions, aimed at clients such as Claude Desktop. It supports both command execution and screen-oriented interaction with TUI programs.

Key features

  1. 01Stateful command execution
  2. 02TUI command and keystroke interaction
  3. 03Returns terminal screen output

Use cases

  1. 01Run successive commands in a retained directory
  2. 02Interact with vim or a Python REPL

MCP support

Exposes two terminal tools to MCP clients: `run` for stateful commands and `runScreen` for commands or keystrokes with screen output.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

mcpterm

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

This is a proof-of-concept using mcp-go.

Works quite well with Claude Desktop.

Usage

Clone the repo and run make to generate bin/mcpterm.

git clone https://github.com/dwrtz/mcpterm.git
cd mcpterm
make

Move the mcpterm binary to a directory in your PATH.

sudo mv bin/mcpterm /usr/local/bin/mcpterm
Add to Claude Desktop

Edit your claude_desktop_config.json (on Mac it's in ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "mcpterm": {
      "command": "mcpterm",
      "args": []
    }
  }
}

Restart Claude Desktop. Now Claude should see the 2 tools provided by mcpterm.

Tools

run: Runs a command in a stateful terminal session. E.g. if you cd into a directory, subsequent commands will run in that directory.

runScreen: Runs a command or series of keystrokes and returns the screen output. Intended for TUI apps such as vim or a python REPL.

Tips:

You may want to tell Claude to use following control sequences with the runScreen tool:

"^X": "\x18", // Ctrl+X
"^O": "\x0F", // Ctrl+O
"^J": "\x0A", // Enter
"^C": "\x03", // Ctrl+C
"^D": "\x04", // Ctrl+D
"^Z": "\x1A", // Ctrl+Z
"^[": "\x1B", // Escape
"^H": "\x08", // Backspace
"^M": "\x0D", // Carriage return
"^L": "\x0C", // Form feed
"^G": "\x07", // Bell
"^U": "\x15", // Clear line
"^W": "\x17", // Delete word
"^Y": "\x19", // Paste from kill buffer
"^V": "\x16", // Literal input
"^K": "\x0B", // Kill line
"^E": "\x05", // End of line
"^A": "\x01", // Beginning of line
"^I": "\x09", // Tab

While not perfect, it works pretty well. Claude is able to use vim to write a Dockerfile, then run the container in an interactive session, then run commands in the container such as a python REPL.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.