桃子桃子 AI 快讯
返回首页
工具

开源工具 Ocarina:用 YAML 无需 LLM 即可自动化测试 MCP 服务器

开发者发布 Show HN 项目 Ocarina,通过类 Ansible playbook 的 YAML 脚本,无需调用…

2026.06.27 · 周六3 分钟阅读评分 38
评分细项加权总分 38
重要性
28
新颖性
60
影响面
22
可信度
50
实质性
40

Ansible 风格的 YAML 脚本,却是为 AI 时代的 MCP 协议而写。开发者近日在 Hacker News 上以「Show HN」形式发布了一款名为 Ocarina 的开源工具,主打「不调用大模型,就能自动化和测试 MCP 服务器」。该项目以 GitHub 形式公开,目前在 HN 仅获 2 个点赞、0 条评论,仍处于早期阶段。

什么是 Ocarina

Ocarina 面向的是 Model Context Protocol(MCP)服务器生态。开发者可以把它理解为 MCP 版的 Ansible:通过声明式 YAML 文件来描述对 MCP 服务器的操作步骤,从而绕开大模型这一中间层,直接对工具调用、资源读取进行可重复、可调试的执行。项目的核心理念是:当 MCP 生态不断扩张时,必须有一种不依赖 LLM 的方式去「直接驱动」这些服务器,以完成测试、回归验证和调试。

用「Rondo」替代 Playbook

Ocarina 引入了「Rondo」概念,对应 Ansible 中的 Playbook。一个 Rondo 本质上是一个 YAML 文档,描述启动哪台 MCP 服务器、按顺序调用哪些工具、传递哪些参数,以及如何从返回结果中抓取字段再传递给下一步。开发者只需在本地安装 Ocarina,再写一份 Rondo,就能像跑脚本一样执行整条 MCP 调用链路。

一个真实示例

官方 README 给出的样例针对 GitHub MCP 服务器,完整脚本大致如下:

  • 服务器配置:通过 npx -y @modelcontextprotocol/server-github 启动,并设置 ownerrepo 两个变量。
  • 第一步:调用 list_commits 工具获取最近提交列表,抓取返回数组的第一个元素的 sha 字段,存入变量 latest_sha
  • 第二步:调用 get_commit 工具,将上一步的 latest_sha 作为参数传入,再用 expect.contains 断言返回内容里包含字符串 feat

整个流程没有任何 LLM 参与,全部是「命令 + 参数 + 数据提取 + 断言」的组合,与传统接口测试框架体验非常接近。

它解决的问题与边界

对正在构建或维护 MCP 服务器的工程师来说,Ocarina 提供了一种轻量的本地验证手段:既可以在 CI 里跑回归,也可以在调试时一步步观察每次工具调用的输入输出,避免每次都启动一个昂贵的 LLM 客户端。项目作者在帖子中表示,自己已经在工作中使用 Ocarina 来测试自家 MCP 服务器,并附带了一个 Blender 相关的演示示例。

不过需要指出的是,Ocarina 并不能取代真正的端到端测试——它本质上只验证「MCP 服务器本身是否正确响应」,而不涉及 LLM 编排、Prompt 设计或 Agent 行为评估。对大多数 AI 开发者而言,它更像一款 MCP 协议层的「集成测试夹具」。从 HN 的反响来看,Ocarina 目前仍是社区中的小型工具,距离成为标准实践还有相当距离。

信源