原文(日本語に翻訳)
遅延ロード後にMCPサーバーがMCP管理ダイアログに表示されない問題を修正しました。
原文(英語)
Fixed MCP servers not appearing in the MCP Management Dialog after deferred loading
概要
MCP(Model Context Protocol)サーバーが遅延ロード(deferred loading)で起動する場合、MCP管理ダイアログを開いてもサーバーが一覧に表示されないUIのバグが修正されました。実際にはサーバーは動作しているにもかかわらず管理画面に表示されないため、状態確認や管理操作が行えない問題でした。修正後は遅延ロード後も正しく一覧に反映されます。
基本的な使い方
bash
# MCP サーバーの設定例(claude_desktop_config.json)
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"]
}
}
}
# Claude Code 起動後、MCP 管理ダイアログを開く
# 修正前: 遅延ロード中/後のサーバーが一覧に表示されない
# 修正後: すべてのサーバーが正しく表示される実践例
ユースケース1: MCP管理ダイアログでのサーバー確認
MCP管理ダイアログを使ってサーバーの状態を確認する場合。
bash
# Claude Code を起動
claude
# MCP 管理ダイアログを開く(スラッシュコマンドまたはメニューから)
> /mcp
# 修正前: 遅延ロードされたサーバーが表示されない
# MCPサーバー一覧:
# (空または一部のみ表示)
# 修正後: すべてのサーバーが表示される
# MCPサーバー一覧:
# ✓ filesystem (接続済み)
# ✓ github (接続済み)
# ✓ database (接続済み)ユースケース2: 複数MCPサーバーの管理
多数のMCPサーバーを設定している環境での確認。
bash
# 設定ファイルに複数のMCPサーバーを定義
cat ~/.config/claude/claude_desktop_config.json
# {
# "mcpServers": {
# "filesystem": { ... },
# "github": { ... },
# "slack": { ... },
# "jira": { ... },
# "postgres": { ... }
# }
# }
# Claude Code 起動後に管理ダイアログで全サーバーを確認
# 修正後: 遅延ロードが完了したサーバーから順次表示され
# 最終的に全5サーバーが一覧に表示されるユースケース3: サーバー状態のトラブルシューティング
MCPサーバーの接続問題を診断する場合。
bash
# MCP管理ダイアログで各サーバーの状態を確認
> /mcp
# 修正後の表示例:
# MCPサーバー管理
# ─────────────────────────────
# ✓ filesystem 接続済み [再起動] [停止]
# ✓ github 接続済み [再起動] [停止]
# ✗ slack 接続エラー [再起動] [詳細]
# ✓ postgres 接続済み [再起動] [停止]
# 遅延ロードされたサーバーも正しく表示されるため
# 問題のあるサーバーを特定しやすくなる注意点
- 遅延ロードとは、Claude Code起動時ではなく最初に使用するタイミングでMCPサーバーを起動する設定です
- サーバーがまだロード中の場合、管理ダイアログには「ロード中」状態で表示される場合があります
- この修正はMCP管理ダイアログの表示に関するものであり、MCPサーバー自体の動作には影響しません
- MCP設定ファイルの場所はOSによって異なります(macOS:
~/Library/Application Support/Claude/claude_desktop_config.json)