unity-mcp/MCPForUnity/Editor/Clients
dsarno 17c6a36c8d
feat: Add beta server mode with PyPI pre-release support (#640)
* feat: add TestPyPI toggle for pre-release server package testing

- Add UseTestPyPI editor preference key
- Add TestPyPI toggle to Advanced settings UI with tooltip
- Configure uvx to use test.pypi.org when TestPyPI mode enabled
- Skip version pinning in TestPyPI mode to get latest pre-release
- Update ConfigJsonBuilder to handle TestPyPI index URL

* Update .meta file

* fix: Use PyPI pre-release versions instead of TestPyPI for beta server

TestPyPI has polluted packages (broken httpx, mcp, fastapi) that cause
server startup failures. Switch to publishing beta versions directly to
PyPI as pre-releases (e.g., 9.3.0b20260127).

Key changes:
- beta-release.yml: Publish to PyPI instead of TestPyPI, use beta suffix
- Use --prerelease explicit with version specifier (>=0.0.0a0) to only
  get prereleases of our package, not broken dependency prereleases
- Default "Use Beta Server" toggle to true on beta branch
- Rename UI label from "Use TestPyPI" to "Use Beta Server"
- Add UseTestPyPI to EditorPrefsWindow known prefs
- Add search field and refresh button to EditorPrefsWindow

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

* feat: Add beta mode indicator to UI badge and server version logging

- Show "β" suffix on version badge when beta server mode is enabled
- Badge updates dynamically when toggle changes
- Add server version to startup log: "MCP for Unity Server v9.2.0 starting up"
- Add version field to /health endpoint response

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

* refactor: Rename UseTestPyPI to UseBetaServer and fix EditorPrefs margin

- Rename EditorPref key from UseTestPyPI to UseBetaServer for clarity
- Rename all related variables and UXML element names
- Increase bottom margin on EditorPrefs search bar to prevent clipping first entry

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

* refactor: Address code review feedback

- Centralize beta server uvx args in AssetPathUtility.GetBetaServerFromArgs()
  to avoid duplication between HTTP and stdio transports
- Cache server version at startup instead of calling get_package_version()
  on every /health request
- Add robustness to beta version parsing in workflow: strip existing
  pre-release suffix and validate X.Y.Z format before parsing

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

* Prioritize explicit fromUrl override and optimize search filter

- GetBetaServerFromArgs/GetBetaServerFromArgsList now check for explicit
  GitUrlOverride before applying beta server mode, ensuring local dev
  paths and custom URLs are honored
- EditorPrefsWindow search filter uses IndexOf with OrdinalIgnoreCase
  instead of ToLowerInvariant().Contains() for fewer allocations

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

---------

Co-authored-by: Marcus Sanatan <msanatan@gmail.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-27 11:34:11 -08:00
..
Configurators feat: Add beta server mode with PyPI pre-release support (#640) 2026-01-27 11:34:11 -08:00
Configurators.meta Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
IMcpClientConfigurator.cs feat: improve editor window UI + add transport mismatch warning (#613) 2026-01-22 22:48:03 -08:00
IMcpClientConfigurator.cs.meta Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
McpClientConfiguratorBase.cs feat: improve editor window UI + add transport mismatch warning (#613) 2026-01-22 22:48:03 -08:00
McpClientConfiguratorBase.cs.meta Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00
McpClientRegistry.cs Asset store helper script + updated README (#521) 2026-01-07 01:33:20 -04:00
McpClientRegistry.cs.meta Simplify MCP client configs (#401) 2025-11-27 18:18:44 -04:00