Skip to content

UX改善: MCPツール読み込み時の逐次表示 #63

@breaking-brake

Description

@breaking-brake

問題

現在、MCPノードダイアログでサーバーを選択してツールを読み込む際、全てのツールが読み込まれるまで何も表示されません。ツール数が多い場合、ユーザーは待機中に何が起きているか分からず、UXが悪い状態です。

期待される動作

ツールが1つ読み込まれるたびに、そのツールをUIに表示することで、ユーザーに進捗状況を伝える。

実装案

以下のいずれかのアプローチが考えられます:

案1: ローディングスケルトン表示

  • 実装難易度: 低
  • 内容: 読み込み中にツールカードのスケルトン(グレーの枠)を表示
  • 利点: 実装が簡単、Extension側の変更不要

案2: プログレスバー表示

  • 実装難易度: 中
  • 内容: 「3/10 tools loaded」のような進捗バーを表示
  • 利点: 正確な進捗状況を表示可能
  • 欠点: Extension側でストリーミング送信が必要

案3: 逐次的な表示

  • 実装難易度: 高
  • 内容: Extension側で1ツールずつメッセージ送信、Webview側で受信次第追加表示
  • 利点: 最も滑らかなUX
  • 欠点: Extension-Webview間のメッセージプロトコル変更が必要

案4: タイムアウト通知のみ

  • 実装難易度: 最小
  • 内容: 読み込みが遅い場合のみ「読み込み中...しばらくお待ちください」メッセージを表示
  • 利点: 最小限の変更で済む

関連ファイル

  • src/webview/src/components/mcp/McpToolList.tsx (UI表示部分)
  • src/extension/commands/mcp-handlers.ts (Extension側のツール取得処理)
  • src/webview/src/services/mcp-service.ts (Webview側のサービス)

Feature

001-mcp-node

Priority

Low (UX改善、機能的には問題なし)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions