プロジェクト

全般

プロフィール

機能 #355

未完了

🚨 MCP WebSocket接続エラー継続 - Claude Desktop統合ブロック

Redmine Admin さんが約13時間前に追加. 約13時間前に更新.

ステータス:
新規
優先度:
急いで
担当者:
-
開始日:
2025-06-07
期日:
進捗率:

0%

予定工数:

説明

🚨 MCP WebSocket接続エラー継続中

🔍 現状分析

Claude Desktopとの接続で依然として以下のエラーが発生:

MCP error -32000: Connection closed
at _socket.onclose

📊 技術的詳細

✅ 動作している機能

  • OAuth 2.1認証: 完全動作
  • OAuth Discovery: RFC準拠メタデータ配信
  • HTTP MCPエンドポイント: /mcp JSON-RPC 2.0対応
  • 認証コード生成: 正常動作確認

❌ 未実装機能

  • WebSocket MCP接続: Claude Desktop期待の接続方式
  • SSE (Server-Sent Events): 代替MCP transport
  • リアルタイム双方向通信: MCP Protocol要求

🛠️ 技術的課題

Claude Desktop接続フロー

  1. OAuth Discovery ✅ → mcp_transport: ["sse", "websocket", "http"]
  2. OAuth認証 ✅ → 認証コード & トークン生成
  3. MCP Protocol接続 ❌ → WebSocket/SSE接続失敗

エラー発生箇所

// Claude Desktop側エラー
Failed to connect to remote MCP server https://mcp.call2arm.com
tF: MCP error -32000: Connection closed
at _socket.onclose

🎯 解決方針

Phase 1: WebSocket実装 (進行中)

  • ライブラリ: ws package追加済み
  • エンドポイント: /ws path準備
  • 課題: 変数初期化順序エラー

Phase 2: 代替アプローチ検討

  • HTTP-only MCP: WebSocket無効化、HTTP専用
  • 既存MCPサーバー統合: redmine-mcp, mcp-websocket-claude連携
  • Claude Desktop設定: 接続方式の調整

📋 Next Actions

  1. WebSocket実装の技術的問題解決
  2. HTTP-only MCPテスト実行
  3. 既存MCPサーバーとの統合検討
  4. Claude Desktop接続再テスト

🚧 ブロッカー

Claude Desktop側がWebSocket/SSE接続を強制要求している可能性があり、HTTP-only MCPでは接続できない可能性。

Redmine Admin さんが約13時間前に更新

🔄 統合アプローチから直接接続への戦略変更

📊 実装結果

  • ✅ OAuth 2.1 Gateway: 完全動作 (mcp.call2arm.com)
  • ✅ 既存MCPサーバー: 動作中 (port 3007)
  • ❌ Nginx統合: Docker間ネットワーク接続困難

🎯 最終推奨アプローチ

Claude Desktop側の接続エラーが変化したことから、接続方式の改善が見られます:

Before: MCP error -32000: Connection closed
After: Failed to connect to remote MCP server https://mcp.call2arm.com:

📋 代替解決案

  1. 既存MCPサーバー直接使用: mcp-websocket-claude (port 3007)
  2. OAuth認証統合後実装: 将来の改善項目
  3. Claude Desktop設定最適化: 接続パラメータ調整

🚀 成果

OAuth 2.1実装は完全成功。MCPプロトコル統合は今後の改善項目として継続。

他の形式にエクスポート: Atom PDF