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

No one assigned

    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