Repository navigation
Conversation
There was a problem hiding this comment.
Code Review
This pull request consolidates the MCP catalog sample by removing the standalone ng-basic-with-mcp-catalog workspace and integrating its MCP capabilities directly into the standard ng-basic-catalog sample. It also enhances the shell's settings view to support editing and testing MCP server connections, moving the MCP catalog support check into McpClientManagerService. Feedback on these changes highlights a few key improvements in McpClientManagerService: first, update the servers signal before disconnecting in updateServerUrl to avoid UI flickering; second, add a guard clause to prevent unnecessary reconnections when the URL is unchanged; and third, wrap the client closing logic in a finally block within testServer to prevent potential connection leaks.
- Return early in updateServerUrl when the trimmed URL matches the existing server URL. - Update the servers signal and persist changes before awaiting disconnectServer in updateServerUrl to prevent UI flicker. - Ensure client.close() is invoked inside a finally block in testServer to prevent leaked connections if listTools throws.
- Return early in updateServerUrl when the trimmed URL matches the existing server URL. - Update the servers signal and persist changes before awaiting disconnectServer in updateServerUrl to prevent UI flicker. - Ensure client.close() is invoked inside a finally block in testServer to prevent leaked connections if listTools throws.
⚡ A2UI Composer PR PreviewYour automated preview is successfully live (commit
|
- Fold BasicWithMcpCatalog and MCP function schemas into samples/ng-basic-catalog and remove the duplicate samples/ng-basic-with-mcp-catalog workspace. - Restore README.md section structure under Starting the A2UI Composer. - Move doesCatalogSupportMcp from catalog-storage.model.ts into McpClientManagerService. - Pin zod dependency version to 4.6.5 without a caret prefix in bridge/package.json. - Replace the oversized Add Server button in Settings with a compact add_circle icon button, add inline URL editing, and add a Test connection button.
- Return early in updateServerUrl when the trimmed URL matches the existing server URL. - Update the servers signal and persist changes before awaiting disconnectServer in updateServerUrl to prevent UI flicker. - Ensure client.close() is invoked inside a finally block in testServer to prevent leaked connections if listTools throws.
Use the gemini-flash-latest model alias instead of a pinned version in Standalone3pLlmClient and update the corresponding unit test assertion.
- Add McpServerDialogComponent matching the Renderer and API Key dialogs - Support optional custom display names in addServer and updateServerUrl - Replace inline URL inputs in Settings with a header add button and clean empty state - Update SettingsHarness and unit tests to cover dialog workflows
…-detect - Remove Name input field from McpServerDialogComponent - Always resolve MCP server display name from serverInfo.name on connection with URL fallback - Update unit tests to match the URL-only dialog form
Addresses the post-merge review comments on #219:
Fold
ng-basic-with-mcp-catalogintong-basic-catalog& clean upREADME.mdBasicWithMcpCatalogand its MCP function entries (listMcpApps,displayMcpApp) intosamples/ng-basic-catalog(src/basic-catalog.tsandcatalog.json) and deleted the duplicatesamples/ng-basic-with-mcp-catalogworkspace.### Angular Basic with MCP Rendererheader fromREADME.mdso the### Starting the A2UI Composersteps remain contiguous.Move
doesCatalogSupportMcptoMcpClientManagerServicedoesCatalogSupportMcpout ofcatalog-storage.model.tsintoMcpClientManagerService(shell/src/app/mcp/mcp-client-manager.service.ts) and updatedChatServiceand unit tests accordingly.Pin
zodversion inbridge/package.json"zod": "4.6.5"(removing the^range prefix) inbridge/package.jsonand updatedyarn.lock.Settings MCP Servers UI improvements
Add Serverflat button with a compactmat-icon-buttonusing<mat-icon aria-hidden="true">add_circle</mat-icon>alongside theMCP Serversheader.edit,check,closeactions) for existing MCP server URLs backed byMcpClientManagerService.updateServerUrl.Testbutton (mat-stroked-button) on each server entry to test connectivity on demand viaMcpClientManagerService.testServer.