IU

icerhymers/uc-mcp-proxy

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

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

Открыть полный README на GitHub

Установка

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>" ] } } }