termic.dev
Documentation menu

MCP endpoint: drive Termic from an MCP client

A loopback MCP server that exposes Termic's task verbs as tools, so an outside client like Claude Desktop can create, prompt, watch and archive tasks without being handed a terminal. Phase A, experimental.


The Termic CLI lets a shell drive the app. The MCP endpoint is the same idea for MCP clients: a scoped control plane a model can call as tools, without being handed a terminal to type into.

It is a loopback HTTP listener speaking the stateless MCP revision (2026-07-28), aimed at outside clients such as Claude Desktop or claude mcp add.

Experimental, Phase A. The endpoint carries one full-scope credential. Per-task scoped tokens, which the stateless revision makes possible, are Phase B and are not built. Only turn it on if you need it.

Turning it on

Settings → MCP endpoint → Enable MCP endpoint.

The endpoint is bound only while it is enabled. Nothing starts it automatically, and the settings page shows when it is off.

Settings also has one-click setup for two clients:

  • Add to Claude Code, which gives you the claude command to run.
  • Add to Codex, which gives you the codex config block.

The bound port is preferred across enable and disable cycles and across restarts, so a config you pasted into a client keeps working after you relaunch.

The tools

MCP dispatch goes through the same code path as the CLI, so each tool behaves exactly like the matching CLI verb.

ToolWhat it does
task_listList tasks
task_statusThe state of one task, including its tab strip
task_newCreate a task, optionally with a first prompt
task_sendSend a prompt to a task’s agent
task_waitBlock until an agent goes quiet
task_resultRead what the agent produced
task_logRead a tab’s output
task_diffThe task’s diff
task_applyLand the task’s changes
task_openBring a task forward in the window
task_renameRetitle a task
task_archiveArchive a task
task_tab / task_tab_closeOpen and close tabs in a task
task_agentsThe configured agent registry

Together that is enough for a client to fan work out to several tasks, wait on them, read back what they produced, and clean up.

The threat model

Loopback TCP is reachable by every process on your machine, so the token is the only thing keeping other processes out. Phase A ships these protections:

  • Its own credential. The endpoint uses an mcp-token file (0600, 244 bits), never the CLI’s token. It is never placed in the app’s process environment and never in any terminal overlay, so an agent Termic spawns does not silently inherit it.
  • Constant-time token comparison, with backoff on repeated auth failures.
  • Browser requests are refused. Any request carrying an Origin header is rejected outright. A Host outside the loopback names is rejected too, which is the DNS-rebinding case, since that arrives same-origin and therefore carries no Origin. No CORS header is ever emitted, and preflight is never answered usefully.
  • No peer identification is attempted. Logs are telemetry, not an authorisation input.
  • The port is not a secret; the token is.

Last reviewed: August 27, 2026