Starmux — All-in-One Self-Hosted Remote MCP Server & Gateway

io.github.cookyecat由 GitHub 帳號 cookyecat 發布v0.16.2更新於 Nov 7, 2026

All-in-one remote MCP server & gateway: built-in file, terminal, process & stdio tools over HTTP.

發布方自己的服務:Registry Mcp

概覽

AI 產生的概覽

自架守護程序,透過 Streamable HTTP 向 AI 用戶端提供檔案、終端機、程序與 Git 工具,並可彙整其他本機 MCP 伺服器。

可以做什麼
  • 讀寫與列出檔案、用 ripgrep 搜尋程式碼、以 diff 方式編輯檔案
  • 執行互動式 Shell/PTY 工作階段、讀取輸出、列出或終止背景程序
  • 執行 Git 工作流程,並在唯讀與編碼權限模式之間切換
  • 提供 Streamable HTTP 端點,把額外的本機 stdio MCP 伺服器彙整到同一個連接埠
  • 透過命令列或本機管理主控台管理各用戶端專屬的 API 金鑰、OAuth 工作階段與多個執行個體
適用情境
適合讓網頁版或桌面 AI 用戶端操作沒有原生代理程式之機器上的檔案與終端機,例如無圖形介面的 Linux 伺服器或 ARM64 開發板;也適合把多個本機 stdio MCP 伺服器統一放在一個具備驗證的 HTTP 端點後面。
執行需求
需要 macOS、Linux(x64/ARM64)或 Windows 上的 Node.js 22.12+,從 npm 全域安裝後以 starmux up 指令啟動。預設只監聽 127.0.0.1:18893;遠端或雲端用戶端需要連接埠轉送、反向代理或通道。OAuth 2.0 模式需要自架 Keycloak。
安裝前請注意
預設驗證為 None,任何能連上該端點的人都能使用這些工具,對外開放前應設定 Bearer API 金鑰或 OAuth。編碼模式下的終端機與檔案工具以你的作業系統帳號權限執行,專案目錄只是工作脈絡而非沙箱,建議維持預設唯讀模式。透過通道或公網代理對外開放,會把工具流量送出本機網路。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Starmux — All-in-One Self-Hosted Remote MCP Server & Gateway,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Starmux — All-in-One Self-Hosted Remote MCP Server & Gateway

One turnkey daemon for remote filesystem, terminal, background processes, auth, and stdio MCP multiplexing—no manual component assembly required.

All-in-One Remote MCP Server · Streamable HTTP Gateway · Built-in Filesystem, Terminal, Process & Git Tools · stdio Multiplexer · MIT

Why Starmux? · All-in-One vs. DIY Stacks · Quick Start · Auth & Multi-Instance Permissions · Use Cases · macOS App · Documentation


Why Starmux?

Cloud AI assistants (like ChatGPT Web, Claude, or Doubao) are isolated in the browser, and many desktop coding agents (like WorkBuddy, Cursor, Claude Code, Codex, Antigravity, DSH-Harness, Kimi Code, Minimax Code, or ZCode) lack native apps for headless Linux servers or ARM64 edge boards.

Normally, solving this requires manually assembling 3–4 separate open-source tools: a local tool server (DesktopCommanderMCP or filesystem-mcp), a stdio-to-HTTP transport adapter (supergateway or mcp-proxy), an authentication/aggregation gateway (MCPHub or ContextForge), and a process supervisor.

Starmux (Star topology + Multiplexer) replaces that entire fragmented chain with a single, turnkey self-hosted daemon (starmux up):

