fix(mcp): validate workspace before resolving relative env_file

This commit is contained in:
yuchou87
2026-02-22 15:06:57 +08:00
parent 6aade43236
commit 16a3b96dde
+11
View File
@@ -161,6 +161,17 @@ func (m *Manager) LoadFromMCPConfig(ctx context.Context, mcpCfg config.MCPConfig
// Resolve relative envFile paths relative to workspace
if serverCfg.EnvFile != "" && !filepath.IsAbs(serverCfg.EnvFile) {
if workspace == "" {
err := fmt.Errorf("workspace path is empty while resolving relative envFile %q for server %s", serverCfg.EnvFile, name)
logger.ErrorCF("mcp", "Invalid MCP server configuration",
map[string]interface{}{
"server": name,
"env_file": serverCfg.EnvFile,
"error": err.Error(),
})
errs <- err
return
}
serverCfg.EnvFile = filepath.Join(workspace, serverCfg.EnvFile)
}