Update to support Trae (#337)
parent
558f9232d3
commit
d4214cefa7
|
|
@ -133,6 +133,34 @@ namespace MCPForUnity.Editor.Data
|
|||
mcpType = McpTypes.VSCode,
|
||||
configStatus = "Not Configured",
|
||||
},
|
||||
// Trae IDE
|
||||
new()
|
||||
{
|
||||
name = "Trae",
|
||||
// Windows: %AppData%\Trae\mcp.json
|
||||
windowsConfigPath = Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
|
||||
"Trae",
|
||||
"mcp.json"
|
||||
),
|
||||
// macOS: ~/Library/Application Support/Trae/mcp.json
|
||||
macConfigPath = Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
|
||||
"Library",
|
||||
"Application Support",
|
||||
"Trae",
|
||||
"mcp.json"
|
||||
),
|
||||
// Linux: ~/.config/Trae/mcp.json
|
||||
linuxConfigPath = Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
|
||||
".config",
|
||||
"Trae",
|
||||
"mcp.json"
|
||||
),
|
||||
mcpType = McpTypes.Trae,
|
||||
configStatus = "Not Configured",
|
||||
},
|
||||
// 3) Kiro
|
||||
new()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -9,5 +9,6 @@ namespace MCPForUnity.Editor.Models
|
|||
Kiro,
|
||||
VSCode,
|
||||
Windsurf,
|
||||
Trae,
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -459,6 +459,16 @@ namespace MCPForUnity.Editor.Services
|
|||
" OR manually run: claude mcp add UnityMCP\n" +
|
||||
"3. Restart Claude Code",
|
||||
|
||||
McpTypes.Trae =>
|
||||
"1. Open Trae and go to Settings > MCP\n" +
|
||||
"2. Select Add Server > Add Manually\n" +
|
||||
"3. Paste the JSON or point to the mcp.json file\n" +
|
||||
" Windows: %AppData%\\Trae\\mcp.json\n" +
|
||||
" macOS: ~/Library/Application Support/Trae/mcp.json\n" +
|
||||
" Linux: ~/.config/Trae/mcp.json\n" +
|
||||
"4. For local servers, Node.js (npx) or uvx must be installed\n" +
|
||||
"5. Save and restart Trae",
|
||||
|
||||
_ => "Configuration steps not available for this client."
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -108,6 +108,13 @@ namespace MCPForUnity.Editor.Windows
|
|||
instructionStyle
|
||||
);
|
||||
}
|
||||
else if (mcpClient?.mcpType == McpTypes.Trae)
|
||||
{
|
||||
EditorGUILayout.LabelField(
|
||||
" a) Going to Settings > MCP > Add Server > Add Manually",
|
||||
instructionStyle
|
||||
);
|
||||
}
|
||||
EditorGUILayout.LabelField(" OR", instructionStyle);
|
||||
EditorGUILayout.LabelField(
|
||||
" b) Opening the configuration file at:",
|
||||
|
|
|
|||
|
|
@ -128,6 +128,22 @@ namespace MCPForUnityTests.Editor.Helpers
|
|||
Assert.AreEqual("stdio", (string)unity["type"], "VSCode entry should include type=stdio");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DoesNotAddEnvOrDisabled_ForTrae()
|
||||
{
|
||||
var configPath = Path.Combine(_tempRoot, "trae.json");
|
||||
WriteInitialConfig(configPath, isVSCode: false, command: _fakeUvPath, directory: "/old/path");
|
||||
|
||||
var client = new McpClient { name = "Trae", mcpType = McpTypes.Trae };
|
||||
InvokeWriteToConfig(configPath, client);
|
||||
|
||||
var root = JObject.Parse(File.ReadAllText(configPath));
|
||||
var unity = (JObject)root.SelectToken("mcpServers.unityMCP");
|
||||
Assert.NotNull(unity, "Expected mcpServers.unityMCP node");
|
||||
Assert.IsNull(unity["env"], "env should not be added for Trae client");
|
||||
Assert.IsNull(unity["disabled"], "disabled should not be added for Trae client");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void PreservesExistingEnvAndDisabled()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -134,6 +134,31 @@ namespace MCPForUnity.Editor.Data
|
|||
mcpType = McpTypes.VSCode,
|
||||
configStatus = "Not Configured",
|
||||
},
|
||||
// Trae IDE
|
||||
new()
|
||||
{
|
||||
name = "Trae",
|
||||
windowsConfigPath = Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
|
||||
"Trae",
|
||||
"mcp.json"
|
||||
),
|
||||
macConfigPath = Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
|
||||
"Library",
|
||||
"Application Support",
|
||||
"Trae",
|
||||
"mcp.json"
|
||||
),
|
||||
linuxConfigPath = Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
|
||||
".config",
|
||||
"Trae",
|
||||
"mcp.json"
|
||||
),
|
||||
mcpType = McpTypes.Trae,
|
||||
configStatus = "Not Configured",
|
||||
},
|
||||
// 3) Kiro
|
||||
new()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -9,5 +9,6 @@ namespace MCPForUnity.Editor.Models
|
|||
Kiro,
|
||||
VSCode,
|
||||
Windsurf,
|
||||
Trae,
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,6 +108,13 @@ namespace MCPForUnity.Editor.Windows
|
|||
instructionStyle
|
||||
);
|
||||
}
|
||||
else if (mcpClient?.mcpType == McpTypes.Trae)
|
||||
{
|
||||
EditorGUILayout.LabelField(
|
||||
" a) Going to Settings > MCP > Add Server > Add Manually",
|
||||
instructionStyle
|
||||
);
|
||||
}
|
||||
EditorGUILayout.LabelField(" OR", instructionStyle);
|
||||
EditorGUILayout.LabelField(
|
||||
" b) Opening the configuration file at:",
|
||||
|
|
|
|||
Loading…
Reference in New Issue