vmzig vmzig
目錄導覽
探索首頁 極速配單 控制中心 技術部落格 ✓ 幫助支援
MCP 協議 2026-07-17 · 11分鐘

MCP 遠端 Mac 部署探針:Blog Writer Prose 全元素驗收實戰

Prose 全元素覆蓋 / MCP 架構 / 遠端 Mac 隔離部署 / 對比表格 / FAQ

一、MCP 協議概觀:AI 時代的「通用工具協議」

這是一段普通正文段落,演示 strong 加粗、em 斜體、b 標籤粗體、行內 mcp-server 程式碼、鍵盤組合鍵 Cmd+Shift+P、已廢棄的 JSON-RPC 2.0 直呼,以及 需要高亮的核心結論。若你在 vmzig 控制台 已租用 Mac mini M4 節點,可按本文步驟直接上手隔離部署。

Model Context Protocol(MCP)由 Anthropic 於 2024 年底發布,旨在解決 AI Host(如 Cursor、Claude Desktop)與外部工具之間的 N×M 對接困境:原本每對 Host-Tool 組合都需各寫一套整合,MCP 將其收斂為一層標準協議。2026 年已被 OpenAI、Google、微軟等主流生態廣泛採納。

架構師提示: MCP 的核心價值不在於「又一個 API 標準」,而在於它把 工具發現(Discovery)、呼叫(Invocation)、上下文注入(Context Injection) 三件事標準化了。把 MCP Server 跑在獨立遠端 Mac 上,可避免污染本地開發環境與金鑰。


二、Host-Client-Server 三層模型

MCP 三角色詳解

各角色職責

角色 職責 典型產品
MCP Host 發起工具發現與呼叫的 AI 應用 Cursor、Claude Desktop
MCP Client Host 內的協議適配層,維護與 Server 的 1:1 連線 Host 內建
MCP Server 暴露工具、資源與提示詞的獨立程序 filesystem、git、sqlite 等
最小權限原則

遠端節點應遵循最小權限:每個 MCP 專案使用獨立 Unix 用戶,SSH 金鑰按專案隔離,日誌寫入獨立目錄。正式環境絕對不允許以 root 帳戶執行 MCP Server。

工具清單(ul)

  • 使用 vmzig Mac mini M4 作為隔離沙箱(24GB 獨佔實體機)
  • 透過 SSH 連接埠轉發暴露 MCP 連接埠,外部不可直接存取
  • 在 ~/.cursor/mcp.json 中註冊 Server 端點
  • 定期輪換 SSH 金鑰(建議每 90 天一次)

部署步驟(ol)

  1. 在 vmzig 控制台租用 Mac mini M4 節點並取得 SSH 憑證
  2. 建立專用用戶 mcp-isolated
  3. 安裝 Node.js LTS 與 MCP SDK
  4. 撰寫 server.ts,宣告工具定義
  5. 啟動 Server 並用 mcp-cli 驗證工具清單

三、本地與遠端 Mac MCP 對比

場景對比表格

維度 本地 MCP 遠端 Mac MCP(vmzig M4)
隔離性 低,共享主帳戶 高,獨立 Unix 用戶
算力上限 受本機負載限制 M4 24GB 獨佔實體機
金鑰安全 易與日常開發混用 按專案隔離 SSH 金鑰
多 Agent 並行 資源競爭嚴重 多 Session SSH,互不干擾
適用場景 快速原型驗證 團隊合規、正式環境部署

四、遠端部署實戰:SSH 隔離設定

程式碼區塊:建立隔離用戶

# 在遠端 Mac 上建立隔離用戶並設定目錄權限
sudo sysadminctl -addUser mcp-isolated -password -
sudo mkdir -p /Users/mcp-isolated/mcp-workspace
sudo chown mcp-isolated:staff /Users/mcp-isolated/mcp-workspace

程式碼區塊:啟動 MCP Server

// server.ts — 以 Filesystem MCP Server 為例
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

const server = new Server({ name: "vmzig-fs", version: "1.0.0" }, {
  capabilities: { tools: {} }
});

const transport = new StdioServerTransport();
await server.connect(transport);

定義清單(dl):常用環境變數

MCP_HOST
MCP Server 監聽位址,預設 127.0.0.1,遠端部署時保持 localhost 並透過 SSH 轉發
MCP_PORT
監聽連接埠,預設 3000,可按專案自訂以避免衝突
NODE_ENV
執行環境,正式部署設為 production,開啟效能最佳化與錯誤上報
SSH_KEY_PATH
SSH 私鑰路徑,建議存放於 ~/.ssh/project-name_ed25519

摺疊區塊(details):SSH 連接埠轉發命令

點擊展開:SSH 連接埠轉發完整命令 將遠端 Mac 的 3000 連接埠對應到本機,供 Cursor MCP Client 連線:
# 建立 SSH 隧道(背景執行)
ssh -N -f -L 3000:127.0.0.1:3000 \
    -i ~/.ssh/vmzig_ed25519 \
    mcp-isolated@your-vmzig-node.com

五、圖片與媒體展示

vmzig Mac mini M4 遠端節點部署示意
圖 1:vmzig Mac mini M4 裸金屬節點 — 適合多 MCP Server 隔離並行執行

六、引用與分隔示例

安全警告: 永遠不要把 MCP Server 直接暴露到公網。SSH 連接埠轉發是最安全的遠端存取方式——只有持有私鑰的用戶才能建立隧道。


七、嵌套清單與混合元素

完成部署後,按以下清單驗收——巢狀清單中可混用 code 與 強調:

  • 網路層
  • 連接埠可達:curl http://localhost:3000/health 回傳 {"status":"ok"}
  • 防火牆規則:Ctrl+C 停止後連接埠即關閉
  • 工具層
  • 工具清單非空:mcp-cli list-tools --server 3000
  • 工具呼叫成功:回傳預期資料格式

有序驗收步驟:

  1. 啟動 MCP Server
  2. 建立 SSH 隧道
  3. 在 Cursor 的 mcp.json 註冊端點
  4. 重啟 Cursor,確認工具出現在工具列
  5. 執行一次實際工具呼叫,查看日誌輸出

總結: 本探針文章刻意覆蓋 BLOG_WRITER_CHECKLIST §1 所需的全部 Prose 裸標籤——h2~h5、p、strong/b/em/a/code/kbd/del/mark、ul/ol/li/dl/dt/dd、pre/pre+code、table/thead/tbody/tr/th/td、blockquote、hr、img/figure/figcaption、details/summary——為 CSS 選擇器驗收提供完整覆蓋面。

常見問題

探針文章為什麼要覆蓋全部 Prose 元素?

Markdown 渲染產物均為裸 HTML 標籤,CSS 選擇器必須能直接命中 h2、table、kbd 等元素,否則未來文章會出現樣式缺失。

在 vmzig 遠端 Mac 上如何隔離 MCP Server?

建議為每個 MCP 專案建立獨立 Unix 使用者,透過 SSH 埠轉發連線,避免與主開發環境共用金鑰與檔案權限。

延伸閱讀

vmzig M4 遠端節點

在 vmzig M4 遠端節點上隔離部署 MCP

按天租用 Mac mini M4,SSH 直連,24 小時交付

vmzig M4 遠端節點

試跑多款 AI Agent,不被本地算力拖慢

租 M4 跑 Agent