Ocarina:YAMLでMCPサーバーを自動化、LLM不要
Ocarina は MCP サーバー向けの自動化フレームワークです。YAML のプレイブック(ロンド)を記述し、LLM を介さずに決定論的にツールを駆動します。マルチサーバー、アサーション、変数、ループ、分岐をサポート。CI ヘルスチェック、テスト、運用自動化に最適です。
Ocarina は MCP(モデルコンテキストプロトコル)サーバー向けの自動化フレームワークです。YAML 形式の「ロンド」(rondo)と呼ばれるプレイブックを記述し、大規模言語モデルを一切使用せずに決定論的にツールを実行します。これにより、毎回同じ結果が得られ、コストも発生しません。
MCP エコシステムはすでに数千のサーバーを擁し、型付けされたツール、読み取り可能なリソース、スキーマチェック付きのコントラクトを介して実際のサービスを公開しています。Ocarina はこれらのサーバーを統一的に操作するための自動化フレームワークです。YAML スクリプトで複数のサーバーにまたがるツール呼び出しを定義し、変数の受け渡し、条件分岐、ループ、リトライを記述できます。
ロンドは keys、server、rondo の3つのセクションで構成されます。keys は変数を定義し、server は接続先の MCP サーバーを指定、rondo は各ステップのリストです。各ステップではツール名、引数、エコー(出力の変数保存)、グラブ(JSON からの値抽出)、ループ、アサーション(期待値の検証)などを設定できます。アサーションには contains、matches、equals、is_error があり、これらが失敗すると play コマンドは非ゼロで終了するため、CI パイプラインでのヘルスチェックに最適です。
CLI ツールも充実しており、ocarina docs でサーバーのドキュメント生成、ocarina play でロンドの実行、ocarina validate で実際の呼び出しなしにスクリプトを検証、ocarina hum で単一ツールの呼び出し、ocarina record で MCP クライアントのセッションを記録してロンドを生成できます。また、.mcp.json ファイルを使用してサーバーに名前を付け、安全に認証情報を管理できます。
Ocarina は複数のサーバーを同時に扱うことも可能で、servers マップで定義し、各ステップで server フィールドにより使用するサーバーを指定します。現在、50以上の MCP サーバー向けの実用的なロンドの例が提供されており、SQLite、GitHub、PostgreSQL、Docker、Elasticsearch、Playwright、Yahoo Finance などをカバーしています。さらに、DuckDB、Chrome DevTools、Blender などの専用リポジトリも用意されています。
Ocarina は Go 言語で書かれており、MIT ライセンスで公開されています。バージョン v0.1.0 がリリースされており、Go 1.26 以降でビルド可能です。このフレームワークを使用することで、開発者や運用担当者は信頼性が高く、監査可能な自動化ワークフローを低コストで構築できます。