{"record":{"id":"ff0b14f41e97ca72","repo":"multica-ai/multica","slug":"list-workspace-mcp-servers-w","errorCode":null,"errorMessage":"list workspace mcp servers: %w","messagePattern":"list workspace mcp servers: %w","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/cmd/multica/cmd_workspace.go","lineNumber":624,"sourceCode":"\twsID, err := resolveWorkspaceArg(cmd, args)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif wsID == \"\" {\n\t\treturn fmt.Errorf(\"workspace ID is required: pass an id/slug/prefix as argument or set MULTICA_WORKSPACE_ID\")\n\t}\n\n\tclient, err := newAPIClient(cmd)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tctx, cancel := cli.APIContext(context.Background())\n\tdefer cancel()\n\n\tvar servers []workspaceMcpServer\n\tif err := client.GetJSON(ctx, \"/api/workspaces/\"+wsID+\"/mcp-servers\", &servers); err != nil {\n\t\treturn fmt.Errorf(\"list workspace mcp servers: %w\", err)\n\t}\n\n\treturn printWorkspaceMcpServers(cmd, servers)\n}\n\nfunc runWorkspaceMcpAdd(cmd *cobra.Command, args []string) error {\n\tserverName := strings.TrimSpace(args[0])\n\tif serverName == \"\" {\n\t\treturn fmt.Errorf(\"server name must not be empty\")\n\t}\n\twsID, err := resolveWorkspaceArg(cmd, args[1:])\n\tif err != nil {\n\t\treturn err\n\t}\n\tif wsID == \"\" {\n\t\treturn fmt.Errorf(\"workspace ID is required: pass an id/slug/prefix as argument or set MULTICA_WORKSPACE_ID\")\n\t}\n","sourceCodeStart":606,"sourceCodeEnd":642,"githubUrl":"https://github.com/multica-ai/multica/blob/2c0912b6ec764b373d44eeea1e80f0d9f11ab417/server/cmd/multica/cmd_workspace.go#L606-L642","documentation":"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.","triggerScenarios":"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.","commonSituations":"Stale slug after workspace rename; token scoped to a different workspace; hitting a dev server without the workspace seeded.","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"],"exampleFix":"# before\nmultica workspace mcp list old-slug\n# list workspace mcp servers: 404\n\n# after\nmultica workspace list\nmultica workspace mcp list new-slug","handlingStrategy":"try-catch","validationCode":"if wsID == \"\" {\n    return errors.New(\"workspace ID is required\")\n}","typeGuard":null,"tryCatchPattern":"if err := client.GetJSON(ctx, \"/api/workspaces/\"+wsID+\"/mcp-servers\", &servers); err != nil {\n    if strings.Contains(err.Error(), \"404\") {\n        servers = nil // workspace unknown; treat as empty\n        return nil\n    }\n    return fmt.Errorf(\"list workspace mcp servers: %w\", err)\n}","preventionTips":["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"],"tags":["cli","http","mcp","workspace","api-client"],"backgroundTag":null,"analyzedSha":"2c0912b6ec764b373d44eeea1e80f0d9f11ab417","analyzedAt":"2026-08-15T13:25:18.241Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}