AI 前沿

2026 Hermes Agent MCP 對接 Claude Opus 4.8:搭建合規本機程式碼演練場

MacHTML Lab2026.06.01 約 18 分鐘
2026 Hermes Agent MCP 對接 Claude Opus 4.8:搭建合規本機程式碼演練場

Hermes AgentNousResearch/hermes-agent)內置對 Model Context Protocol(MCP) 的一等支持:在 ~/.hermes/config.yaml 中聲明 mcp_servers,Hermes 會拉起基於 stdio 的服務進程(例如 @modelcontextprotocol/server-filesystem),模型側看到的工具名帶 mcp_<server>_<tool> 前綴。搭配 Claude Opus 4.82026 年 5 月 28 日發佈;API 標識 claude-opus-4-8)與本地代碼沙箱,智能體可在限定倉庫內讀代碼、執行 npm test,並在有界重試下嘗試受控的自動修復,而無需訪問整個用戶主目錄。

官方資料:Hermes MCP 用戶指南倉庫內 MCP 文檔,以及 modelcontextprotocol.io。若在 Apple 硬件上對比不同 Agent 框架,請參閱 macOS 與 Mac mini M4 上 Hermes Agent 與 OpenClaw 對比。長會話導致上下文膨脹時,可結合 Mac mini M4 上的 Hermes trajectory_compressor 與記憶壓縮 控制 token。若需 7×24 消息網關部署,見 廉價 VPS 上用 Docker 運行 Hermes Agent 與 Telegram 機器人

說明:MacHTML 提供可選的雲 Mac mini 租用用於預演 Agent 配置;本文聚焦 MCP 與沙箱模式,不強制使用 Mac。

Claude Opus 4.8 時代爲何用 MCP 搭配 Hermes

在 MCP 普及之前,常見做法是整庫粘貼進上下文,或在宿主機上無約束地執行 Shell——二者都難以通過合規審查。MCP 提供契約化的工具面:文件系統服務只暴露你列出的目錄;Hermes 將每個工具映射爲 mcp_<server>_<tool>,便於在日誌中審計每一次調用。Anthropic 於 2026 年 5 月 28 日發佈 Claude Opus 4.8 後,更長的推理鏈與更強的補丁質量使「讀取 → 測試 → 修復」循環變得可行——但前提是 Harness 能把影響範圍限制在可控半徑內。

Hermes 已在單一 ~/.hermes 目錄樹下統一技能、定時任務與網關。接入 MCP 意味着無需爲文檔檢索或倉庫內省再另起一套 Agent 框架。Shell 執行仍由 terminal.backend: docker 承擔,結構化讀盤與元數據交給 MCP;再配合 tools.include / tools.exclude 做顯式白名單,即構成合規的本地代碼沙箱:MCP 負責觀察,Docker 終端負責變更。

Opus 4.8 特別適合在測試失敗時反覆迭代。典型循環:經 MCP 列出項目文件、讀取失敗用例、經終端工具提交補丁、執行 npm test,通過則停止,否則在重試預算內繼續。若 MCP 根目錄未收窄,模型可能讀到 ~/.ssh 或雲憑證;將 server-filesystem 根指向 /srv/sandbox/app 時,這些路徑不會出現在工具 Schema 中。

MCP 還解耦升級節奏:Nous Research 發佈新 Hermes 鏡像後,只要 stdio 命令路徑仍有效,mcp_servers 塊通常可原樣保留。在 Telegram 或 CLI 對話中發送 /reload-mcp 即可熱加載,無需重啓網關——在將配置從 Mac mini 預演環境提升到 VPS 前尤其省事。

也可通過 hermes mcp install 安裝經審覈的目錄條目,或手寫 npx 命令。Hermes 支持 hermes mcp serve,讓其他 MCP 主機調用 Hermes 工具,同時 Hermes 調用文件系統 MCP——便於 Claude Code 與 Telegram 網關共享同一沙箱策略。

最後,MCP 與社區生態互通:Git、瀏覽器、數據庫等社區服務器以相同方式掛載。代碼沙箱先從文件系統範圍起步;每增加一個服務器都應經過安全評審。

合規團隊常要求可舉證的操作記錄。MCP 工具調用是帶參數的離散 JSON-RPC 操作,參數清晰、便於落庫與回放。將此類日誌與 Docker 終端審計結合,可在 2026 年的內部 AI 治理評審中形成較有說服力的敘述。

從 IDE 副駕駛遷移的開發者會感受到不同交互:Hermes 以會話與網關爲中心,同一沙箱既可從手機 Telegram 驅動(網關跑在 Mac mini),也可在本地 CLI 做功能開發。~/.hermes 攜帶 MCP 配置;界面可變,安全邊界不變。

架構:Hermes、MCP 服務與 Docker 終端

開發者 → Hermes CLI / 網關對話
              ↳ config.yaml
                   ├─ model: claude-opus-4-8
                   ├─ mcp_servers(stdio)→ @modelcontextprotocol/server-filesystem
                   ├─ tools.include / tools.exclude
                   └─ terminal.backend: docker  → 沙箱容器內 bash/npm
              ↳ 暴露給模型的工具名:mcp_sandbox_fs_read_file、run_terminal_cmd、…

啓動時(及 /reload-mcp 時)Hermes 加載 mcp_servers。每條目指定命令——常見爲 npx -y @modelcontextprotocol/server-filesystem 並附帶允許的目錄。Agent 循環將 MCP 工具與內置工具合併;若設置了 tools.include,只有名單內的工具會進入 Opus 4.8。

工具前綴:Hermes 爲 MCP 工具加命名空間,日誌可區分由哪個服務器響應。預期名稱類似 mcp_sandbox_fs_read_file。編輯 YAML 後可在宿主機執行 hermes mcp list 覈對註冊情況。

終端後端:config.yaml 中設置 terminal.backend: docker(Docker 部署中亦可設 TERMINAL_BACKEND=docker),使 npm testgit 與格式化在沙箱容器內執行——而非直接落在網關宿主機內核上。將倉庫同時掛載進 MCP 根列表與容器工作區,保持路徑一致。

受控自動修復:將白名單與技能說明結合:限制重試次數、禁止 rm -rf、生產分支要求人工審閱 diff。當系統提示與技能元數據中重複這些約束時,Opus 4.8 更易遵守。

層級職責典型配置
MCP 文件系統在根目錄內讀/列/搜mcp_servers + server-filesystem 路徑
Hermes 終端跑測試、打補丁terminal.backend: docker
tools.include剔除危險內置工具僅列顯式工具名
模型推理與工具選擇claude-opus-4-8

MCP 與 Shell 工具的安全模型

將 MCP 根目錄視爲讀邊界,而非寫邊界。文件系統 MCP 服務隨版本可能仍暴露寫工具——若策略要求預發環境只讀,用 tools.exclude 去掉 mcp_*_write*。切勿把根指向 ~/.hermes~/.ssh 或雲憑證目錄。

團隊網關場景下 Docker 終端隔離是硬性要求。被劫持的提示詞不應逃逸到宿主機包管理器。CPU 與內存限制應與生產網關指南一致。仍遵守「每個 ~/.hermes 掛載僅一個網關」——重複網關會破壞會話。

~/.hermes/.env 中輪換 API 密鑰,與 MCP 配置分開管理。限制誰能在 Telegram 上執行 /reload-mcp 及管理類斜槓命令。使用 Opus 4.8 時關注自動修復循環的 token 消耗;上下文超預算時配合 /compress 或軌跡壓縮。

審計日誌:預發階段開啓詳細工具日誌。確認每次 mcp_* 調用路徑落在倉庫根下。拒絕要求模型外泄環境變量的技能。

密鑰應放在 MCP 根之外的 .env。若僅需閱讀 .env.example,白名單該單文件而非整個父目錄。單倉多包項目應將 MCP 收窄到正在開發的子包,避免 Opus 4.8 遍歷無關服務。

沙箱容器出站網絡默認拒絕,僅放行 npm test 所需的包註冊表域名。在手冊附錄中記錄允許域名,便於安全評審簽字而無需通讀每個技能文件。

分步操作手冊

  1. 安裝 Hermes(含 MCP 擴展) — 使用安裝腳本並安裝 .[mcp] 可選依賴。確認 PATH 上有 npx 與 Node 20+。
    curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
    source ~/.zshrc
    cd ~/.hermes/hermes-agent && uv pip install -e ".[mcp]"
    hermes doctor
  2. 固定 Claude Opus 4.8 — 將 API 密鑰寫入 ~/.hermes/.env,在 config.yaml 中設置 claude-opus-4-8,對話中用 /model 驗證。
    ANTHROPIC_API_KEY=sk-ant-...
    models:
      default: claude-opus-4-8
  3. 創建隔離沙箱目錄 — 克隆可丟棄的測試倉庫並執行 npm ci
    sudo mkdir -p /srv/sandbox/app
    sudo chown "$USER":"$USER" /srv/sandbox/app
    git clone https://github.com/your-org/your-test-repo.git /srv/sandbox/app
    cd /srv/sandbox/app && npm ci
  4. 註冊文件系統 MCP 服務 — 在 mcp_servers 中限定根目錄並配置 tools.include
    mcp_servers:
      sandbox_fs:
        command: "npx"
        args:
          - "-y"
          - "@modelcontextprotocol/server-filesystem"
          - "/srv/sandbox/app"
        tools:
          include:
            - read_file
            - list_directory
            - search_files
  5. 啓用 Docker 終端後端 — MCP 根與容器掛載保持一致。
    terminal:
      backend: docker
      container_persistent: true
      container_memory: 5120
      docker_volumes:
        - "/srv/sandbox/app:/workspace"
  6. 驗證 MCP 註冊 — 在宿主機執行:
    hermes mcp list
    # 對話中:/reload-mcp
  7. 運行 npm test 循環 — 明確提示:經 MCP 讀失敗輸出,在沙箱內打補丁,每次補丁後執行 npm test,最多 N 次嘗試後停止。
    hermes chat "列出頂層文件,在 /workspace 運行 npm test,僅修復 src/ 下失敗用例,最多 3 次。"
  8. 將配置提升到網關或 VPS — 按 VPS Telegram 指南 將校驗過的 ~/.hermes 複製到 Docker 綁定掛載。保持 TERMINAL_BACKEND=docker,並在容器內再次執行 hermes mcp list

