# Unterm

A terminal that exposes a local MCP server, so an agent can open panes, run commands and screenshot the screen. Useful when several agents share one window.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 15
- Author: zhitongblog
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/zhitongblog/unterm
- Updated: 2026-10-21
- HTML: https://affpapa.org/en/nevibecode/mcp/unterm

## What it does

Unterm is a terminal for macOS, Linux and Windows, and every window it opens carries a local MCP server. An agent connects over TCP and works the panes from the outside: starts a shell, sends a command, checks what the pane shows, grabs a screenshot, records the session. The callable surface runs to 152 calls plus `auth.login`.

Ports are allocated automatically. Both the JSON-RPC endpoint and the HTTP settings page bind to 127.0.0.1 and check an auth token. A running window writes its port and token into `~/.unterm/instances/<name>.json`, so an agent without that file has nothing to dial. Theme, language and `unterm.conf` sit outside MCP and are changed in the browser settings or by `unterm-cli`.

Since v0.55 the app also acts as a cockpit for the agents inside it. Each pane reports whether its agent is working, waiting, idle or done, `Ctrl+Shift+A` queues the ones that need you, and one task can go to several agents in separate git worktrees. A Review page diffs what came back, verifies it, then merges, discards or rolls back. The cockpit itself answers to MCP, which means an orchestrator can launch fleets and settle diffs with nobody at the keyboard.

## Install

### Claude Code (native platform)

**Install**
- The MCP registry has no launch command for it: see the repository README

## When to use it
- Open a pane from the agent and run a command inside it
- Read a live session's screen without switching windows
- Capture a screenshot or record a session for a report
- Run one task in several isolated worktrees and compare the diffs
- Find the agent waiting on an answer and jump to its pane

## Example prompts
- Attach to the bravo window using the files in `~/.unterm/instances` and show me what each pane holds
- Run `pytest` in a fresh pane and screenshot the screen when it fails
- Start a fleet on the flaky auth test with `unterm-cli fleet launch` and open the diffs for review

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
