7件のMCPゲートウェイバグ:セッション漏洩、デッドSSE、およびゲートウェイモードのOAuth

ハッピーパスのデモの後、Redditユーザーが実際のクライアントとサーバーの間にMCPゲートウェイを配置した際に、7つの特定のバグに遭遇した。修正はプロンプトエンジニアリングではなく、明示的なセッション境界、ツールごとのタイムアウト、冪等性、構造化されたアクションログ、ゲートウェイレベルのトレース、同時ツール呼び出しに対するテストだった。その結果、並行ツールの壁時間が大幅に削減されたが、より大きな成果は障害がどこにあるかがわかったことだ。
実際に重要だった7つのバグ
- セッション状態がクライアント間で漏れる — セッション間で状態が共有され、データ汚染が発生。
- SSE接続が静かに切断される — サーバー送信イベントの接続が切れたときにエラーが表面化しなかった。
- ローカルテストでは動作するOAuthフローがゲートウェイモードで壊れる — リダイレクトURIやトークン検証がプロキシの背後で失敗。
- ディスカバリープローブが古いサーバーメタデータを返す — キャッシュされた機能がサーバーの更新を反映していなかった。
- SQLiteの書き込みが並行ツール呼び出しをブロックする — データベースロックが同時リクエストを直列化。
- リトライロジックがツールの副作用を重複させる — リトライが書き込みやAPI呼び出しなどのミューテーションを再実行。
- ツールのレイテンシがモデル呼び出しではなくゲートウェイ内に隠れる — モニタリングが時間を誤ったレイヤーに帰属。
修正:より良いプロンプトではなく、堅実なインフラ
著者の各バグへのアプローチ:
- 明示的なセッション境界 — クライアントごとに別々の状態、共有オブジェクトなし。
- ツールごとのタイムアウトポリシー — 個別のタイムアウトで、1つの遅いツールが他を妨げないようにする。
- 可能な限りの冪等性 — 重複排除キーやトランザクション動作でリトライを安全に。
- 構造化されたアクションログ — デバッグ用に、すべてのゲートウェイアクションの詳細で解析可能なログ。
- ゲートウェイレベルのトレース — 分散トレーシングでレイテンシを正しくレイヤーに割り当て。
- 同時ツール呼び出しに対するテスト — 並行リクエストを発行して競合状態を表面化する統合テスト。
これらは、本番環境でMCPゲートウェイを運用するすべての人にとって具体的で実践的なパターンである。この投稿の重要な洞察:難しい問題は、状態の分離、静かな障害、および観測可能性であり、モデルのプロンプトではない。
📖 Read the full source: r/ClaudeAI
👀 See Also

Claude AIユーザー、一般的なプロンプトではなく文脈を提供することでより良い結果を得る
Redditでの議論によると、Claude AIで実際の仕事をこなしているユーザーは、それを検索エンジンのように扱うのではなく、自分の状況、試したこと、理想的な結果、避けるべきことについて具体的なコンテキストを提供していることが明らかになりました。

コーディング前にAIでプロジェクトチケットを生成することで、スコープドリフトを軽減できます
開発者が、コードを書く前にAIに詳細なプロジェクトチケット(タスク、サブタスク、範囲、受け入れ基準を含む)を生成させることで、スコープクリープや大きな差分を大幅に削減できたと報告しています。各AIエージェントは全体計画ではなく、特定のサブタスクのみを受け取ります。

Claude Codeの100万トークンコンテキストウィンドウを無効にしてトークン使用量を削減する方法
Anthropicユーザーは、settings.jsonに環境変数を追加することでClaude Codeの1Mコンテキストウィンドウを無効にでき、予期せぬトークン消費を減らせる可能性があります。ソースでは、1Mコンテキストを完全に無効にするか、自動圧縮ウィンドウに上限を設ける2つの設定オプションが提供されています。

Codexで構築、OpenClawで実行:実用的な分割が機能する
ある開発者が、OpenClawのフラストレーションを突破した方法を共有。自動化ロジックはCodexで構築し、OpenClawは純粋に実行レイヤーとして使用。さらに、Apple MessagesをCarPlay経由で使うことで、まるでJarvisのようなアシスタントに近づいたと語る。