Databricks MCP
Provides read-only access to a Databricks workspace, offering tools to list warehouses, catalogs, schemas, and tables, describe and sample table data, search tables, and execute read-only SQL queries with row limits.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Databricks MCPlist tables in the analytics catalog"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Databricks MCP
Read-only Model Context Protocol server for Databricks. It exposes catalog metadata and bounded SQL tools over Streamable HTTP while preserving the caller's identity through an OAuth-protected resource server.
Authorization is optional in MCP, but this service requires it in production
because it exposes private workspace data. The authorization server may be
self-hosted or provided by a third party. See
docs/authorization.md.
Tools
Area | Tools |
Catalog |
|
SQL |
|
Warehouses |
|
SQL is limited to one SELECT, WITH, SHOW, DESCRIBE, or EXPLAIN
statement. Results are bounded, table sampling requires a three-part Unity
Catalog identifier, and no write, job, cluster, DBFS, or secret tools are
exposed.
Related MCP server: DB MCP Gateway
Requirements
Python 3.12+
A Databricks workspace
An MCP-compatible OAuth authorization server
Network access to fetch the pinned
mcp-auth-clientdependency from GitHub
Configuration
Copy deploy/service.env.example and set the
deployment-specific values:
Variable | Purpose |
| HTTPS Databricks workspace URL |
| Public service base URL; |
| Authorization-server issuer |
| JWKS endpoint for access-token validation |
| Optional downstream token-exchange endpoint |
| Resource-server exchange key |
| Exchange-key identifier |
| Required Databricks group |
| Explicit warehouse allowlist |
| Allowed |
| Required. Shown to users in client UI when authorizing. Startup fails on an |
| Server name shown to clients (default |
| Where the MCP endpoint is mounted below |
| Listen address (defaults |
| Level for this service's own loggers and uvicorn's (default |
| Query bounds (defaults |
list_warehouses only ever returns warehouses already on that allowlist, so
run scripts/list_all_warehouses.py once,
directly against the workspace, to find the IDs to put in it — see
Bootstrapping DATABRICKS_ALLOWED_WAREHOUSE_IDS.
Keep real credentials, tokens, keys, and deployment env files out of Git.
Run locally
uv run uvicorn mcp_databricks.server:app --host 127.0.0.1 --port 6328Or:
python -m mcp_databricksThe MCP endpoint is /mcp by default. The canonical ASGI entrypoint is
mcp_databricks.server:app.
Development checks
ruff check .
ruff format --check .
python -m compileall -q mcp_databricks tests
uv run pytestThe first three checks run in public CI without service credentials. uv sync
fetches the pinned authorization-client SDK before running the full test suite.
Release
Push a tag such as v0.2.3; the release workflow reruns validation, builds
the Python distributions, and publishes a GitHub Release with the artifacts.
Deployment
Docker: build
deploy/Dockerfile, inject a secret-managed env file, and mount the resource-server key read-only.Kubernetes: run the container as a non-root Deployment, store env values and keys in Secrets, and expose it through an HTTPS Ingress.
docs/authorization.md: MCP OAuth flow and provider integrationdeploy/README.md: Docker and reverse-proxy checklistdeploy/service.env.example: neutral configuration template
The authorization server owns login, consent, client registration, token issuance, and signing keys. This repository owns the Databricks MCP tools, resource-server policy, and downstream workspace integration.
This server cannot be deployed
Maintenance
Related MCP Connectors
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Read-only ArcadeOps discovery for developer docs, OAuth, OpenAPI and synthetic sandbox.
Query 40 databases from Claude, ChatGPT, or Cursor — on any device. Read-only, encrypted, audited.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables read-only interaction with Google BigQuery, including SQL queries, dataset/table listing, schema retrieval, table preview, and metadata access via service account authentication.-
- AlicenseNot gradedqualityBmaintenanceProvides read-only access to databases for MCP-compatible AI tools, allowing schema exploration and SELECT queries without exposing credentials or risking data changes.69 npm3MIT
- FlicenseNot gradedqualityCmaintenanceEnables running read-only SQL queries and exploring DuckDB databases through MCP tools like listing tables, describing schemas, and fetching paginated data.-
- AlicenseNot gradedqualityCmaintenanceRead-only MCP server for Databricks, exposing Unity Catalog browsing and SQL execution with robust write protection via SQL AST analysis.MIT