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 集成