IU

icerhymers/uc-mcp-proxy

Developer tools

このページは 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>
MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

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