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
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.
Install
- Works in
Manual install
harness-cli mcp-install --client claudeThe 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 reviewBroad 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.
Related
MCP serversAn MCP server that opens a remote repository clone in an isolated container and gives the agent files, commands, Git and tasks.
Skills for the Harness CI/CD platform: pipelines, connectors, feature flags, security and cost from a chat with an agent
Tmux MCP Server: agent access to tmux sessions
Tmux MCP Server
An MCP server that lets an agent read tmux panes, run commands in them and create sessions while you watch the output
Console Automation MCP gives an agent local shells and SSH sessions: input, output, error detection, long processes
Your machine's terminal, windows and desktop in a browser, plus an MCP server for agents to read and type into other sessions
Muxin MCP connects an agent to your computers, with remote sessions that keep running after the application window closes.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Harness (this card) | no | not required | 309 | |
| cmux | no | 28,779 | a 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 sessions | no | not required | 306 | gives 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.