IU

icerhymers/uc-mcp-proxy

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

5 stars 5 forks 质量 71 趋势 17MIT

An MCP Proxy built to use any Databricks MCP server in local coding agents with OAuth.

概览

MCP stdio-to-Streamable-HTTP proxy with Databricks OAuth. Lets any MCP client that speaks (e.g. Claude Desktop, Claude Code) connect to any — Managed, External, or Apps — handling authentication automatically. uc-mcp-proxy expects a configured Databricks CLI profile. Set one up first: If the profile uses OAuth U2M (auth_type = databricks-cli) and the cached token is expired, uc-mcp-proxy runs databricks auth login --profile automatically the first time it launches, opening a browser tab. Subsequent runs use the refreshed token. For PAT, M2M, Azure, or other auth types, the proxy diagnoses the failure and points you at the right remediation — it never runs databricks auth login against a non-OAuth profile because that would overwrite your existing credentials in ~/.databrickscfg. To skip the auto-login (CI / headless), pass --no-auto-login and ensure DATABRICKS_TOKEN or another credential is set in the environment. An App is served from its own hostname on databricksapps.

README

以下为原文 README 节选,完整内容请查看原文。

uc-mcp-proxy

MCP stdio-to-Streamable-HTTP proxy with Databricks OAuth.

Lets any MCP client that speaks stdio (e.g. Claude Desktop, Claude Code) connect to any Databricks MCP server — Managed, External, or Apps — handling authentication automatically.

Installation

# Run directly (no install needed)
uvx uc-mcp-proxy --url 

# Or install globally
uv tool install uc-mcp-proxy

Requires Python 3.10+.

First-run authentication

uc-mcp-proxy expects a configured Databricks CLI profile. Set one up first:

databricks configure --host https://

Then pass it to the proxy:

uvx uc-mcp-proxy --url  --profile 

If the profile uses OAuth U2M (auth_type = databricks-cli) and the cached token is expired, uc-mcp-proxy runs databricks auth login --profile automatically the first time it launches, opening a browser tab. Subsequent runs use the refreshed token.

uc-mcp-proxy will only auto-login for OAuth (databricks-cli) profiles. For PAT, M2M, Azure, or other auth types, the proxy diagnoses the failure and points you at the right remediation — it never runs databricks auth login against a non-OAuth profile because that would overwrite your existing credentials in ~/.databrickscfg.

To skip the auto-login (CI / headless), pass --no-auto-login and ensure DATABRICKS_TOKEN or another credential is set in the environment.

Databricks MCP Server Types

Server Type URL Pattern
Managed MCP (UC Functions, Vector Search, Genie, SQL) https:///api/2.0/mcp/functions/{catalog}/{schema}
External MCP (GitHub, Google Drive, and others) https:///api/2.0/mcp/external/{connection_name}
Apps (custom MCP servers) https://-..databricksapps.com/

An App is served from its own hostname on databricksapps.com — not from a path under your workspace host. Databricks assigns the URL when the app is created and it cannot be changed afterwards, so copy it from the Apps page in the workspace UI (or databricks apps list) rather than constructing it by hand — on the workspace we tested, the segment Databricks documents as is the cloud name (`aws`), not a region like `us-east-1`. The is whatever route the app serves MCP on; /mcp is the common convention.

Apps reject raw personal access tokens. The App front door requires an OAuth token. Either use --auth-type databricks-cli (browser-based OAuth U2M), or point a PAT profile at the App URL and the proxy exchanges the PAT for an app-scoped token automatically — see Databricks Apps from a PAT profile. The PAT must be one the exchange accepts (a Lakebox credential, not a classic dapi… PAT). Managed and External MCP servers work with PAT and other auth types as-is.

Usage

在 GitHub 查看完整 README

安装

uvx uc-mcp-proxy --url <MCP_SERVER_URL>
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "unity-catalog": { "type": "stdio", "command": "uvx", "args": [ "uc-mcp-proxy", "--url", "<MCP_SERVER_URL>" ] } } }