Summary
Selecting a Databricks App MCP server in ucode configure mcp appears to succeed (no error shown), but the server is not registered with coding agents and may not be saved to ucode state.
Expected behavior
When a user selects a discovered Databricks App MCP server (apps whose name starts with mcp-), ucode should register it with configured MCP clients (Claude, Codex, etc.) and persist it in ~/.ucode/state.json.
Actual behavior
- User toggles an App MCP server in the picker and presses Enter
- No error is displayed
- Server is not added to agent MCP config (e.g.
~/.claude.json for Claude Code)
- Server may be missing from
mcp_servers in ucode state
Suspected cause
In configure_mcp_command(), when _resolve_mcp_selection() returns None for an app selection, the code currently continues without surfacing a warning or error:
resolved = _resolve_mcp_selection(selection, workspace, available_app_mcp_servers)
if resolved is None:
continue
App MCP resolution depends on matching the selection prefix against entries in available_app_mcp_servers keyed as databricks-app-{app_name}. Any mismatch between picker values and discovered app metadata causes a silent skip.
Reproduction
- Deploy a Databricks App with MCP enabled (app name prefixed with
mcp-)
- Run
ucode configure for at least one MCP-capable agent
- Run
ucode configure mcp
- Select the App MCP server from the picker
- Observe no error, but server not registered
Suggested fix
- Print a warning/error when
_resolve_mcp_selection() fails instead of silently continuing
- Verify app name / URL resolution logic in
_resolve_mcp_selection() and build_mcp_picker_choices() for Databricks Apps
- Add test coverage for app MCP registration in
configure_mcp_command()
Environment
ucode (latest)
- Databricks workspace with Databricks Apps MCP
- MCP clients: Claude Code, Codex, etc.
Summary
Selecting a Databricks App MCP server in
ucode configure mcpappears to succeed (no error shown), but the server is not registered with coding agents and may not be saved to ucode state.Expected behavior
When a user selects a discovered Databricks App MCP server (apps whose name starts with
mcp-), ucode should register it with configured MCP clients (Claude, Codex, etc.) and persist it in~/.ucode/state.json.Actual behavior
~/.claude.jsonfor Claude Code)mcp_serversin ucode stateSuspected cause
In
configure_mcp_command(), when_resolve_mcp_selection()returnsNonefor an app selection, the code currentlycontinues without surfacing a warning or error:App MCP resolution depends on matching the selection prefix against entries in
available_app_mcp_serverskeyed asdatabricks-app-{app_name}. Any mismatch between picker values and discovered app metadata causes a silent skip.Reproduction
mcp-)ucode configurefor at least one MCP-capable agentucode configure mcpSuggested fix
_resolve_mcp_selection()fails instead of silently continuing_resolve_mcp_selection()andbuild_mcp_picker_choices()for Databricks Appsconfigure_mcp_command()Environment
ucode(latest)