跳轉至

Stdio 運行時

stdio 模式用於本地 MCP 客戶端:客戶端把 local-shell-mcp 作爲子進程啓動,並通過標準輸入 / 輸出通信。

它不是公開 HTTP 部署方式。ChatGPT 網頁或 App 不能直接使用 stdio,因爲 ChatGPT 無法在你的機器上啓動進程。

何時使用 stdio

適合使用 stdio 模式的情況:

  • 你的 MCP 客戶端支持基於命令的 server 定義。
  • 客戶端和受控工作區位於同一臺機器。
  • 你不需要 OAuth、公開 HTTPS、反向代理或隧道。
  • 你希望客戶端管理服務生命週期。

不適合使用 stdio 模式的情況:

  • 客戶端是 ChatGPT 網頁或 App。
  • 多個遠程客戶端需要共享同一個服務。
  • 你需要通過 HTTP 提供帶 token 的文件下載。
  • 你需要通過 HTTP 提供遠程 worker 加入路由。

命令

LOCAL_SHELL_MCP_WORKSPACE_ROOT=/path/to/workspace local-shell-mcp --mode stdio

通用 MCP 客戶端配置通常類似:

{
  "mcpServers": {
    "local-shell-mcp": {
      "command": "local-shell-mcp",
      "args": ["--mode", "stdio"],
      "env": {
        "LOCAL_SHELL_MCP_WORKSPACE_ROOT": "/path/to/workspace"
      }
    }
  }
}

按你的客戶端 schema 調整。不同客戶端可能把這個區塊叫作 serverstoolsmcpServerscontextServers

與 HTTP 模式的行爲差異

項目 stdio 模式 HTTP MCP 模式
傳輸 stdin / stdout HTTP streamable MCP 端點
端點 /mcp
OAuth 不需要 公網使用時建議開啓
健康檢查端點 /healthz/readyz
ChatGPT 公網使用 不支持 支持,需要 HTTPS
服務生命週期 客戶端啓動進程 你管理進程或運行時

除此之外,工具面仍是同一套服務端實現,具體可用性取決於配置和客戶端支持。

安全說明

stdio 模式通常直接在宿主機上以 MCP 客戶端同一用戶身份運行。使用較窄的 workspace root,避免廣泛文件系統訪問。除非 stdio 本身運行在一次性容器或 VM 中,否則保持 full-container 模式關閉。