Skip to content

feat(webui): multiselect registry filter + cross-registry search (MCP-996)#580

Open
Dumbris wants to merge 1 commit into
mainfrom
feat/r1-multiselect-registry-search
Open

feat(webui): multiselect registry filter + cross-registry search (MCP-996)#580
Dumbris wants to merge 1 commit into
mainfrom
feat/r1-multiselect-registry-search

Conversation

@Dumbris
Copy link
Copy Markdown
Member

@Dumbris Dumbris commented Jun 3, 2026

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)

  • Registry selector → a DaisyUI checkbox dropdown (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 by registry+id); each card keeps its own registry name (from R4).
  • Partial-failure handling: registries that need a key or are unreachable are collected into a non-fatal registry-unavailable-notice; a hard error is raised only when every selected registry fails.
  • Adding a custom registry now appends to the selection instead of replacing it.
  • Reuses the existing per-registry /api/v1/registries/{id}/servers endpoint — 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:

  • results span ['Reference Servers', 'Docker MCP Catalog'] (genuinely cross-registry),
  • pulse (key-required) shows in the unavailable notice — not a hard error,
  • trigger label reads 3 registries.

Unit suite 104/104 (updated the add-registry provenance test for the multiselect + added a cross-registry wiring test). vue-tsc clean.

Note: the Chrome extension wasn't connected in this session, so UI verification used Playwright (per maintainer's call).

Closes MCP-996.

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
@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying mcpproxy-docs with  Cloudflare Pages  Cloudflare Pages

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

View logs

@codecov-commenter
Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

📦 Build Artifacts

Workflow Run: View Run
Branch: feat/r1-multiselect-registry-search

Available Artifacts

  • archive-darwin-amd64 (28 MB)
  • archive-darwin-arm64 (25 MB)
  • archive-linux-amd64 (16 MB)
  • archive-linux-arm64 (14 MB)
  • archive-windows-amd64 (28 MB)
  • archive-windows-arm64 (24 MB)
  • frontend-dist-pr (0 MB)
  • installer-dmg-darwin-amd64 (21 MB)
  • installer-dmg-darwin-arm64 (19 MB)

How to Download

Option 1: GitHub Web UI (easiest)

  1. Go to the workflow run page linked above
  2. Scroll to the bottom "Artifacts" section
  3. Click on the artifact you want to download

Option 2: GitHub CLI

gh run download 26905482770 --repo smart-mcp-proxy/mcpproxy-go

Note: Artifacts expire in 14 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants