Skip to main content

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

Project description

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 <MCP_SERVER_URL>

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

Requires Python 3.10+.

Databricks MCP Server Types

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

Apps require OAuth. Use --auth-type databricks-cli when connecting to a Databricks App. Managed and External MCP servers also work with PAT and other auth types.

Usage

Claude Desktop / Claude Code (.mcp.json)

Add to your MCP client configuration:

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

CLI

uc-mcp-proxy --url <MCP_SERVER_URL> [--profile <DATABRICKS_PROFILE>] [--auth-type <AUTH_TYPE>]
Flag Description
--url (required) Remote MCP server URL
--profile Databricks CLI profile name (uses default if omitted)
--auth-type Databricks auth type, e.g. databricks-cli

How It Works

  1. Starts an MCP stdio server (stdin/stdout)
  2. Connects to the remote MCP server via Streamable HTTP
  3. Injects a fresh Databricks OAuth token on every HTTP request
  4. Bridges messages bidirectionally between the two transports

Authentication

Authentication is handled by the Databricks SDK. The SDK auto-detects the method, or you can force one with --auth-type.

Auth type Managed / External MCP Apps MCP
databricks-cli — token from ~/.databrickscfg ✅ recommended
pat — personal access token ❌ not supported
oauth-m2m — service principal
OAuth U2M — browser-based login

Development

uv sync                        # install dependencies
uv run pytest -m unit -v       # run unit tests
uv run pytest -m integration -v # run integration tests
uv build                       # build package

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uc_mcp_proxy-0.1.1.tar.gz (81.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uc_mcp_proxy-0.1.1-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file uc_mcp_proxy-0.1.1.tar.gz.

File metadata

  • Download URL: uc_mcp_proxy-0.1.1.tar.gz
  • Upload date:
  • Size: 81.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for uc_mcp_proxy-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b9127f683e622f7734c172295a67142c7737069b0efefd0811c9bcfe04927dd2
MD5 d1269f13dea9597e8ba025eca7462251
BLAKE2b-256 80c006f7a7608ea49efa6d801daa4bccc8195e1a1c2eb45560849d890e9d3bed

See more details on using hashes here.

Provenance

The following attestation bundles were made for uc_mcp_proxy-0.1.1.tar.gz:

Publisher: publish.yml on IceRhymers/uc-mcp-proxy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file uc_mcp_proxy-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: uc_mcp_proxy-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for uc_mcp_proxy-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 550785e51236cf0a976b9fd08cc10a5ba19bfddb1be3f9460950757dd4cc91ff
MD5 81b01231cfd4f62f735ab2047b7d77ba
BLAKE2b-256 c6f7c7f808812e30e78928429ce7d99cc24ce0774ec74b06d7edac1ae16f6a5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for uc_mcp_proxy-0.1.1-py3-none-any.whl:

Publisher: publish.yml on IceRhymers/uc-mcp-proxy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page