AI News HubLIVE
站內改寫2 分鐘閱讀

Ocarina:用YAML自動化MCP伺服器,無需大語言模型

Ocarina 是一個自動化框架,允許使用者透過 YAML 指令碼驅動 MCP 伺服器,實現確定性、可重複的自動化工作流,無需 LLM 參與。它支援多伺服器、斷言、變數插值等功能,可作為 CI 健康檢查、測試和運維工具使用。

來源Hacker News AI作者: msradam

Ocarina 是一個專為 MCP(模型上下文協議)伺服器設計的自動化框架。它的核心思想是讓使用者編寫 YAML 格式的“播放手冊”(rondo),透過確定性執行來驅動一個或多個 MCP 伺服器上的工具呼叫,整個過程不依賴任何大語言模型,因此每次執行結果一致且無額外成本。

MCP 生態系統已經非常龐大,數千個伺服器透過型別化工具、可讀資源和模式檢查的合約暴露真實服務。Ocarina 利用這一特性,讓使用者無需從頭編寫程式碼,只需定義一個 YAML 指令碼,即可編排複雜的自動化工作流。這些工作流可以包含條件分支、迴圈、重試邏輯,並且能夠在不同的機器上覆現相同的結果。

Ocarina 的播放手冊由三個主要部分組成:keys 定義可複用的變數,server 指定要連線的 MCP 伺服器,rondo 則是具體步驟的列表。每個步驟可以呼叫工具、讀取資源、設定預期斷言(如包含、匹配、等於等),並將輸出捕獲為變數供後續步驟使用。這種設計使得自動化指令碼既清晰又強大,適合用於測試、監控和運維場景。

除了基本的執行功能,Ocarina 還提供了豐富的命令列工具:ocarina docs 生成伺服器的 Markdown 文件,ocarina play 執行播放手冊,ocarina validate 在不實際呼叫工具的情況下驗證指令碼的正確性,ocarina hum 直接呼叫單個工具,ocarina record 則透過代理模式即時記錄 MCP 客戶端的工具呼叫並生成播放手冊。這些工具共同構建了一個完整的自動化生態。

Ocarina 還支援多伺服器場景,透過 servers 對映不同 MCP 服務,並在步驟中透過 server 欄位指定目標。此外,它可以與 CI 系統無縫整合,如果任何斷言失敗,play 命令會返回非零退出碼,從而觸發告警。專案提供了多個實際示例,涵蓋 SQLite、GitHub、PostgreSQL、Docker、Elasticsearch、Playwright 等流行 MCP 伺服器,以及針對 DuckDB、Chrome DevTools、Blender 等專用場景的獨立倉庫。

Ocarina 使用 Go 語言編寫,採用 MIT 許可證,目前處於早期階段(v0.1.0),但已具備完整的功能集。無論是開發者還是運維人員,都可以利用它來構建可靠、可審計的自動化流程,而無需依賴昂貴的 LLM 推理。