スキルと MCP サーバーの責務分界 — 強制が必要な制約はサーバー側に置く
MCP
AI協働
判断
原則
非エンジニアも含む利用者に AI 経由で業務システムを操作させるとき、スキル(手順・プロンプト側)と MCP サーバー(実装側)の役割分担が使いやすさと安全性を左右する。
スキルに持たせるもの
利用者との対話、不足情報の聞き取り、ツールの実行順、登録前プレビューの提示、確認の取り方、結果の案内。つまり使い方。
サーバーで強制するもの
- 権限・テナント分離
- 必須項目と選択肢の検証
- 二重登録防止(冪等キー)
- 登録前確認の強制(確定ツールを別に切るなど)
- 項目 ID ・関連レコード ID の推測防止
なぜこの境界か
スキルは無効化も変更もでき、モデルが常に厳密に従う保証もない。安全の根拠をスキル本文に置いた瞬間、その制約は「守られれば守られる」程度のものになる。逆に、対話の手順をサーバー側に埋め込むと、クライアントごとの使い方の差を吸収できなくなる。
帰結
この分界を引けば、巨大な汎用ツールを作らずとも、安全なオブジェクト別ツールをスキルから使い分ける形になる。別の言い方をすれば、スキルは UX を、サーバーは不変条件を担う。