diff --git a/MCPForUnity/Editor/Dependencies/PlatformDetectors/LinuxPlatformDetector.cs b/MCPForUnity/Editor/Dependencies/PlatformDetectors/LinuxPlatformDetector.cs index 4ace9756..f654612c 100644 --- a/MCPForUnity/Editor/Dependencies/PlatformDetectors/LinuxPlatformDetector.cs +++ b/MCPForUnity/Editor/Dependencies/PlatformDetectors/LinuxPlatformDetector.cs @@ -97,7 +97,7 @@ public override string GetInstallationRecommendations() - Run: curl -LsSf https://astral.sh/uv/install.sh | sh - Or download from: https://github.com/astral-sh/uv/releases -3. MCP Server: Will be installed automatically by Unity MCP Bridge +3. MCP Server: Will be installed automatically by MCP for Unity Note: Make sure ~/.local/bin is in your PATH for user-local installations."; } diff --git a/MCPForUnity/Editor/Dependencies/PlatformDetectors/MacOSPlatformDetector.cs b/MCPForUnity/Editor/Dependencies/PlatformDetectors/MacOSPlatformDetector.cs index c89e7cb9..c9d152d8 100644 --- a/MCPForUnity/Editor/Dependencies/PlatformDetectors/MacOSPlatformDetector.cs +++ b/MCPForUnity/Editor/Dependencies/PlatformDetectors/MacOSPlatformDetector.cs @@ -98,7 +98,7 @@ public override string GetInstallationRecommendations() - Curl: curl -LsSf https://astral.sh/uv/install.sh | sh - Homebrew: brew install uv -3. MCP Server: Will be installed automatically by Unity MCP Bridge +3. MCP Server: Will be installed automatically by MCP for Unity Bridge Note: If using Homebrew, make sure /opt/homebrew/bin is in your PATH."; } diff --git a/MCPForUnity/Editor/Dependencies/PlatformDetectors/WindowsPlatformDetector.cs b/MCPForUnity/Editor/Dependencies/PlatformDetectors/WindowsPlatformDetector.cs index bd9c6f03..7891c6e3 100644 --- a/MCPForUnity/Editor/Dependencies/PlatformDetectors/WindowsPlatformDetector.cs +++ b/MCPForUnity/Editor/Dependencies/PlatformDetectors/WindowsPlatformDetector.cs @@ -101,7 +101,7 @@ public override string GetInstallationRecommendations() - Run: powershell -ExecutionPolicy ByPass -c ""irm https://astral.sh/uv/install.ps1 | iex"" - Or download from: https://github.com/astral-sh/uv/releases -3. MCP Server: Will be installed automatically by Unity MCP Bridge"; +3. MCP Server: Will be installed automatically by MCP for Unity Bridge"; } private bool TryValidatePython(string pythonPath, out string version, out string fullPath) diff --git a/MCPForUnity/Editor/Services/IBridgeControlService.cs b/MCPForUnity/Editor/Services/IBridgeControlService.cs index 21952c37..6233ed77 100644 --- a/MCPForUnity/Editor/Services/IBridgeControlService.cs +++ b/MCPForUnity/Editor/Services/IBridgeControlService.cs @@ -1,7 +1,7 @@ namespace MCPForUnity.Editor.Services { /// - /// Service for controlling the Unity MCP Bridge connection + /// Service for controlling the MCP for Unity Bridge connection /// public interface IBridgeControlService { @@ -21,12 +21,12 @@ public interface IBridgeControlService bool IsAutoConnectMode { get; } /// - /// Starts the Unity MCP Bridge + /// Starts the MCP for Unity Bridge /// void Start(); /// - /// Stops the Unity MCP Bridge + /// Stops the MCP for Unity Bridge /// void Stop(); diff --git a/MCPForUnity/Editor/Services/IClientConfigurationService.cs b/MCPForUnity/Editor/Services/IClientConfigurationService.cs index 07af087b..e6474249 100644 --- a/MCPForUnity/Editor/Services/IClientConfigurationService.cs +++ b/MCPForUnity/Editor/Services/IClientConfigurationService.cs @@ -28,12 +28,12 @@ public interface IClientConfigurationService bool CheckClientStatus(McpClient client, bool attemptAutoRewrite = true); /// - /// Registers Unity MCP with Claude Code CLI + /// Registers MCP for Unity with Claude Code CLI /// void RegisterClaudeCode(); /// - /// Unregisters Unity MCP from Claude Code CLI + /// Unregisters MCP for Unity from Claude Code CLI /// void UnregisterClaudeCode(); diff --git a/MCPForUnity/UnityMcpServer~/src/telemetry.py b/MCPForUnity/UnityMcpServer~/src/telemetry.py index bfcfe76a..f7bfee78 100644 --- a/MCPForUnity/UnityMcpServer~/src/telemetry.py +++ b/MCPForUnity/UnityMcpServer~/src/telemetry.py @@ -1,5 +1,5 @@ """ -Privacy-focused, anonymous telemetry system for Unity MCP +Privacy-focused, anonymous telemetry system for MCP for Unity Inspired by Onyx's telemetry implementation with Unity-specific adaptations Fire-and-forget telemetry sender with a single background worker. @@ -328,7 +328,7 @@ def _send_telemetry(self, record: TelemetryRecord): "customer_uuid": record.customer_uuid, "session_id": record.session_id, "data": enriched_data, - "version": "3.0.2", # Unity MCP version + "version": "3.0.2", # MCP for Unity version "platform": _platform, "source": _source, } diff --git a/MCPForUnity/UnityMcpServer~/src/telemetry_decorator.py b/MCPForUnity/UnityMcpServer~/src/telemetry_decorator.py index 7e892809..4683a50a 100644 --- a/MCPForUnity/UnityMcpServer~/src/telemetry_decorator.py +++ b/MCPForUnity/UnityMcpServer~/src/telemetry_decorator.py @@ -1,5 +1,5 @@ """ -Telemetry decorator for Unity MCP tools +Telemetry decorator for MCP for Unity tools """ import functools diff --git a/MCPForUnity/UnityMcpServer~/src/test_telemetry.py b/MCPForUnity/UnityMcpServer~/src/test_telemetry.py index 145f14e1..3e4b7ce7 100644 --- a/MCPForUnity/UnityMcpServer~/src/test_telemetry.py +++ b/MCPForUnity/UnityMcpServer~/src/test_telemetry.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 """ -Test script for Unity MCP Telemetry System +Test script for MCP for Unity Telemetry System Run this to verify telemetry is working correctly """ diff --git a/MCPForUnity/UnityMcpServer~/src/tools/resource_tools.py b/MCPForUnity/UnityMcpServer~/src/tools/resource_tools.py index a8398f75..f28fc589 100644 --- a/MCPForUnity/UnityMcpServer~/src/tools/resource_tools.py +++ b/MCPForUnity/UnityMcpServer~/src/tools/resource_tools.py @@ -208,7 +208,7 @@ async def read_resource( if uri in ("unity://spec/script-edits", "spec/script-edits", "script-edits"): spec_json = ( '{\n' - ' "name": "Unity MCP - Script Edits v1",\n' + ' "name": "MCP for Unity - Script Edits v1",\n' ' "target_tool": "script_apply_edits",\n' ' "canonical_rules": {\n' ' "always_use": ["op","className","methodName","replacement","afterMethodName","beforeMethodName"],\n' diff --git a/MCPForUnity/UnityMcpServer~/src/unity_connection.py b/MCPForUnity/UnityMcpServer~/src/unity_connection.py index f688da34..184ac917 100644 --- a/MCPForUnity/UnityMcpServer~/src/unity_connection.py +++ b/MCPForUnity/UnityMcpServer~/src/unity_connection.py @@ -84,19 +84,19 @@ def connect(self) -> bool: if 'FRAMING=1' in text: self.use_framing = True logger.debug( - 'Unity MCP handshake received: FRAMING=1 (strict)') + 'MCP for Unity handshake received: FRAMING=1 (strict)') else: if require_framing: # Best-effort plain-text advisory for legacy peers with contextlib.suppress(Exception): self.sock.sendall( - b'Unity MCP requires FRAMING=1\n') + b'MCP for Unity requires FRAMING=1\n') raise ConnectionError( - f'Unity MCP requires FRAMING=1, got: {text!r}') + f'MCP for Unity requires FRAMING=1, got: {text!r}') else: self.use_framing = False logger.warning( - 'Unity MCP handshake missing FRAMING=1; proceeding in legacy mode by configuration') + 'MCP for Unity handshake missing FRAMING=1; proceeding in legacy mode by configuration') finally: self.sock.settimeout(config.connection_timeout) return True diff --git a/README-zh.md b/README-zh.md index f047bef2..fee06629 100644 --- a/README-zh.md +++ b/README-zh.md @@ -299,7 +299,7 @@ MCP for Unity 使用与 Unity 的 C# 脚本绑定的 Python MCP 服务器来实 ## 📊 遥测和隐私 -Unity MCP 包含**注重隐私的匿名遥测**来帮助我们改进产品。我们收集使用分析和性能数据,但**绝不**收集您的代码、项目名称或个人信息。 +MCP for Unity 包含**注重隐私的匿名遥测**来帮助我们改进产品。我们收集使用分析和性能数据,但**绝不**收集您的代码、项目名称或个人信息。 - **🔒 匿名**:仅随机 UUID,无个人数据 - **🚫 轻松退出**:设置 `DISABLE_TELEMETRY=true` 环境变量 diff --git a/README.md b/README.md index 71e055c1..0080a728 100644 --- a/README.md +++ b/README.md @@ -302,7 +302,7 @@ Help make MCP for Unity better! ## 📊 Telemetry & Privacy -Unity MCP includes **privacy-focused, anonymous telemetry** to help us improve the product. We collect usage analytics and performance data, but **never** your code, project names, or personal information. +MCP for Unity includes **privacy-focused, anonymous telemetry** to help us improve the product. We collect usage analytics and performance data, but **never** your code, project names, or personal information. - **🔒 Anonymous**: Random UUIDs only, no personal data - **🚫 Easy opt-out**: Set `DISABLE_TELEMETRY=true` environment variable @@ -354,10 +354,10 @@ MIT License. See [LICENSE](LICENSE) file. ## Unity AI Tools by Coplay Coplay has built 2 AI tools for Unity -- **Unity MCP** is available freely under the MIT license. -- **Coplay** is a premium Unity AI assistant that sits within Unity and is more than the Unity MCP. +- **MCP for Unity** is available freely under the MIT license. +- **Coplay** is a premium Unity AI assistant that sits within Unity and is more than the MCP for Unity. -(These tools have different tech stacks. See this blog post [comparing Coplay to Unity MCP](https://www.coplay.dev/blog/comparing-coplay-and-unity-mcp).) +(These tools have different tech stacks. See this blog post [comparing Coplay to MCP for Unity](https://www.coplay.dev/blog/comparing-coplay-and-unity-mcp).) ## Disclaimer diff --git a/docs/CUSTOM_TOOLS.md b/docs/CUSTOM_TOOLS.md index 26614a2b..d0397295 100644 --- a/docs/CUSTOM_TOOLS.md +++ b/docs/CUSTOM_TOOLS.md @@ -1,6 +1,6 @@ -# Adding Custom Tools to Unity MCP +# Adding Custom Tools to MCP for Unity -Unity MCP now supports auto-discovery of custom tools using decorators (Python) and attributes (C#). This allows you to easily extend the MCP server with your own tools without modifying core files. +MCP for Unity now supports auto-discovery of custom tools using decorators (Python) and attributes (C#). This allows you to easily extend the MCP server with your own tools without modifying core files. Be sure to review the developer README first: diff --git a/docs/README-DEV-zh.md b/docs/README-DEV-zh.md index f299a1b5..ab6061f2 100644 --- a/docs/README-DEV-zh.md +++ b/docs/README-DEV-zh.md @@ -105,7 +105,7 @@ X:\UnityProject\Library\PackageCache\com.coplaydev.unity-mcp@272123cfd97e - `tools/stress_mcp.py` ### 作用 -- 对 Unity MCP bridge 启动 N 个 TCP 客户端(默认端口从 `~/.unity-mcp/unity-mcp-status-*.json` 自动发现)。 +- 对 MCP for Unity bridge 启动 N 个 TCP 客户端(默认端口从 `~/.unity-mcp/unity-mcp-status-*.json` 自动发现)。 - 发送轻量级帧 `ping` 保活以维持并发。 - 并行地,使用 `manage_script.apply_text_edits` 向目标 C# 文件追加唯一标记注释: - `options.refresh = "immediate"` 立即强制导入/编译(触发域重载),以及 @@ -181,7 +181,7 @@ python3 tools/stress_mcp.py \ - 工件:`claude-nl-suite-artifacts` 包含 XML 和 MD。 ### MCP 连接调试 -- *在 Unity MCP 窗口(编辑器内)启用调试日志* 以查看连接状态、自动设置结果和 MCP 客户端路径。它显示: +- *在 MCP for Unity 窗口(编辑器内)启用调试日志* 以查看连接状态、自动设置结果和 MCP 客户端路径。它显示: - bridge 启动/端口、客户端连接、严格帧协商和解析的帧 - 自动配置路径检测(Windows/macOS/Linux)、uv/claude 解析和显示的错误 - 在 CI 中,如果启动失败,作业会尾随 Unity 日志(序列号/许可证/密码/令牌已编辑)并打印套接字/状态 JSON 诊断。 diff --git a/docs/README-DEV.md b/docs/README-DEV.md index d1ef4e46..572eea05 100644 --- a/docs/README-DEV.md +++ b/docs/README-DEV.md @@ -105,7 +105,7 @@ An on-demand stress utility exercises the MCP bridge with multiple concurrent cl - `tools/stress_mcp.py` ### What it does -- Starts N TCP clients against the Unity MCP bridge (default port auto-discovered from `~/.unity-mcp/unity-mcp-status-*.json`). +- Starts N TCP clients against the MCP for Unity bridge (default port auto-discovered from `~/.unity-mcp/unity-mcp-status-*.json`). - Sends lightweight framed `ping` keepalives to maintain concurrency. - In parallel, appends a unique marker comment to a target C# file using `manage_script.apply_text_edits` with: - `options.refresh = "immediate"` to force an import/compile immediately (triggers domain reload), and @@ -181,7 +181,7 @@ We provide a CI job to run a Natural Language Editing suite against the Unity te - Artifacts: `claude-nl-suite-artifacts` includes XML and MD. ### MCP Connection Debugging -- *Enable debug logs* in the Unity MCP window (inside the Editor) to view connection status, auto-setup results, and MCP client paths. It shows: +- *Enable debug logs* in the MCP for Unity window (inside the Editor) to view connection status, auto-setup results, and MCP client paths. It shows: - bridge startup/port, client connections, strict framing negotiation, and parsed frames - auto-config path detection (Windows/macOS/Linux), uv/claude resolution, and surfaced errors - In CI, the job tails Unity logs (redacted for serial/license/password/token) and prints socket/status JSON diagnostics if startup fails. diff --git a/docs/TELEMETRY.md b/docs/TELEMETRY.md index f424ed46..63502dce 100644 --- a/docs/TELEMETRY.md +++ b/docs/TELEMETRY.md @@ -1,6 +1,6 @@ -# Unity MCP Telemetry +# MCP for Unity Telemetry -Unity MCP includes privacy-focused, anonymous telemetry to help us improve the product. This document explains what data is collected, how to opt out, and our privacy practices. +MCP for Unity includes privacy-focused, anonymous telemetry to help us improve the product. This document explains what data is collected, how to opt out, and our privacy practices. ## 🔒 Privacy First @@ -38,7 +38,7 @@ Set any of these environment variables to `true`: # Disable all telemetry export DISABLE_TELEMETRY=true -# Unity MCP specific +# MCP for Unity specific export UNITY_MCP_DISABLE_TELEMETRY=true # MCP protocol wide @@ -175,4 +175,4 @@ Notice: --- -*Unity MCP Telemetry is designed to respect your privacy while helping us build a better tool. Thank you for helping improve Unity MCP!* \ No newline at end of file +*MCP for Unity Telemetry is designed to respect your privacy while helping us build a better tool. Thank you for helping improve MCP for Unity!* diff --git a/tests/test_logging_stdout.py b/tests/test_logging_stdout.py index c69e1af3..4b40a9ac 100644 --- a/tests/test_logging_stdout.py +++ b/tests/test_logging_stdout.py @@ -14,7 +14,7 @@ if SRC is None: searched = "\n".join(str(p) for p in candidates) pytest.skip( - "Unity MCP server source not found. Tried:\n" + searched, + "MCP for Unity server source not found. Tried:\n" + searched, allow_module_level=True, ) diff --git a/tests/test_manage_script_uri.py b/tests/test_manage_script_uri.py index 3d693baa..7f05f8e1 100644 --- a/tests/test_manage_script_uri.py +++ b/tests/test_manage_script_uri.py @@ -16,7 +16,7 @@ if SRC is None: searched = "\n".join(str(p) for p in candidates) pytest.skip( - "Unity MCP server source not found. Tried:\n" + searched, + "MCP for Unity server source not found. Tried:\n" + searched, allow_module_level=True, ) sys.path.insert(0, str(SRC)) diff --git a/tests/test_resources_api.py b/tests/test_resources_api.py index 94243e34..7d2f7803 100644 --- a/tests/test_resources_api.py +++ b/tests/test_resources_api.py @@ -17,7 +17,7 @@ if SRC is None: searched = "\n".join(str(p) for p in candidates) pytest.skip( - "Unity MCP server source not found. Tried:\n" + searched, + "MCP for Unity server source not found. Tried:\n" + searched, allow_module_level=True, ) sys.path.insert(0, str(SRC)) diff --git a/tests/test_telemetry_subaction.py b/tests/test_telemetry_subaction.py index 18ece981..8c0489ee 100644 --- a/tests/test_telemetry_subaction.py +++ b/tests/test_telemetry_subaction.py @@ -2,7 +2,7 @@ def _get_decorator_module(): - # Import the telemetry_decorator module from the Unity MCP server src + # Import the telemetry_decorator module from the MCP for Unity server src mod = importlib.import_module( "MCPForUnity.UnityMcpServer~.src.telemetry_decorator") return mod diff --git a/tests/test_transport_framing.py b/tests/test_transport_framing.py index 765a05a4..a9a3158e 100644 --- a/tests/test_transport_framing.py +++ b/tests/test_transport_framing.py @@ -20,7 +20,7 @@ if SRC is None: searched = "\n".join(str(p) for p in candidates) pytest.skip( - "Unity MCP server source not found. Tried:\n" + searched, + "MCP for Unity server source not found. Tried:\n" + searched, allow_module_level=True, ) sys.path.insert(0, str(SRC)) diff --git a/tools/stress_mcp.py b/tools/stress_mcp.py index 47b1675c..437e691f 100644 --- a/tools/stress_mcp.py +++ b/tools/stress_mcp.py @@ -312,7 +312,7 @@ async def reload_churn_task(project_path: str, stop_time: float, unity_file: str async def main(): ap = argparse.ArgumentParser( - description="Stress test the Unity MCP bridge with concurrent clients and reload churn") + description="Stress test MCP for Unity with concurrent clients and reload churn") ap.add_argument("--host", default="127.0.0.1") ap.add_argument("--project", default=str( Path(__file__).resolve().parents[1] / "TestProjects" / "UnityMCPTests"))