Harness MCP

An MCP server built into the Harness terminal for macOS: agents read sessions and panes, and input is enabled by a separate flag

  • 309 ★ on the repository
  • Last commit
  • MIT
MCP server

Broad access

Why this level

  • Pane capture shows the agent the terminal screen, which may hold secrets and tokens.
  • With the `--allow-write` flag the agent types keys into panes, so it can run commands in other sessions.
All reasons and checks

robzilla1738/harness-terminal

Install

Manual install

harness-cli mcp-install --client claude

The command from the MCP docs prints a Claude configuration; for Codex and Cursor change the `--client` value. Harness itself is installed from the DMG.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Pane capture shows the agent the terminal screen, which may hold secrets and tokens.
  • With the `--allow-write` flag the agent types keys into panes, so it can run commands in other sessions.

This is third-party code. Review the repository files before installing.

What it does

Harness is a macOS terminal with GPU rendering and sessions that survive closing the window. For agents it includes `harness-cli mcp`, a local MCP server over stdio. It reads the session list, pane contents and sizes, the process tree, agent run history, usage and attention requests. Writing is off. The `--allow-write` flag enables five actions: `pane.write`, `pane.send_key`, `pane.focus`, `attention.read` and `attention.snooze`. The server rejects them when the target is the agent's own pane. Administration, credentials, hooks and process tree kills are unavailable through MCP. `harness-cli mcp-install --client claude` (also `codex` and `cursor`) prints the client configuration, and the `--write` flag applies it.

Who it is for. Mac developers who run several agents in a terminal and want an agent to see neighboring sessions.

Good fit when

  • An agent analyses the output of a failed build in a neighboring pane.
  • Tests run on a remote machine over SSH and the agent watches the pane.
  • You want notifications when Claude Code waits for approval: `harness-cli install-hooks claude-code`.
  • Sessions must outlive the window and the agent reattaches to them.

Not a fit when

  • You need a terminal outside macOS: the app is built for Apple silicon and macOS 15 or newer, and on Linux only the daemon and CLI run.
  • An agent must not see pane contents, since a screen capture can hold secrets and tokens.
  • Input into panes without a human is needed all the time: it is off by default and `--allow-write` is a deliberate choice.

Example request

Read the screen of the neighboring pane with the failed build and explain which error stopped the tests.

MCP

Transport
stdio
Authentication
not required

Limitations

The app ships as a DMG for Apple silicon with macOS 15 or newer; the daemon and CLI run on Linux. MCP needs `harness-cli` on PATH (`harness-cli install`). Pane capture reads the current screen without scrollback. History on macOS is encrypted only when signed components can reach the Keychain key. Part of the acceptance checklist in the project is still open, so test behavior on your macOS version in a scratch session before real work.

How to disable. Remove the Harness entry from the client MCP settings; a backup of the configuration is kept when installing with `--write`. Remove notification hooks by editing the agent settings, and uninstall the app as usual.

FAQ

How do I connect Harness to Claude Code?

Run `harness-cli mcp-install --client claude`: it prints the configuration and writes nothing. Add `--write` to apply it with a backup, or `--path` with an explicit file path.

What can an agent do with panes by default?

Read only: session list, pane contents and sizes, processes, agent run history, usage and attention requests. Key input and focus are enabled by `--allow-write`.

Can an agent write into its own pane?

No. The server rejects write actions when the target matches the caller's `HARNESS_SURFACE`, including UUIDs, positions and labels.

How do I get notifications from agents?

Run `harness-cli install-hooks claude-code`; agents without hooks are still visible through built-in activity detection.

Does Harness run on Linux?

The daemon and CLI run on Linux, including headless. The app itself is built for Apple silicon and macOS 15 or newer. A remote daemon is attached with `harness-cli remote add`.

Discussion

No questions or reviews yet.

An MCP server that opens a remote repository clone in an isolated container and gives the agent files, commands, Git and tasks.

MCP serverBroad access106Repository stars
Official

Skills for the Harness CI/CD platform: pipelines, connectors, feature flags, security and cost from a chat with an agent

PluginBroad access134Repository stars

Console Automation MCP gives an agent local shells and SSH sessions: input, output, error detection, long processes

MCP serverBroad access54Repository stars

Your machine's terminal, windows and desktop in a browser, plus an MCP server for agents to read and type into other sessions

MCP serverBroad access304Repository stars

Muxin MCP connects an agent to your computers, with remote sessions that keep running after the application window closes.

MCP serverBroad access462Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
Harness (this card)nonot required309
cmuxno28,779a native Ghostty-based terminal with vertical tabs and notifications; Harness has its own GPU engine and a built-in MCP server
Tmux MCP Server: agent access to tmux sessionsnonot required306gives an agent tmux panes; Harness exposes similar abilities for its own macOS terminal sessions with a write mode behind a flag

README in short

The terminal is built on its own engine and daemon, and the CLI provides control and MCP. The README describes the Plain, Persistent, Full and Agent Workspace modes, remote daemons over SSH and iPhone and iPad pairing.

README badge

Report a problem