mcpField
V
veto

veto

ローカル
github.com開発ツール16 日前に更新

veto について

vetoは、OpenAPI仕様をエージェントが利用できるAPIカタログに変換します。API利用を制御したいチーム向けで、検索・説明・実行の3つのツールを提供し、機密操作には人の承認を求められます。

主な機能

  1. 01OpenAPI仕様からAPIカタログを作成
  2. 02自然言語によるAPI検索
  3. 03スキーマと次の呼び出し候補の確認
  4. 04機密操作に対する人の承認
  5. 05CLI、スクリプト、Goクライアントから利用

活用シーン

  1. 01複数のAPIから適切なエンドポイントを探す
  2. 02宣言済みの関係をたどって別サービスを呼び出す
  3. 03削除前に呼び出し元とパラメーターを確認する

MCP 対応

vetoはOpenAPIカタログをMCPサーバーとして公開し、search、describe、invokeの3つのツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"aiveto-veto": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/aiveto/veto:0.1.13"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/aiveto/veto:0.1.13

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/aiveto/veto:0.1.13

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

API プラットフォーム全体を、MCP ツールはたった 3 つ。

API はすでに構築済みです。

OpenAPI 仕様を veto に渡します。エージェントが使えるツールは、検索、説明、実行の 3 つです。API 間のつながりは、あなたが指定します。削除は、人が承認するまで保留されます。

API を書き換える必要はありません。エージェントにエンドポイントごとのツールを与えることもありません。

veto init が OpenAPI 仕様を読み込みます。顧客と請求書の関連付けを指定します。scrap は注文の削除を意味します。Claude、Cursor、または ChatGPT が検索、説明、実行を利用します。注文 10482 は Mara Ellison のもので、ウールのコート 1 着と杉のトレー 2 枚、合計 $556 です。請求書は支払い済みです。注文を scrap すると、呼び出しは保留されます。注文はまだ残っています。

実際に試す: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 はすでにあります。エージェントがもっと便利に使えるようにしましょう。

はじめに · デモを試す · ソースを見る

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。