termius-mcp
Drives visible terminals in a running Termius desktop app, enabling creation and management of local terminals (create, send, read, resize, kill, list, send keys) and interaction with existing SSH saved-host sessions (list, send, read, wait for output, send keys, sync).
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@termius-mcpopen a local terminal and runls -la"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
termius-mcp
MCP server that drives visible terminals in a running Termius app.
Local only. This server connects to a locally running Termius desktop app via the Chrome DevTools Protocol on
localhost:9229.
Prerequisites
Termius must be running with remote debugging enabled. On macOS:
/Applications/Termius.app/Contents/MacOS/Termius --remote-debugging-port=9229At least one Termius window must be open. The server connects to the primary renderer (the main Termius UI), injects a bridge that exposes the Termius mediator API, and registers MCP tools that call into that bridge.
Related MCP server: Terminal MCP
Quick Start (with an MCP client)
Install once globally, or use npx to always run the latest version without install:
npx -y termius-mcpThen wire it into your MCP client. Pick your client below.
Claude Desktop / Claude Code
~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows:
{
"mcpServers": {
"termius-mcp": {
"command": "npx",
"args": ["-y", "termius-mcp"]
}
}
}On Windows, Claude Desktop needs the cmd /c wrapper:
{
"mcpServers": {
"termius-mcp": {
"command": "cmd",
"args": ["/c", "npx", "-y", "termius-mcp"]
}
}
}Cursor
~/.cursor/mcp.json (or .cursor/mcp.json in the repo for project-scoped):
{
"mcpServers": {
"termius-mcp": {
"command": "npx",
"args": ["-y", "termius-mcp"]
}
}
}opencode
Add to your opencode.json / opencode.jsonc:
{
"mcp": {
"termius-mcp": {
"type": "local",
"command": ["npx", "-y", "termius-mcp"]
}
}
}Cline (VS Code)
cline_mcp_settings.json:
{
"mcpServers": {
"termius-mcp": {
"command": "npx",
"args": ["-y", "termius-mcp"]
}
}
}From source (for development)
git clone https://github.com/yapp/termius-mcp.git
cd termius-mcp
npm install
npm startA repo-root .mcp.json is provided so Cursor / Claude Code / VS Code MCP builds can auto-discover the server without writing the config by hand.
Usage
Once connected, ask the client to:
Open a local terminal in Termius (
terminal_create).Send a command to it (
terminal_send).Read the output (
terminal_read).
The initial CDP connection is non-fatal. If Termius is not running when the server starts, the next tool call retries the connection.
Tools
Local terminals
Tool | Description |
| Open a new Local Terminal in the Termius UI. Optional |
| Write a raw string to terminal stdin via |
| Drain buffered output. |
| Resize both the xterm renderer and the pty ( |
| Close the terminal via |
| List terminals managed by the bridge, including terminals opened in the UI before the server connected. |
| Send a named special key ( |
Existing SSH saved-host sessions
These tools operate on terminals that already exist in the running Termius app, typically SSH saved-host sessions opened from the UI. They auto-sync the bridge with the Redux state, so SSH terminals whose .terminal DOM element is not mounted (hidden tabs) remain addressable by terminalId. No credentials are needed: the bridge piggybacks on Termius's already-authenticated session.
Tool | Description |
| List live terminal sessions from the Redux store with metadata: |
| Write a raw string to an existing SSH session stdin. |
| Drain buffered output from an existing SSH session. Same options as |
| Wait for a substring to appear in the output buffer. Useful for waiting for a prompt or a marker. Optional |
| Send a named special key to an existing SSH session. |
| Manually sync the bridge with the live Termius state. Called automatically by the other SSH tools. |
Configuration
Variable | Default | Description |
|
| CDP endpoint host. |
|
| CDP endpoint port. Must match the |
Testing
Smoke test against a running Termius instance (exercises list, create, send, read, resize, sendKeys):
npm run smokeEnd-to-end test that creates terminals, sends commands, and reads output:
npm testBoth require Termius running with --remote-debugging-port=9229.
Requirements
Node.js with ESM support
Termius desktop app (developed against v10.0.6)
Network access to
localhost:9229
This server cannot be deployed
Maintenance
Related MCP Connectors
Run commands and read/write files on your servers over Termalin's keyless tunnels (hosted MCP).
Remote MCP server to read and manage your Atako AI agents, messages, files, and integrations.
Develop, manage, and debug Railway projects, services, and deployments from within agents.
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceProvides cross-platform terminal access through MCP, enabling AI assistants to create and manage interactive terminal sessions, execute commands, and capture visual snapshots on Windows, Linux, and macOS.1MIT
- AlicenseAqualityDmaintenanceEnables management of visible, interactive terminal sessions across platforms (macOS, Windows, Linux, WSL). Supports creating, executing commands, capturing output, and managing multiple terminal windows simultaneously.51MIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to launch and interact with terminal/TUI programs, providing tools to inspect and control live CLI/TUI sessions.13 npm1Apache 2.0
- FlicenseNot gradedqualityAmaintenanceExposes VS Code terminals as MCP tools, allowing AI agents to create, execute commands, read output, list, and kill terminals across multiple workspaces.-