text
Traditional DIY Stack:  [Filesystem/Terminal MCP] + [supergateway / mcp-proxy] + [Auth/Aggregator Gateway] + [Supervisor]Starmux (All-in-One):   [                   Single 'starmux up' Daemon (127.0.0.1:18893/mcp)                   ]
  • Turnkey Filesystem, Diff File Editing, Terminal & Process Management (Desktop Commander Engine): Out of the box—with zero external MCP servers to install—AI clients can read/write local files (read_file, write_file, list_directory), run ripgrep code searches (start_search), perform surgical diff edits (edit_block), control interactive PTY/Shell terminal sessions (start_process, interact_with_process, read_process_output), manage background processes (list_processes, kill_process, force_terminate), and run Git workflows.
  • Operate Headless Linux, NVIDIA Jetson (ARM64), macOS & Windows Remotely: Desktop AI clients like WorkBuddy or ChatGPT have no native Linux or ARM64 desktop app. Run Starmux on your target Linux workstation, NVIDIA Jetson Orin, or server, and drive its filesystem and terminal remotely from your Mac/PC or browser.
  • Built-in stdio-to-Streamable HTTP Bridge & Multi-Server Aggregator: Exposes a native Streamable HTTP (/mcp) endpoint directly and can multiplex your own extra local stdio MCP servers (upstreams) behind the same port—no separate supergateway or mcp-proxy wrapper needed.
  • Integrated Read-Only Safety Gate, Revocable API Keys, OAuth 2.0 & Local Admin UI: Starts in Global Read-Only mode (readOnly) by default so AI can safely inspect files and directories without running shell commands or modifying disk. Switch to Coding mode (--code) when needed, lock down remote access with per-client revocable Bearer API keys or OAuth 2.0 + PKCE, and manage everything from the CLI or private local Admin UI / Web Dashboard.

All-in-One vs. Fragmented DIY Stacks

Instead of wiring together separate tool backends, transport bridges, and auth proxies—or deploying heavy control planes that still lack host tools—Starmux provides a unified end-to-end runtime:

CapabilityStarmux (All-in-One Daemon)DIY Stack (DesktopCommanderMCP + supergateway / mcp-proxy)Pure MCP Gateways (MCPHub / ContextForge / MetaMCP)SSH MCP Bridges (ssh-mcp / ssh-mcp-server)Vendor-Hosted Relays (Hosted Remote Desktop Commander)
Built-in Filesystem, Diff Edit, Terminal & Process Tools✅ Built-in (25+ tools)⚠️ Requires separate tool server❌ None (must wire external servers first)✅ Via OpenSSH / SFTP✅ Built-in
Native Streamable HTTP /mcp Endpoint✅ Built-in⚠️ Requires transport adapter✅ Built-in❌ Local stdio only (no direct Cloud AI HTTP)✅ Hosted cloud endpoint
Works with Cloud/Browser AI (ChatGPT Web, Claude)✅ Direct HTTPS or Tunnel⚠️ Manual proxy + auth wiring✅ With external tool backends❌ Requires local stdio host✅ Via vendor cloud
Headless Linux x64 / ARM64 & NVIDIA Jetson Support✅ Single-command CLI (starmux up)⚠️ Manual multi-process setup⚠️ Often requires Docker / DB stack✅ Via SSH target⚠️ Depends on host agent
Enforced Global Read-Only vs. Coding Mode Switch✅ 1-command switch (--read / --code)❌ No unified read-only gate❌ No host-tool read/code mode❌ Relies on OS SSH user⚠️ Vendor-defined
Per-Client Revocable Bearer API Keys & OAuth 2.0✅ Built-in + Local Admin UI❌ Requires external auth proxy✅ Built-in❌ SSH keys only✅ Vendor OAuth
Multiplex Extra Local stdio MCP Servers (upstreams)✅ Built-in namespaced router⚠️ Adapter-dependent✅ Built-in❌ No❌ No
100% Self-Hosted (Zero Mandatory Third-Party Relay)✅ Your network & keys✅ Self-hosted✅ Self-hosted✅ Self-hosted❌ Traffic routes via vendor relay

Quick Start

1. Install

Requires Node.js 22.12+ on macOS, Linux (x64 / ARM64 / NVIDIA Jetson), or Windows.

bash
npm install -g starmux

(Upgrading? Run starmux down before installing the new version—see the Upgrade Guide.)

2. Start in your project directory

bash
cd /path/to/your/project
# Option 1: Read-only mode (default — safely inspect files, folders & code)starmux up
# or, Option 2: Coding mode (enable file edits, interactive terminal, process management & Git)starmux up --code

