veto について
vetoは、OpenAPI仕様をエージェントが利用できるAPIカタログに変換します。API利用を制御したいチーム向けで、検索・説明・実行の3つのツールを提供し、機密操作には人の承認を求められます。
主な機能
- 01OpenAPI仕様からAPIカタログを作成
- 02自然言語によるAPI検索
- 03スキーマと次の呼び出し候補の確認
- 04機密操作に対する人の承認
- 05CLI、スクリプト、Goクライアントから利用
活用シーン
- 01複数のAPIから適切なエンドポイントを探す
- 02宣言済みの関係をたどって別サービスを呼び出す
- 03削除前に呼び出し元とパラメーターを確認する
MCP 対応
vetoはOpenAPIカタログをMCPサーバーとして公開し、search、describe、invokeの3つのツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/aiveto/veto:0.1.13ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/aiveto/veto:0.1.13stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
API プラットフォーム全体を、MCP ツールはたった 3 つ。
API はすでに構築済みです。
OpenAPI 仕様を veto に渡します。エージェントが使えるツールは、検索、説明、実行の 3 つです。API 間のつながりは、あなたが指定します。削除は、人が承認するまで保留されます。
API を書き換える必要はありません。エージェントにエンドポイントごとのツールを与えることもありません。
実際に試す:Harbor のデモを実行。Mara の注文、顧客と請求書の関連付け、そして保留される削除を確認できます。
エンドポイントが 100 個でも、1,000 個でも。MCP ツールは 3 つのまま。
検索 → 説明 → 実行
- 検索。 自然言語で適切な API を見つけます。
- 説明。 スキーマと、次に呼び出すものを確認します。
- 実行。 組み込みの制御機能を使って実行します。
API カタログが増えても、エージェントが使うツールは変わりません。
API はつながっています。エージェントにもその関係を把握させましょう。
質問:「注文 123 をしたのは誰ですか?」
orders.get → customerId 7 → customers.get
Veto は、宣言された関連性を使って次の API 呼び出しを案内します。エンドポイントを推測することも、関連性をでっち上げることもありません。API カタログ全体をコンテキストに読み込む必要もありません。
エージェントは操作できます。制御権はあなたにあります。
質問:「注文 123 を削除してください。」
Veto は、呼び出し元、操作、パラメーターを正確に確認して人が承認するまで、操作を保留します。承認が必要な場合、承認なしでは操作を実行できません。
1 つの OpenAPI カタログ。複数の使い方。
| 目的 | Veto が提供するもの |
|---|---|
| エージェントを接続する | 検索、説明、実行 |
| ターミナルから使う | veto search、veto describe、veto invoke |
| スクリプトを書く | veto serve --json |
| Go から呼び出す | このランタイム用の生成されたクライアント 1 つで、すべての API を共有 |
| 別のサービスへのリンクをたどる | 平易な言葉で検索し、その後、記述したリンクをたどる |
| 機密性の高い呼び出しを止める | 人が呼び出し元、操作、パラメーターを正確に確認して承認 |
| 実行内容を確認する | 秘密情報を除いた実行記録 |
カタログは 1 つ。ランタイムも 1 つ。インターフェースをまたいでも動作は一貫しています。モジュールは github.com/aiveto/veto です。
はじめに
OpenAPI 仕様があれば、最初の MCP サーバーを起動するまであと 3 つのコマンドです。
brew install aiveto/veto/veto
veto init orders.yaml customers.yaml
veto serve --stdio
セットアップガイドに、Claude、Cursor、または ChatGPT 用の設定ブロックがあります。
Veto の動作を見る
Harbor は実際に動作するサンプルです。注文、顧客、請求、そしてそれらの関連付けに加え、保留される削除を確認できます。make demo で、まず CLI 経由、次に MCP 経由で実行します。
このリポジトリのローカルサンプルでは、モデル API キーは不要です:go run ./examples/two-apis。
API はすでにあります。エージェントがもっと便利に使えるようにしましょう。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。