Skip to content

v1.4.1 — UC MCP reliability + chat robustness

Choose a tag to compare

@DoyleDev DoyleDev released this 20 May 21:25
· 42 commits to main since this release
45b83eb

What's new

Mostly about making Unity Catalog external MCP connections (Atlassian, GitHub, future Google/SharePoint MCPs, etc.) actually work end-to-end, plus a handful of chat-loop robustness fixes that surfaced while debugging.

UC external MCP — now connects on first try

  • Auto-authorize on first connect. UC connections return "needs authorization" as a JSON-RPC error embedded in an HTTP-200 response, not a plain 401. Mason now detects this pattern and opens the Authorize browser window automatically; previously it silently logged "Found 0 tools" and required you to copy the URL out of the console.
  • Stop hitting SaaS endpoints directly. A previous directHost shortcut was meant for Databricks Apps (*.databricksapps.com) but was applied to every UC connection — Mason was trying https://mcp.atlassian.com/mcp and https://www.googleapis.com/mcp and getting 404s. The shortcut is now gated on *.databricksapps.com; everything else routes through the UC proxy where credential translation happens.
  • Filter the UC picker to MCP-capable connections only. Many system-managed UC HTTP connections (Google Drive, SharePoint, Gmail, Tavily REST, etc.) are OAuth credential proxies, not MCP servers — they had no business in the MCP picker. Mason now respects the is_mcp_connection flag.
  • Self-heal stale saved URLs. If a saved UC URL persistently 404s, Mason drops it from workspaces.json at the end of auto-connect so it doesn't haunt every restart.

Chat reliability

  • Tool-call argument sanitization. Tool calls coming back from the model with empty, truncated, or otherwise malformed arguments JSON used to wedge the entire conversation — the gateway would 400 on every subsequent turn with Param 'arguments' … is not a valid JSON string. Mason now rewrites bad arguments to "{}" so the tool runs (possibly with the wrong inputs) and the model recovers on the next turn. Logs [CHAT] Tool call <name> had malformed arguments; replacing with {} when this fires.

Full changelog: v1.4.0...v1.4.1