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 推理。