本番環境でMCPサーバーを破損させるもの(MCPベストプラク... ノート

本番環境でMCPサーバーを破損させるもの(MCPベストプラクティス)

チームは、会社全体の分析、分析ゲートウェイ、およびAI-Lensと呼ばれるAIコーディングアシスタントツールのために、2つのマルチユーザーMCPサーバーを運用しています。本番環境での使用により、実行不可能なエラー、ユーザー切断、ツールの消失、および大きすぎる応答などの一般的な問題が明らかになりました。これらの繰り返し発生する問題により、リリースゲートチェックリストを備えた規範的なドキュメントであるmcp-server-standardが開発されました。重要な原則は、人間だけでなくモデルのためにエラーメッセージを設計し、実行可能な情報と提案された修正を提供することです。エラーメッセージはサーバーのAPIの一部であり、ツールスキーマと同様に堅牢である必要があります。必要なエラー情報をすべて一度に返すことで、モデルの無駄なターンを防ぎます。ツール記述やサーバーの指示で参照リストを提供することによりエラーを防ぐことも重要です。この標準は、MCPクライアントに非ローテーションリフレッシュトークンを推奨することでリフレッシュトークンのローテーションに対処し、ランダムなユーザーログアウトを防ぎます。サーバーの再デプロイは、クライアントの永続性が正しく処理されていれば、ユーザーセッションをドロップしないことを明確にしています。ツール定義の無効なJSONスキーマプロパティキーは、ツールリスト全体を失敗させる可能性があるため、これは起動時の不変チェックとして扱われます。応答の切り捨ては、クライアント側のエラーを防ぐために、行数とバイトサイズの両方を考慮する必要があります。モデルのセッション開始のための指示フィールドにも厳密なサイズ制限があります。mcp-server-standardは、OAuth、HTTPトランスポート、およびシークレットのマスキングを伴う集中化されたクエリ可能なロギングなどのコア要件を義務付けています。これは特定のツールではなくプロパティを課すため、柔軟なスタックの選択が可能になります。この標準はまた、ステートフルサーバーのゼロダウンタイムローリングデプロイの欠如など、その制限を正直に文書化しています。完全な標準は、明確な参照のために安定した要件IDを持つ10のセクションに編成されています。