namespace MCPForUnity.Editor.Services.Server { /// /// Interface for building uvx/server command strings. /// Handles platform-specific command construction for starting the MCP HTTP server. /// public interface IServerCommandBuilder { /// /// Attempts to build the command parts for starting the local HTTP server. /// /// Output: the executable file name (e.g., uvx path) /// Output: the command arguments /// Output: the full command string for display /// Output: error message if the command cannot be built /// True if the command was built successfully bool TryBuildCommand(out string fileName, out string arguments, out string displayCommand, out string error); /// /// Builds the uv path from the uvx path by replacing uvx with uv. /// /// Path to uvx executable /// Path to uv executable string BuildUvPathFromUvx(string uvxPath); /// /// Gets the platform-specific PATH prepend string for finding uv/uvx. /// /// Paths to prepend to PATH environment variable string GetPlatformSpecificPathPrepend(); /// /// Quotes a string if it contains spaces. /// /// The input string /// The string, wrapped in quotes if it contains spaces string QuoteIfNeeded(string input); } }