Starmux starts in the background on http://127.0.0.1:18893/mcp with Authentication: None by default for immediate local connection:

text
● Starmux is running  (instance: default)  Instance        <instance UUID>  Listen          http://127.0.0.1:18893/mcp  (this computer only)  Project         /path/to/your/project  Mode            Read-only (global · OS account)  (run 'starmux up --code' to enable edits & shell)  Auth            None (no token required)

(Switch between Read-only and Coding permissions anytime with starmux up --code and starmux up --read.)

3. Expose for Remote / Cloud AI (Skip if your AI client runs on this same computer)

Because Starmux binds strictly to 127.0.0.1:18893 for local security, choose the forwarding method that matches your network when connecting from a cloud AI client (ChatGPT Web) or another computer (WorkBuddy / Cursor on Mac $\rightarrow$ Linux / Jetson):

Network ScenarioBest ForRecommended MethodQuick Setup Command
A. Reachable IP / LAN / VPN (Host IP or domain can be reached directly)• All AI clients over LAN (http://LAN_IP/mcp), Tailscale, or public domain (https://mcp.example.com/mcp)
• Desktop AI on Laptop controlling a remote Linux / Jetson host over SSH
Option A1: Caddy Reverse Proxy
Option A2: OpenSSH Port Forwarding (ssh -L, zero extra install on host)
• A1 (Caddy): See collapsible block below
• A2 (SSH): ssh -N -L 127.0.0.1:18893:127.0.0.1:18893 user@remote-host
B. Behind NAT / CGNAT (No inbound port or connecting to Cloud AI)Home/office PC or lab server behind a firewall/CGNAT connecting to ChatGPT Web or remote agents without opening inbound portsOpenAI Secure MCP Tunnel or Cloudflare TunnelSee Option B in collapsible block below
Copy-paste commands for Option A1 (Caddy Reverse Proxy) & Option B (Outbound Tunnels)
  • Option A1: Reachable IP (LAN or Public Domain) with Caddy: Replace mcp.example.com with your public domain (or http://YOUR_LAN_IP on a trusted private LAN):

    bash
    caddy run --adapter caddyfile --config - << 'EOF'mcp.example.com {	handle /mcp {		reverse_proxy 127.0.0.1:18893 {			header_up Host 127.0.0.1:18893		}	}}EOF
  • Option B: Behind NAT / CGNAT — Outbound Tunnel (No inbound port forwarding required):

    • OpenAI Secure MCP Tunnel (for ChatGPT Web / Codex):
      bash
      tunnel-client run \  --control-plane.tunnel-id "tunnel_YOUR_TUNNEL_ID" \  --control-plane.api-key "env:MAC_MCP_TUNNEL_KEY" \  --mcp.server-url "http://127.0.0.1:18893/mcp" \  --health.listen-addr "127.0.0.1:18891" \  --log.level info
    • or, Cloudflare Quick Tunnel:
      bash
      cloudflared tunnel --url http://127.0.0.1:18893 --http-host-header 127.0.0.1:18893

(See Installation & Networking for Tailscale, frp, rathole, ngrok, and IPv6 TLS setups.)

4. Connect your AI client

With default settings (Auth: None), connect your AI client using any of the 3 options below:

Option 1 — Ask your AI coding agent to add it for you (Zero manual config)

For agentic coding clients (Claude Code, Antigravity, Codex, Cursor, WorkBuddy, DSH-Harness, Kimi Code, Minimax Code, ZCode), send this prompt in the AI chat (replace the URL with your LAN IP, domain, or http://127.0.0.1:18893/mcp):

text
Create this MCP Server connector:"starmux": {  "type": "streamable-http",  "url": "http://192.168.50.114/mcp"}
or, Option 2 — AI clients with a Form UI (e.g., ChatGPT Web, Claude, Doubao)
MCP Client FieldValue to Fill In
TransportStreamable HTTP (or select your Tunnel in ChatGPT Web)
URLhttps://mcp.example.com/mcp (Remote HTTPS / Tunnel) — or http://127.0.0.1:18893/mcp (same computer)
AuthenticationNone (default for local/LAN; use Bearer API Key or OAuth 2.0 for public endpoints)
or, Option 3 — Manually paste into mcp.json
  • Same-computer connection (or when using local ssh -L port forwarding):

    json
    {  "mcpServers": {    "starmux": {      "type": "streamable-http",      "url": "http://127.0.0.1:18893/mcp"    }  }}
  • Remote / LAN connection (via Direct Proxy or Tunnel — do NOT use 127.0.0.1 across separate machines):

    json
    {  "mcpServers": {    "starmux": {      "type": "streamable-http",      "url": "https://mcp.example.com/mcp"    }  }}

Securing Remote Access: Auth & Multi-Instance Permissions

When exposing Starmux beyond 127.0.0.1, lock down your endpoint with per-client credentials and permission controls:

1. Per-Client Bearer API Keys & OAuth 2.0

  1. Per-Client Bearer API Keys (with instant revocation & private Admin UI): Create a named credential for each AI client so you can audit or revoke them independently without exposing the local admin interface:
    bash
    starmux auth key "My AI Client"starmux auth                    # List active API keys, OAuth sessions, and auth statusstarmux dashboard               # Open the private local Admin UI / Web Access Console (127.0.0.1 only)
    Then add the Authorization header to your client's mcp.json:
    json
    {  "mcpServers": {    "starmux": {      "type": "streamable-http",      "url": "https://mcp.example.com/mcp",      "headers": {        "Authorization": "Bearer smx_YOUR_GENERATED_API_KEY"      }    }  }}
  2. OAuth 2.0 + PKCE Browser Login (for ChatGPT Web): Acts as a standard OAuth 2.0 protected resource server with PKCE and session revocation (via self-hosted Keycloak). See Security & Authentication — OAuth 2.0.

2. Advanced: Multiple Instances, Separate Project Folders & stdio Multiplexing (-i)

(Optional) By default, Starmux runs a single default instance. If you want separate remote MCP endpoints on one computer—each with its own port, project directory / folder context, credentials, mounted stdio MCP servers, and Read-Only vs. Coding permission mode—pass -i <name>:

bash
# Instance 1: Coding mode on port 18893 for repo-astarmux up ~/work/repo-a -i work --code
# Instance 2: Strict Read-Only mode on an auto-assigned port for docs/blog folderstarmux up ~/personal/blog -i blog --read
starmux ls                      # List all instances with status, mode, port, and project folderstarmux config edit -i work     # Mount extra local stdio MCP servers (upstreams) or customize settingsstarmux config apply -i work    # Hot-reload configuration changesstarmux down -i work            # Stop a specific instance

Security & Trust Boundary Note: Starmux's default Read-Only mode (--read) blocks write tools, shell execution, and Git mutations across the instance. In Coding mode (--code), terminal and file tools run with your OS account's permissions (the configured project directory sets the working context, not an OS chroot sandbox; an optional home-directory write sandbox is available on macOS). See Instances & Upstream Multiplexing and Security Model.


Everyday CLI Commands

bash
starmux status          # Check health, endpoints, active permission mode, and recent tool activitystarmux up .            # Switch active project folder context to current directorystarmux auth            # View auth mode, create/revoke per-client API keys, and inspect OAuth sessionsstarmux verify          # Run an end-to-end local MCP handshake, tool discovery, and read probestarmux doctor          # Run environment, port lease, and configuration diagnosticsstarmux dashboard       # Open the local Web Admin UI / Access Console to manage access & tool deny rulesstarmux logs -f         # Stream live MCP gateway and tool invocation logsstarmux down            # Stop the gateway (alias: stop)

Tested AI Client Matrix

AI ClientRecommended SetupStatusDetailed Guide
ChatGPT WebDirect HTTPS or OpenAI Tunnel (+ OAuth 2.0)✅ TestedChatGPT Web Setup
Claude App / CodeChat Prompt (Claude Code) or Remote MCP Custom Connector (Claude App)✅ TestedAI Coding Agents · Claude App
WorkBuddyChat Prompt / Local / LAN / SSH / Caddy HTTPS (Mac $\rightarrow$ Linux / Jetson)✅ TestedWorkBuddy to Linux / Jetson Guide
AntigravityChat Prompt / Local / LAN / SSH / HTTPS✅ TestedAI Coding Agents Setup
Codex CLI / AppChat Prompt / Tunnel or HTTPS + Bearer API Key✅ TestedCodex CLI Setup
CursorChat Prompt / Local / LAN / SSH / HTTPS✅ TestedAI Coding Agents Setup
DSH-Harness / Kimi / Minimax / ZCodeChat Prompt / Local / LAN / SSH / HTTPS✅ TestedAI Coding Agents Setup
Doubao (豆包)Direct HTTPS or Tunnel✅ TestedClaude & Doubao Setup

Common Use Cases & FAQ

中文场景速览(一站式自托管远程 MCP 服务与网关): Starmux 将 Desktop Commander 风格的文件读写、代码搜索、Diff 编辑、交互式终端、进程管理与 Git 工具、stdio 转 Streamable HTTP 网关、多本地 stdio MCP 服务聚合、只读(Read-Only)与 Coding 权限切换、以及 API Key / OAuth 2.0 鉴权 一体化内置于单个守护进程中。无需手工拼装 DesktopCommanderMCP + supergateway,即可让网页版 ChatGPT、Claude、豆包 或桌面端 WorkBuddy、Cursor、Codex、Antigravity 通过局域网 Caddy、Direct HTTPS(支持公网 IPv4/IPv6)、SSH 转发或内网穿透(NAT/CGNAT Tunnel)安全操作 Linux (x64/ARM64)、NVIDIA Jetson、macOS 与 Windows 上的本地文件与终端。


Native macOS App

Prefer a visual interface? The native SwiftUI menu bar App puts service health, Read-Only vs. Coding mode toggles, live MCP connection topology, and recent tool calls in one compact panel.

[Starmux native macOS menu bar app showing service status, MCP connection topology, and recent tool calls]

Native macOS Menu Bar App (English & Chinese) · Controls the same instances as the CLI

The App and CLI manage the same underlying instances. Quitting the App stops only instances started by the App; background instances started via CLI keep running.

Host PlatformCore & CLI (starmux)Native Menu Bar App
macOS (Apple Silicon / Intel)✅ Tested🧪 Development Build (App Build Guide)
Linux (x64 / ARM64 / NVIDIA Jetson)✅ Tested—
Windows (x64)✅ Tested—

Documentation & Architecture Guides

Explore the Documentation Index by topic:

  • 📦 Installation, Platforms & Network Forwarding — Supported hosts (macOS, Linux, NVIDIA Jetson, Windows), everyday CLI commands, upgrades, source builds, and Caddy / Tunnel / SSH forwarding.
  • 🔒 Security, Access Control & Authentication — Global Read-Only vs. Coding permissions, trust boundaries, per-client Bearer API keys (starmux auth key), private local Admin UI, and self-hosted Keycloak OAuth 2.0 + PKCE.
  • 🤖 AI Client Configuration Guides — End-to-end setup (including 1-step Prompt Auto-Setup) for ChatGPT Web, Claude App / Code, WorkBuddy, Antigravity, Codex, Cursor, DSH-Harness, Kimi Code, Minimax Code, ZCode, and Doubao (豆包).
  • ⚙️ Multi-Instance & JSONC Configuration — Running multiple isolated instances (-i NAME), hot-reloading config.jsonc, mounting extra local stdio MCP servers (upstreams), and managing secrets.

License

Starmux original code is MIT Licensed. Desktop Commander is bundled as a pinned dependency and retains its own license and notices. Starmux is an independent open-source project and is not endorsed by Desktop Commander or AI client vendors.

來源:README.md,提交 74ea4f0

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.16.2最新Nov 7, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Remote-Mcp 整合