プロバイダーのサインアップとクライアントアクセスを分離する
ホスティングアカウントと、お客様の MCP エンドポイントを利用する人々は別のレイヤーです。最小限のホスティング登録は、公開書き込み可能なツールサーバーを正当化するものではありません。どのクライアントIDがどのツールを呼び出せるかを定義してください。
狭い権限の認証情報を発行する
用途を限定した個別に失効可能な認証情報を推奨します。非公開で保管し、定期的にローテーションし、URLやログに表示されないようにしてください。顧客のリソースや金銭に影響する操作を許可する前に、読み取り専用のツールセットを検討してください。
成果を可視化する
操作識別子とステータスを追跡してください。ツールのスキーマを検証し、キャンセルを処理し、再試行によって重大なアクションが意図せず繰り返されないようにしてください。承認が必要なアクションには明確な承認経路を用意してください。
存在するものだけを公開する
クライアントを接続する前に、サポートされているプロトコルバージョン、エンドポイント、認証、制限を確認してください。ホスト型のKoalaVPS MCPエンドポイントと公式ダウンロードパッケージは現在利用できません。
最小限のアカウントでも強力なアクセス制御を持てる
アイデンティティの最小化は、スコープを限定したAPI認証情報と認証済みのHTTPSエンドポイントと両立します。アカウントの復旧とクライアントの認可は区別して管理してください。メールアドレスはAPIアイデンティティを確立する唯一の方法ではありませんが、選択したプロセスには、キーの紛失やクライアントの侵害に対する明確な対応が必要です。
起動時の受け入れテスト
TLS、プロトコルネゴシエーション、スキーマ検証、限定スコープ、キャンセルを確認してください。重複した作成リクエストを試し、1 つの操作に解決されることを確認してください。資格情報の境界外にあるリソースへのリクエストを拒否してください。エラーやログにトークンやプライベートなツール入力が含まれていないことを確認してください。
公式ドキュメント: MCP の認可
各レイヤーごとに個別の ID マップを構築する
プロバイダーアカウント、支払いウォレット、MCPクライアントID、ツールサービス認証情報、ダウンストリームのAPIアカウントを、それぞれ異なるプリンシパルとして文書化してください。これらに1つの共有管理シークレットを与えると、失効と帰属の特定が難しくなります。最小限のプロバイダー登録では、公開エンドポイントのIPアドレス、DNS名、外部のAPI使用状況は隠せません。各境界でどのデータを最小化するかを選択し、どの記録が依然として必要かを説明してください。
- 各クライアントに狭く取り消し可能なアクセス経路を与え、許可されるリソースを明示してください。
- MCPサービスが別のAPIを呼び出す場合は、別個の認証情報を使用してください。クライアントのMCPアクセストークンは、汎用的な下流トークンではありません。
- 本番環境と実験用のワーカーは分離してください。特に、ツールが資金を支出したりメッセージを送信したりできる場合は重要です。
- サポートされるバージョンと検証済みエンドポイントは、存在してから初めて公開してください。KoalaVPSは現在、公開ホスト型のMCPサービスを運営していません。
公式ドキュメント: MCP:セキュリティのベストプラクティス
鍵の紛失とアクセス失効の演習を定義
使い捨てのクライアント認証情報を作成し、許可された読み取り操作を1回呼び出してから、その認証情報を取り消し、同じ呼び出しを繰り返します。キャッシュされた権限やアプリケーションリースが取り消しポリシーに従っていることを確認してください。クライアントが一度も所有したことのないリソースでも同様に繰り返します。完全なプロンプトやツール引数を保持せずに、結果の記録を保存してください。不正な呼び出しが成功した場合は、サーバー側のリソースチェックが修正されるまで、書き込みツールの付与を停止してください。
- プロトコルセッションやリクエスト識別子をユーザー本人確認の証拠として受け入れないでください。
- HTTP OAuth では、実際にデプロイするバージョンの文書化された 401/403 の動作とディスカバリーをテストしてください。
- 不明なツール引数を拒否し、結果サイズ、リクエスト時間、同時実行数を制限してください。
- ネットワーク中断をシミュレートした後に再試行をテストし、重要な操作を 2 つではなく 1 つ検証してください。
公式ドキュメント: MCP 2026-07-28:HTTP認可