← Discover MCPs and Agents
w
MCPAI & MLGitHub

wowTerminal

A context-aware AI terminal with SSH, SFTP, and local/remote LLM support.

Links

README

From the repo.

wowTerminal

wowTerminal

Make Your Terminal Smarter & Safer — LLM × SSH × SFTP

Release License Stars Downloads Platforms

Tauri Rust React TypeScript xterm.js

A context-aware AI terminal — a chat assistant that reads your terminal,
an SSH host manager, and a dual-pane SFTP file browser, in one fast desktop app.

✨ Features🚀 Getting started⌨️ Shortcuts🔐 SSH📁 SFTP🤖 AI

Love this project? A ⭐ on the repo keeps it going.


Features

  • AI assistant (multi-backend)
    • Works with any OpenAI-compatible endpoint — OpenAI, Ollama, vLLM, TGI, self-hosted gateways.
    • Knows the connected system (OS / shell / user / cwd) and can attach the focused pane's recent output, so suggestions fit the machine and what you're doing.
    • Extracts commands from responses into cards with a one-click Send to terminal button.
    • Per-tab conversations, saved chat history, and session restore.
  • SSH manager
    • Host profiles (name / host / port / user / auth), groups, tags, search and sort, with keyboard navigation (/ to select, Enter to open).
    • SSH key manager: generate or import keys.
    • TOFU host-key verification with known_hosts — first-contact confirmation and mismatch warnings to guard against man-in-the-middle attacks.
    • Password prompt with optional save to the OS keychain (no plaintext on disk).
  • SFTP file browser
    • Dual local ↔ remote panes, upload/download with a progress bar and transfer queue.
    • Remote file search and Unix permission editing.
  • Terminal core
    • PTY-backed local shells, rendered with xterm.js (WebGL-accelerated).
    • Tabs, split panes (horizontal / vertical), and detach a tab into a new window (the live session and screen are handed over).
    • Session restore — on restart the previous tabs reopen: layout, local shells in their previous working directory, SSH tabs reconnecting, tmux panes re-attaching.
    • tmux integration — per-host auto-attach on SSH connect, a ⌘K tmux session picker (local or remote, with attach/switch/create), and tab titles that follow the session.
    • Dead-session detection — if the connection drops (e.g. after sleep), the tab says so and Enter reconnects in place (back into tmux when auto-attach is set).
    • Command history search (Ctrl/⌘ + R), inline autocomplete from history (accept with Shift + →; Tab stays shell completion and /End stay cursor movement), and a configurable default start directory for new terminals.
  • UI
    • Collapsible left host panel and right AI panel, with draggable widths.
    • 11 UI languages (auto-detected from your OS locale, switchable in Settings).
    • Dark / light themes, configurable font and scrollback.
    • Import/export of hosts, groups, tags, and LLM backends (secrets and API keys stay in the keychain — re-enter keys after importing).

Tech stack

Getting started

Prerequisites: Rust (stable), Node.js 20+, and platform build dependencies. On Linux you also need libwebkit2gtk-4.1-dev, libgtk-3-dev, and related packages. See the Tauri prerequisites guide.

npm install
npm run tauri dev      # development build with hot reload
npm run tauri build    # production bundle

The first launch shows a short onboarding flow. After that you land on a local shell tab.

Documentation

User guides live in docs/guide/:

Design notes are in docs/design/; the dated development log is in docs/work-log/.

Project layout

.
├── src/                  # React frontend
│   ├── components/        # UI components
│   ├── i18n.tsx           # lightweight self-hosted i18n
│   └── settings.ts        # app settings (theme, layout, language)
├── src-tauri/            # Rust backend (Tauri)
│   └── src/
│       ├── ai/            # AI backends (OpenAI-compatible)
│       ├── ssh/           # SSH manager, known_hosts
│       ├── pty/           # PTY terminal core
│       └── secrets/       # keychain-backed secret storage
└── docs/
    ├── design/            # design docs
    ├── guide/             # user guides (English)
    └── work-log/          # dated development log

Security

  • API keys, SSH private keys, and passwords are never stored in plaintext — they live in the OS keychain (Keychain on macOS, Credential Manager on Windows, Secret Service on Linux).
  • Host/group/tag export does not include secrets.
  • SSH connections verify host keys against known_hosts (trust-on-first-use).

License

MIT © CW JUNG

Collected info

  • 14 stars
  • Language: TypeScript
  • Source updated: 9/16/2026

Config for your environment

Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.

Tool

OS

Config file: ~/.cursor/mcp.json

{
  "mcpServers": {
    "mcp-server": {
      "url": "{MCP_ENDPOINT_URL}"
    }
  }
}

Paste into mcpServers in the config file. Restart Cursor after saving.

If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.