unity-mcp/MCPForUnity/Editor/Clients/Configurators
dsarno 6f3b869f3d
fix: speed up Claude Code config check by reading JSON directly (#682)
* fix: speed up Claude Code config check by reading JSON directly

Instead of running `claude mcp list` (15+ seconds due to health checks),
read the config directly from ~/.claude.json (instant).

Changes:
- Add ReadClaudeCodeConfig() to parse Claude's JSON config file
- Walk up directory tree to find config at parent directories
- Handle duplicate path entries (forward/backslash variants)
- Add beta/stable version mismatch detection with clear messages
- Add IsBetaPackageSource() to detect PyPI beta versions and prerelease ranges
- Change button label from "Register" to "Configure" for consistency

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: speed up Claude Code config check by reading JSON directly

Instead of running `claude mcp list` (15+ seconds due to health checks),
read the config directly from ~/.claude.json (instant).

Changes:
- Add ReadClaudeCodeConfig() to parse Claude's JSON config file
- Walk up directory tree to find config at parent directories
- Handle duplicate path entries (forward/backslash variants)
- Add beta/stable version mismatch detection with clear messages
- Add IsBetaPackageSource() to detect PyPI beta versions and prerelease ranges
- Change button label from "Register" to "Configure" for consistency
- Refresh client status when switching to Connect tab or toggling beta mode

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: add VersionMismatch status for Claude Code config detection

- Add McpStatus.VersionMismatch enum value for version mismatch cases
- Show "Version Mismatch" with yellow warning indicator instead of "Error"
- Use VersionMismatch for beta/stable package source mismatches
- Keep Error status for transport mismatches and general errors

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: add version mismatch warning banner in Server section

- Add version-mismatch-warning banner to McpConnectionSection.uxml
- Add UpdateVersionMismatchWarning method to show/hide the banner
- Fire OnClientConfigMismatch event when VersionMismatch status detected
- Wire up event in main window to update the warning banner
- Store mismatch details in configStatus for both Error and VersionMismatch

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: simplify version mismatch messages for non-technical users

Before: "Beta/stable mismatch: registered with beta 'mcpforunityserver>=0.0.0a0' but plugin is stable 'mcpforunityserver==9.4.0'."

After: "Configured for beta server, but 'Use Beta Server' is disabled in Advanced settings."

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: address PR review feedback

- Treat missing ~/.claude.json as "not configured" instead of error
  (distinguishes "no Claude Code installed" from actual read failures)
- Handle --from=VALUE format in ExtractPackageSourceFromConfig
  (in addition to existing --from VALUE format)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: add beta/stable version mismatch detection to all JSON-based clients

- Move GetExpectedPackageSourceForValidation() and IsBetaPackageSource()
  to base class so all configurators can use them
- Update JsonFileMcpConfigurator.CheckStatus() to use beta-aware comparison
- Show VersionMismatch status with clear messaging for Claude Desktop,
  Cursor, Windsurf, VS Code, and other JSON-based clients
- Auto-rewrite still attempts to fix mismatches automatically

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix: add beta-aware validation to CodexMcpConfigurator

CodexMcpConfigurator was still using the non-beta-aware package source
comparison. Now uses GetExpectedPackageSourceForValidation() and shows
VersionMismatch status with clear messaging like other configurators.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 14:48:44 -08:00
..
AntigravityConfigurator.cs Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
AntigravityConfigurator.cs.meta Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
CherryStudioConfigurator.cs Large Cleanup and Refactor + Many new Tests added (#642) 2026-01-29 02:47:36 -08:00
CherryStudioConfigurator.cs.meta .Meta file for CherryStudio 2026-01-04 12:38:40 -05:00
ClaudeCodeConfigurator.cs fix: speed up Claude Code config check by reading JSON directly (#682) 2026-02-03 14:48:44 -08:00
ClaudeCodeConfigurator.cs.meta Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
ClaudeDesktopConfigurator.cs Large Cleanup and Refactor + Many new Tests added (#642) 2026-01-29 02:47:36 -08:00
ClaudeDesktopConfigurator.cs.meta Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
CodeBuddyCliConfigurator.cs Add CodeBuddy CLI configurator (#403) 2025-11-27 21:17:09 -04:00
CodeBuddyCliConfigurator.cs.meta Add CodeBuddy CLI configurator (#403) 2025-11-27 21:17:09 -04:00
CodexConfigurator.cs Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
CodexConfigurator.cs.meta Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
CopilotCliConfigurator.cs Add GitHub Copilot CLI support to MCP client list and configurator (#641) 2026-01-30 12:55:57 -04:00
CopilotCliConfigurator.cs.meta Remote server auth (#644) 2026-01-30 18:39:21 -04:00
CursorConfigurator.cs Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
CursorConfigurator.cs.meta Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
KiloCodeConfigurator.cs feat: add Kilo Code configurator for AutoConfig support (#438) 2025-12-18 15:48:01 -04:00
KiloCodeConfigurator.cs.meta Add .meta files (#472) 2025-12-19 18:59:19 -04:00
KiroConfigurator.cs Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
KiroConfigurator.cs.meta Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
OpenCodeConfigurator.cs Large Cleanup and Refactor + Many new Tests added (#642) 2026-01-29 02:47:36 -08:00
OpenCodeConfigurator.cs.meta feat: Add beta server mode with PyPI pre-release support (#640) 2026-01-27 11:34:11 -08:00
RiderConfigurator.cs fix: Rider config path and add MCP registry manifest (#604) 2026-01-21 13:02:13 -08:00
RiderConfigurator.cs.meta Add .meta files (#472) 2025-12-19 18:59:19 -04:00
TraeConfigurator.cs Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
TraeConfigurator.cs.meta Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
VSCodeConfigurator.cs Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
VSCodeConfigurator.cs.meta Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
VSCodeInsidersConfigurator.cs Support GitHub Copilot in VSCode Insiders + robustness improvements and bug fixes (#425) 2025-12-04 11:41:01 -08:00
VSCodeInsidersConfigurator.cs.meta Add .meta files (#472) 2025-12-19 18:59:19 -04:00
WindsurfConfigurator.cs Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
WindsurfConfigurator.cs.meta Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00