Databricks MCP Server
Databricks-hosted MCP servers for Vector Search, Genie Spaces, Unity Catalog Functions, and Databricks SQL, governed by Unity AI Gateway.
Databricks provides a set of managed MCP servers hosted directly inside the Databricks workspace and governed by the Unity AI Gateway. Each server exposes a category of Databricks capability as MCP tools: Vector Search indexes for retrieval, Genie Spaces for natural language queries against structured data, Unity Catalog functions for predefined SQL or Python logic, and Databricks SQL for executing AI-generated queries. Tools are discovered dynamically based on the resources in the URL path, so for example pointing a client at a Vector Search schema exposes one tool per index in that schema.
Because the servers are managed by Databricks, there is nothing to deploy or self-host. Clients connect to per-workspace HTTPS endpoints like https://<workspace>/api/2.0/mcp/vector-search/{catalog}/{schema} and authenticate either with a Personal Access Token or via OAuth (CLI profile, public client, or confidential client). All access continues to flow through Unity Catalog permissions, so users and agents only see tools and rows they are already entitled to.
The managed MCP surface is designed to plug into both Databricks-native agents built with Mosaic AI / databricks-mcp and external clients like Claude Desktop, Cursor, Windsurf, and Replit using the mcp-remote proxy. This makes it a convenient way to expose enterprise data, RAG indexes, and governed functions to any MCP-aware LLM client without building a custom server.
Tools
| Tool | Description |
|---|---|
Vector Search index tool |
For each Vector Search index under the path, the server exposes a tool that runs a similarity search against that index. Tool name and schema match the index. |
Genie Space conversation tools |
Per Genie Space, the server exposes tools for starting conversations and sending natural language questions against the structured data registered in that space. |
Unity Catalog function tool |
For each UC function under the path, the server exposes a tool with the same name, arguments, and return type as the function (SQL or Python). |
Databricks SQL tool |
Executes AI-generated SQL against the workspace, including read and write operations, with results returned via polling. |
Prerequisites
- A Databricks workspace with Serverless compute enabled
- Unity Catalog resources you want to expose (vector indexes, UC functions, or a Genie Space)
- For OAuth setup: Databricks CLI installed and
databricks auth logincompleted, or an account-level OAuth app
Server URL patterns
Replace <workspace-hostname> with your Databricks host (e.g. dbc-xxxx.cloud.databricks.com):
- Vector Search:
https://<workspace-hostname>/api/2.0/mcp/vector-search/{catalog}/{schema} - Genie Space:
https://<workspace-hostname>/api/2.0/mcp/genie/{genie_space_id} - UC Functions:
https://<workspace-hostname>/api/2.0/mcp/functions/{catalog}/{schema} - Databricks SQL:
https://<workspace-hostname>/api/2.0/mcp/sql
Claude Desktop (PAT auth)
Generate a Personal Access Token in your Databricks workspace, then add to claude_desktop_config.json:
{
"mcpServers": {
"databricks-uc-functions": {
"command": "npx",
"args": [
"mcp-remote",
"https://<workspace-hostname>/api/2.0/mcp/functions/{catalog}/{schema}",
"--header",
"Authorization: Bearer <DATABRICKS_TOKEN>"
]
}
}
}
Cursor (streamable HTTP with PAT)
{
"mcpServers": {
"databricks-vector-search": {
"type": "streamable-http",
"url": "https://<workspace-hostname>/api/2.0/mcp/vector-search/{catalog}/{schema}",
"headers": {
"Authorization": "Bearer <DATABRICKS_TOKEN>"
}
}
}
}
OAuth via Databricks CLI profile (recommended for teams)
After running databricks auth login --host https://<workspace-hostname>:
{
"mcpServers": {
"databricks-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"uc-mcp-proxy",
"--url",
"https://<workspace-hostname>/api/2.0/mcp/functions/system/ai",
"--auth-type",
"databricks-cli",
"--profile",
"${DATABRICKS_CONFIG_PROFILE:-DEFAULT}"
]
}
}
}
In-workspace agents (Python)
Install dependencies and connect with DatabricksMCPClient:
pip install "mcp>=1.9" "mlflow>=3.1.0" "databricks-agents>=1.0.0" "databricks-sdk[openai]" databricks-mcp
from databricks_mcp import DatabricksMCPClient
from databricks.sdk import WorkspaceClient
mcp_client = DatabricksMCPClient(
server_url="https://<workspace-hostname>/api/2.0/mcp/vector-search/prod/support",
workspace_client=WorkspaceClient(),
)
tools = mcp_client.list_tools()
- Give an external agent (Claude Desktop, Cursor) RAG access to enterprise Vector Search indexes without copying data out of Databricks
- Let analysts ask natural language questions over a Genie Space against governed tables and have the LLM call back with structured results
- Expose a curated set of Unity Catalog SQL or Python functions as callable tools for AI agents, with UC permissions enforcing access
- Run AI-generated SQL against a Databricks SQL warehouse from an agent loop and feed results back to the model
- Build Mosaic AI agents that compose tools from multiple managed MCP servers (search + functions + Genie) under a single governance model
- "Search the
prod.support.tickets_indexvector index for similar incidents to this stack trace and summarize the top 5." - "Ask the customer-360 Genie Space which accounts had MRR growth above 20 percent last quarter."
- "Call the
main.billing.calculate_refundUC function with order_id 88421 and return the refund amount." - "Run a SQL query on the workspace warehouse to count active users per region for the last 7 days."
- "List all tools available from the Databricks MCP server and tell me which one I should use to look up product docs."
- Officially built and hosted by Databricks; no server to deploy or maintain
- Unity Catalog permissions and the Unity AI Gateway enforce access control and auditing automatically
- Tools are generated dynamically from the resources at the URL path, so adding an index or function makes it immediately available
- Works with both Databricks-native agents and external MCP clients (Claude Desktop, Cursor, Windsurf, Replit) via PAT or OAuth
- Requires a Databricks workspace with Serverless compute and properly configured Unity Catalog resources
- Long-running Genie and SQL operations require client-side polling; Genie does not preserve conversation history automatically
- OAuth setup for confidential clients depends on an account admin creating an OAuth app, which adds onboarding friction
- Snowflake Cortex / Snowflake MCP community servers for similar warehouse-backed tool access
- Self-hosted MCP servers built with the
databricks-mcpPython library for custom logic outside the managed surface - Generic Postgres or BigQuery MCP servers for non-Databricks SQL access