Custom Tools を使うと、クライアントごとに SQL 文全体を毎回生成させる代わりに、SQL を裏側で実行する用途別の名前付き MCP 操作を公開できます。
公開済みツールは、認証済み MCP キーに紐付いたデータベースを対象に解決されます。サーバーは公開済み定義を読み込み、宣言された引数から設定済み SQL テンプレートをレンダリングし、ツール種別に応じて型付き Query ランタイムまたは型付き DML ランタイムへ処理を渡します。
ツール種別
現在の Custom Tool には、次の 2 種類の実行タイプがあります。
- Query — Query コンパイラ/ランタイム経由で実行し、シリアライズされた行を返します。
- DML — レンダリング済みの更新文を型付き DML ランタイムで解析し、組み込みの更新実行と同じ DML 承認フローに入ります。
未知のツール種別は拒否されます。
公開状態も「利用可能かどうか」の一部です
ランタイムが現在の MCP キーに紐付くデータベース向けに解決するのは、公開済みツールだけです。管理画面に存在していても、未公開のツールは MCP 名で呼び出せません。
これにより、編集・レビュー中の状態と、実際に MCP へ公開されているサーフェスを分離できます。
Custom でも統制は外れません
実行前に、プロキシはツールへのアクセス権とデータベースの紐付けを検証します。Query ツールには現在のセキュリティポリシー、テーブルホワイトリスト、SQL 同時実行制限が適用されます。DML ツールは型付き DML パーサーと TypedDmlApprovalFlow を使用し、テーブルホワイトリストの解決と人による承認も同様に適用されます。
実行時には監査イベントも記録されます。つまり Custom Tool は、同じ安全境界の内側で再利用できるインターフェースであり、その境界を抜けるための抜け道ではありません。
MCP キーへの公開
Custom Tool の名前は、組み込みツール名と同様に MCP キーの許可ツール一覧へ追加できます。ツールサーフェスを無制限にするのではなく、クライアントに必要な名前付きツールだけを公開することを推奨します。