將重試預算與禁止命令寫入倉庫內的技能文件,使每位隊友繼承相同的受控自動修復策略。每次升級 Hermes 鏡像後應重跑本手冊,因 MCP 服務 CLI 偶發新增工具名,需同步更新 tools.include

故障排查

修改配置後 MCP 工具消失

在對話中執行 /reload-mcp 或重啓 CLI 會話。以同一用戶手動確認 npx 能啓動 @modelcontextprotocol/server-filesystem。用 hermes mcp list 查看拉起錯誤。mcp_servers 鍵名錯誤會改變 mcp_* 前綴——請相應更新 tools.include

本地 npm test 通過但 Docker 終端內失敗

對齊掛載路徑:MCP 讀 /srv/sandbox/app,容器內使用 /workspace。在 docker_volumes 中使用同一宿主機路徑。在沙箱鏡像內安裝 Node 或使用已預裝依賴的持久容器。

Opus 4.8 無視護欄並編輯範圍外文件

tools.include 移除寫類 MCP 工具,收窄文件系統根,並在技能文本中禁止倉庫外路徑。生產分支改用只讀 MCP;終端僅用於一次性臨時沙箱。

OAuth MCP 登錄在會話中卡住

退出當前會話,在全新終端運行 hermes mcp login <server>,完成授權後再 /reload-mcp

關於框架對比、記憶壓縮與 VPS 上 7×24 Telegram,請參閱 macOS 與 Mac mini M4 上 Hermes Agent 與 OpenClaw 對比Mac mini M4 上的 Hermes trajectory_compressor 與記憶壓縮,以及 廉價 VPS 上用 Docker 運行 Hermes Agent 與 Telegram 機器人。升級硬體前可先讀 蘋果 M5 Fusion 架構與 M6 2nm 工藝預測 中的頻寬與買現役/等跨代矩陣。本文在此基礎上補充面向 Claude Opus 4.8 編碼循環的 MCP 文件系統沙箱配置。

常見問題

MCP 工具會取代 Hermes 終端工具嗎?

不會。MCP 文件系統工具與內置終端互補。Shell 仍用 terminal.backend: docker,MCP 負責限定範圍內的讀與列目錄。

Claude Opus 4.8 應設哪個模型 id?

config.yaml 或對話 /model 中使用 claude-opus-4-8,與 Anthropic 2026 年 5 月 28 日發佈公告一致。

如何在不重啓網關的情況下重載 MCP?

在對話中發送 /reload-mcp,或在宿主機運行 hermes mcp list,確認 mcp_servers 下的服務已註冊。

能否在 VPS 上運行此沙箱?

可以。掛載 ~/.hermes,啓用 TERMINAL_BACKEND=docker,並將 MCP 範圍限定在綁定掛載上的項目目錄。網關加固見 Docker VPS 一文。

tools.include 如何與 MCP 交互?

設置 tools.include 後,僅名單內工具暴露給模型。將 hermes mcp list 報告的每個 mcp_* 工具名加入列表;生產環境省略不需要的內置工具。

MacHTML 上的 Hermes MCP 與 OpenClaw MCP 文章有何不同?

OpenClaw 文章側重 Node 網關與遠程 Mac 自動化。本文講解 Hermes 原生 mcp_servers、工具前綴與 /reload-mcp

在雲端 Mac mini 上預演 Hermes MCP

租用常開 Mac mini M4,在推廣到生產前於同一 ~/.hermes 目錄下驗證 MCP 檔案系統範圍、npm test 循環與 Claude Opus 4.8 設定。

Mac 上的 Agent 環境
本機演練場沙箱