Repository navigation
Show MCP and Skills catalog tables with metadata and status - #1232
Merged
Merged
Conversation
Consumers cannot compare MCP services in `ug mcp add` because discovery drops their descriptions and audit metadata. `ug skills add` only previews a short description. Both pickers now show a compact Select / Name / UC location / Status table and a shared, scrollable detail pane. Fixes https://databricks.atlassian.net/browse/AIGTWY-4848 Reviewed the ticket description, all three Jira comments, and all 47 replies in the linked [Slack thread](https://databricks.slack.com/archives/C09V48HFPDW/p1790619709443169?thread_ts=1789543972.420209&cid=C09V48HFPDW) before implementation. One PR covers MCPs and Skills because they share the picker and metadata presentation. This browser-only PR is stacked on #1222, which contains the independent smart-routing CI repairs requested during review. After #1222 lands, this PR can be retargeted to `main` without changing its browser diff. - Existing paginated MCP `BASIC` responses supply metadata for initial and streamed choices; there are no per-service requests. - `[ ]` / `[x]` represent selection. ✓ / ✗ represent current status: Configured, Not configured, Managed, Installed, or Not installed. - Skills show ✓ Installed only when the exact UC FQN, bundle, metastore/workspace attribution, every target root, and `SKILL.md` all match. - Details use `Full name` rather than the command-line `location` term, and dates render as compact UTC calendar dates. - Wide terminals keep the columns left-aligned in a compact 96-column table; narrow terminals retain the status glyph and full details. - Page Up/Down changes the visible detail content on the first key press. - A streamed rich MCP row replaces a matching plain configured row in place, preserving its value-based selection while adding its full name and details. - MCP filtering uses the full dotted name without a common `MCP:` prefix, so typing `mcp` no longer matches every row. - No dependencies or lockfiles changed. ### Before and after These are rendered component captures using identical synthetic metadata; they are not live-workspace results. Selection returns the same values before and after. **MCPs — before** ```text MCP: (space to toggle, ctrl-a all, enter to save, type to filter) › ○ MCP: system.ai.docs ``` **MCPs — after** ```text MCP: (space toggle, ^A all, enter save, type filter, pgup/pgdn details) Select Name UC location Status › [ ] docs system.ai ✗ Not configured [-] tickets system.ai ✓ Configured [-] managed system.ai ✓ Managed Full name: system.ai.docs Description: Search internal documentation and return relevant pages. Created by: team@example.com Created: 2026-09-01 Updated: 2026-10-15 Status: ✗ Not configured ``` **Skills — before** ```text Skills: (space to toggle, ctrl-a all, enter to save, type to filter) › ○ demo.team.triage (on disk) ○ demo.team.review triage: Summarize a ticket, identify the owner, and recommend next steps. ``` **Skills — after** ```text Skills: (space toggle, ^A all, enter save, type filter, pgup/pgdn details) Select Name UC location Status › [ ] triage demo.team ✓ Installed [ ] review demo.team ✗ Not installed Full name: demo.team.triage Bundle: triage Description: Summarize a ticket, identify the owner, and recommend next steps. Created by: team@example.com Created: 2026-09-01 Updated: 2026-10-15 Status: ✓ Installed ``` ### Validation All local commands used a disposable HOME. - Review follow-up: **135 passed** across the shared picker, catalog browser, Skills download, and managed-row behavior. - `ruff check src/ tests/`: pass. - `ruff format --check src/ tests/`: 253 files formatted. - `ty check src/`: pass. - Before the split, the cumulative browser + routing revision passed all **52** GitHub checks, including Linux/Windows unit tests and full Claude/Codex journeys: [run 39510850961](https://github.com/databricks/unity-gateway/actions/runs/39510850961). - Earlier broad local comparison (excluding a baseline-stalling auth test): main 4,907 passed / 21 failed / 9 errors / 40 skipped; browser revision 4,927 passed / 21 failed / 9 errors / 40 skipped. Failure/error identifiers were identical, with zero new failures. No skips or xfails were added.
sunishsheth2009
enabled auto-merge
October 22, 2026 00:24
xsh310
approved these changes
Oct 22, 2026
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.
Consumers cannot compare MCP services in
ug mcp addbecause discovery drops their descriptions and audit metadata.ug skills addonly previews a short description. Both pickers now show a compact Select / Name / UC location / Status table and a shared, scrollable detail pane.Fixes https://databricks.atlassian.net/browse/AIGTWY-4848
This replaces #1211, which GitHub marked merged into the temporary #1222 branch rather than
main. #1222 is now merged; this PR applies the exact reviewed browser change directly to currentmain.Reviewed the ticket description, all three Jira comments, and all 47 replies in the linked Slack thread before implementation. One PR covers MCPs and Skills because they share the picker and metadata presentation.
The independent smart-routing CI repairs requested during review landed in #1222. This PR contains only the MCP/Skills browser files.
BASICresponses supply metadata for initial and streamed choices; there are no per-service requests.[ ]/[x]represent selection. ✓ / ✗ represent current status: Configured, Not configured, Managed, Installed, or Not installed.SKILL.mdall match.Full namerather than the command-linelocationterm, and dates render as compact UTC calendar dates.MCP:prefix, so typingmcpno longer matches every row.Before and after
These are rendered component captures using identical synthetic metadata; they are not live-workspace results. Selection returns the same values before and after.
MCPs — before
MCPs — after
Skills — before
Skills — after
Validation
All local commands used a disposable HOME.
ruff check src/ tests/: pass.ruff format --check src/ tests/: 253 files formatted.ty check src/: pass.No skips or xfails were added.