Skip to content

Databricks App MCP servers fail silently in ucode configure mcp #58

@zjacobson1016

Description

@zjacobson1016

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

  1. Deploy a Databricks App with MCP enabled (app name prefixed with mcp-)
  2. Run ucode configure for at least one MCP-capable agent
  3. Run ucode configure mcp
  4. Select the App MCP server from the picker
  5. 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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions