multica-ai/multica · error
list workspace mcp servers: %w
Error message
list workspace mcp servers: %w
What it means
Wrapped failure of the HTTP GET to /api/workspaces/{id}/mcp-servers performed by `multica workspace mcp list`. The chained error carries the real cause: unknown workspace (404), auth failure (401/403), or transport/network problems.
Source
Thrown at server/cmd/multica/cmd_workspace.go:624
wsID, err := resolveWorkspaceArg(cmd, args)
if err != nil {
return err
}
if wsID == "" {
return fmt.Errorf("workspace ID is required: pass an id/slug/prefix as argument or set MULTICA_WORKSPACE_ID")
}
client, err := newAPIClient(cmd)
if err != nil {
return err
}
ctx, cancel := cli.APIContext(context.Background())
defer cancel()
var servers []workspaceMcpServer
if err := client.GetJSON(ctx, "/api/workspaces/"+wsID+"/mcp-servers", &servers); err != nil {
return fmt.Errorf("list workspace mcp servers: %w", err)
}
return printWorkspaceMcpServers(cmd, servers)
}
func runWorkspaceMcpAdd(cmd *cobra.Command, args []string) error {
serverName := strings.TrimSpace(args[0])
if serverName == "" {
return fmt.Errorf("server name must not be empty")
}
wsID, err := resolveWorkspaceArg(cmd, args[1:])
if err != nil {
return err
}
if wsID == "" {
return fmt.Errorf("workspace ID is required: pass an id/slug/prefix as argument or set MULTICA_WORKSPACE_ID")
}
View on GitHub (pinned to 2c0912b6ec)
Solutions
- Verify the workspace exists and is accessible via `multica workspace get <ws>`
- Check the wrapped error for the HTTP status to distinguish 404 (bad id) from 401/403 (credentials) from connection refused (wrong host)
- Fix the base URL / token configuration, then re-run
Example fix
# before multica workspace mcp list old-slug # list workspace mcp servers: 404 # after multica workspace list multica workspace mcp list new-slug
Defensive patterns
Strategy: try-catch
Validate before calling
if wsID == "" {
return errors.New("workspace ID is required")
} Try / catch
if err := client.GetJSON(ctx, "/api/workspaces/"+wsID+"/mcp-servers", &servers); err != nil {
if strings.Contains(err.Error(), "404") {
servers = nil // workspace unknown; treat as empty
return nil
}
return fmt.Errorf("list workspace mcp servers: %w", err)
} Prevention
- Confirm the workspace exists before listing MCP servers
- Keep slugs stable in scripts or re-resolve them after renames
- Pin the server base URL explicitly in CI to avoid environment drift
When it happens
Trigger: Listing MCP servers for a workspace id/slug/prefix that does not exist or is not visible to the authenticated user; server down or returning 5xx; malformed base URL.
Common situations: Stale slug after workspace rename; token scoped to a different workspace; hitting a dev server without the workspace seeded.
Related errors
- get workspace: %w
- get workspace: %w
- update workspace: %w
- add workspace mcp server: %w
- update workspace mcp server: %w
AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15).
Data as JSON: /api/errors/ff0b14f41e97ca72.
Report an issue: GitHub.