feat(webui): multiselect registry filter + cross-registry search (MCP-996)#580
Open
Dumbris wants to merge 1 commit into
Open
feat(webui): multiselect registry filter + cross-registry search (MCP-996)#580Dumbris wants to merge 1 commit into
Dumbris wants to merge 1 commit into
Conversation
Replace the single registry <select> with a multiselect checkbox dropdown so
the user can browse/search across several registries at once (MCP-996).
- selectedRegistries: string[] (was a single id); All/Clear shortcuts; a label
summarising the selection ("3 registries" / "All registries (N)").
- searchServers() fans out to every selected registry in parallel and merges
the results (deduped by registry+id, each card keeps its own registry name).
- Per-registry failures (key-required / unreachable) are collected into a
non-fatal 'registry-unavailable-notice' so the registries that DID return
still render; a hard error only when every selected registry fails.
- Adding a custom registry source now appends to the multiselect instead of
replacing the selection.
Frontend-only (reuses the existing per-registry /servers endpoint; no API
contract change). Verified with Playwright: selecting reference+docker+pulse
yields merged results from reference & docker with pulse shown as unavailable.
Unit test updated for the multiselect + a new cross-registry wiring test.
Closes MCP-996
Deploying mcpproxy-docs with
|
| Latest commit: |
8052687
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://663e0605.mcpproxy-docs.pages.dev |
| Branch Preview URL: | https://feat-r1-multiselect-registry.mcpproxy-docs.pages.dev |
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
📦 Build ArtifactsWorkflow Run: View Run Available Artifacts
How to DownloadOption 1: GitHub Web UI (easiest)
Option 2: GitHub CLI gh run download 26905482770 --repo smart-mcp-proxy/mcpproxy-go
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
R1 — multiselect registry filter + cross-registry search (MCP-996)
Follow-up to #579. The "Select Registry" single-select is replaced with a multiselect so users can search across several registries at once (v0.36.0 feedback: "should be a filter with multiselect not a selector… search through multiple repos").
Changes (frontend only)
selectedRegistries: string[]) with All / Clear shortcuts and a summary label (3 registries/All registries (N)).searchServers()fans out to every selected registry in parallel and merges results (deduped byregistry+id); each card keeps its own registry name (from R4).registry-unavailable-notice; a hard error is raised only when every selected registry fails./api/v1/registries/{id}/serversendpoint — no backend/API contract change (lowest-risk path; a server-side aggregate can come later if needed).Verification (Playwright, live instance)
Selecting reference + docker-mcp-catalog + pulse and searching
server:['Reference Servers', 'Docker MCP Catalog'](genuinely cross-registry),pulse(key-required) shows in the unavailable notice — not a hard error,3 registries.Unit suite 104/104 (updated the add-registry provenance test for the multiselect + added a cross-registry wiring test).
vue-tscclean.Note: the Chrome extension wasn't connected in this session, so UI verification used Playwright (per maintainer's call).
Closes MCP-996.