Databricks MCP Server

平台与服务

by pramodbhatofficial

提供 263 个 Databricks 工具,覆盖 Unity Catalog、SQL、Compute、Jobs、Serving 等核心能力。

什么是 Databricks MCP Server

提供 263 个 Databricks 工具,覆盖 Unity Catalog、SQL、Compute、Jobs、Serving 等核心能力。

README

Databricks MCP Server

<!-- mcp-name: io.github.pramodbhatofficial/databricks-sdk-mcp -->

PyPI CI Python 3.10+ License: Apache 2.0

A comprehensive Model Context Protocol (MCP) server for Databricks, built on the official Databricks Python SDK.

Provides 263 tools and 8 prompt templates across 28 service domains, giving AI assistants full access to the Databricks platform.

Features

  • SDK-first: Uses databricks-sdk for type safety and automatic API freshness
  • Comprehensive: Covers Unity Catalog, SQL, Compute, Jobs, Pipelines, Serving, Vector Search, Apps, Lakebase, Dashboards, Genie, Secrets, IAM, Connections, Experiments, and Delta Sharing
  • Zero custom auth: Delegates authentication entirely to the SDK (PAT, OAuth, Azure AD, service principal -- all automatic)
  • Selective loading: Include/exclude tool modules via environment variables
  • MCP Resources: Read-only workspace context (URL, current user, auth type)

Quick Start

Installation

bash
pip install databricks-sdk-mcp

Or run with Docker:

bash
docker run -i -e DATABRICKS_HOST=... -e DATABRICKS_TOKEN=... databricks-mcp

Or install from source:

bash
git clone https://github.com/pramodbhatofficial/databricks-mcp-server.git
cd databricks-mcp-server
pip install -e ".[dev]"

Authentication

Authentication is handled by the Databricks SDK. Set one of:

Personal Access Token (simplest):

bash
export DATABRICKS_HOST=https://your-workspace.databricks.com
export DATABRICKS_TOKEN=dapi...

OAuth (M2M):

bash
export DATABRICKS_HOST=https://your-workspace.databricks.com
export DATABRICKS_CLIENT_ID=...
export DATABRICKS_CLIENT_SECRET=...

Other methods: Azure AD, Databricks CLI profile, Azure Managed Identity -- all auto-detected by the SDK.

Running

bash
databricks-mcp

This starts the MCP server using stdio transport.

Integrations

Claude Code (Terminal)

Add to ~/.claude/settings.json or your project's .claude/settings.json:

json
{
  "mcpServers": {
    "databricks": {
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://your-workspace.databricks.com",
        "DATABRICKS_TOKEN": "dapi..."
      }
    }
  }
}

Then restart Claude Code. Verify with /mcp to see the registered tools.

Claude Desktop

Add to your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
json
{
  "mcpServers": {
    "databricks": {
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://your-workspace.databricks.com",
        "DATABRICKS_TOKEN": "dapi..."
      }
    }
  }
}

Restart Claude Desktop. The Databricks tools will appear in the tool picker.

Cursor

Add to .cursor/mcp.json in your project root (or ~/.cursor/mcp.json for global):

json
{
  "mcpServers": {
    "databricks": {
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://your-workspace.databricks.com",
        "DATABRICKS_TOKEN": "dapi..."
      }
    }
  }
}

Open Cursor Settings > MCP to verify the server is connected.

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

json
{
  "mcpServers": {
    "databricks": {
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://your-workspace.databricks.com",
        "DATABRICKS_TOKEN": "dapi..."
      }
    }
  }
}

VS Code (Copilot)

Add to .vscode/mcp.json in your project:

json
{
  "servers": {
    "databricks": {
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://your-workspace.databricks.com",
        "DATABRICKS_TOKEN": "dapi..."
      }
    }
  }
}

Zed

Add to Zed's settings (~/.config/zed/settings.json):

json
{
  "context_servers": {
    "databricks": {
      "command": {
        "path": "databricks-mcp",
        "env": {
          "DATABRICKS_HOST": "https://your-workspace.databricks.com",
          "DATABRICKS_TOKEN": "dapi..."
        }
      }
    }
  }
}

Any MCP Client (Generic stdio)

The server uses stdio transport. Connect from any MCP-compatible client:

bash
# Set auth env vars
export DATABRICKS_HOST=https://your-workspace.databricks.com
export DATABRICKS_TOKEN=dapi...

# Start the server (communicates via stdin/stdout)
databricks-mcp

Tip: Load Only What You Need

If your MCP client struggles with many tools, use selective loading to reduce the tool count:

json
{
  "mcpServers": {
    "databricks": {
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://your-workspace.databricks.com",
        "DATABRICKS_TOKEN": "dapi...",
        "DATABRICKS_MCP_TOOLS_INCLUDE": "unity_catalog,sql,compute,jobs"
      }
    }
  }
}

Tool Modules

ModuleToolsDescription
unity_catalog23Catalogs, schemas, tables, volumes, functions, registered models
sql14Warehouses, SQL execution, queries, alerts, history
workspace10Notebooks, files, repos
compute18Clusters, instance pools, policies, node types, Spark versions
jobs13Jobs, runs, tasks, repair, cancel all
pipelines8DLT / Lakeflow pipelines
serving10Serving endpoints, model versions, OpenAPI
vector_search10Vector search endpoints, indexes, sync
apps10Databricks Apps lifecycle
database10Lakebase PostgreSQL instances
dashboards9Lakeview AI/BI dashboards, published views
genie5Genie AI/BI conversations
secrets8Secret scopes and secrets
iam16Users, groups, service principals, permissions, current user
connections5External connections
experiments14MLflow experiments, runs, artifacts, metrics, params
sharing11Delta Sharing shares, recipients, providers
files12DBFS and UC Volumes file operations
grants3Unity Catalog permission grants (GRANT/REVOKE)
storage10Storage credentials and external locations
metastores8Unity Catalog metastore management
online_tables3Online tables for low-latency serving
global_init_scripts5Workspace-wide init scripts
tokens5Personal access token management
git_credentials5Git credential management for repos
quality_monitors8Data quality monitoring and refreshes
command_execution4Interactive command execution on clusters
workflows5Composite multi-step operations (workspace status, schema setup, query preview)

Selective Tool Loading

With 263 tools, it's recommended to load only the modules you need. This improves agent performance and tool selection accuracy.

Role-Based Presets (Recommended)

Pick a preset that matches your role:

PresetModulesToolsConfig
Data Engineerunity_catalog, sql, compute, jobs, pipelines, files, quality_monitors~100DATABRICKS_MCP_TOOLS_INCLUDE=unity_catalog,sql,compute,jobs,pipelines,files,quality_monitors
ML Engineerserving, vector_search, experiments, compute, unity_catalog, online_tables, files~98DATABRICKS_MCP_TOOLS_INCLUDE=serving,vector_search,experiments,compute,unity_catalog,online_tables,files
Platform Adminiam, secrets, tokens, metastores, compute, global_init_scripts, grants, storage~85DATABRICKS_MCP_TOOLS_INCLUDE=iam,secrets,tokens,metastores,compute,global_init_scripts,grants,storage
App Developerapps, database, sql, files, serving, secrets~64DATABRICKS_MCP_TOOLS_INCLUDE=apps,database,sql,files,serving,secrets
Data Analystsql, unity_catalog, dashboards, genie, workspace~61DATABRICKS_MCP_TOOLS_INCLUDE=sql,unity_catalog,dashboards,genie,workspace
Minimalsql, unity_catalog~37DATABRICKS_MCP_TOOLS_INCLUDE=sql,unity_catalog

Example using a preset in Claude Code:

json
{
  "mcpServers": {
    "databricks": {
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://your-workspace.databricks.com",
        "DATABRICKS_TOKEN": "dapi...",
        "DATABRICKS_MCP_TOOLS_INCLUDE": "unity_catalog,sql,compute,jobs,pipelines,files,quality_monitors"
      }
    }
  }
}

Custom Filtering

bash
# Only include specific modules
export DATABRICKS_MCP_TOOLS_INCLUDE=unity_catalog,sql,serving

# Exclude specific modules (cannot combine with INCLUDE)
export DATABRICKS_MCP_TOOLS_EXCLUDE=iam,sharing,experiments

If INCLUDE is set, only those modules load. If EXCLUDE is set, everything except those modules loads. INCLUDE takes precedence if both are set.

Tool Discovery (For AI Agents)

The server includes built-in tool discovery to help AI agents find the right tools:

MCP Resources

URIDescription
databricks://workspace/infoWorkspace URL, current user, auth type
databricks://tools/guideTool catalog with module descriptions, use cases, and role presets

Agents can read databricks://tools/guide at connection time to understand what's available.

Discovery Tool

The databricks_tool_guide tool helps agents find the right tools during a conversation:

code
# Find tools for a specific task
databricks_tool_guide(task="run a SQL query")
databricks_tool_guide(task="deploy an ML model")
databricks_tool_guide(task="create a user")

# Get role-based recommendations
databricks_tool_guide(role="data_engineer")
databricks_tool_guide(role="ml_engineer")

This returns matching modules with descriptions and usage hints, so the agent knows exactly which databricks_* tools to call.

MCP Prompts (Guided Workflows)

The server includes 8 prompt templates that guide AI agents through multi-step Databricks workflows:

PromptDescription
explore_data_catalogBrowse Unity Catalog structure (catalogs → schemas → tables)
query_dataFind a warehouse, execute SQL, and format results
debug_failing_jobInvestigate a failing job: status, logs, error analysis
setup_ml_experimentCreate an MLflow experiment and configure tracking
deploy_modelDeploy a model to a serving endpoint
setup_data_pipelineCreate a DLT pipeline with scheduling
workspace_health_checkAudit clusters, warehouses, jobs, and endpoints
manage_permissionsReview and update permissions on workspace objects

Prompts appear automatically in MCP clients that support them (e.g., Claude Desktop's prompt picker).

Docker

Run the MCP server in a container:

bash
# Build
docker build -t databricks-mcp .

# Run with stdio
docker run -i \
  -e DATABRICKS_HOST=https://your-workspace.databricks.com \
  -e DATABRICKS_TOKEN=dapi... \
  databricks-mcp

# Run with SSE transport
docker run -p 8080:8080 \
  -e DATABRICKS_HOST=https://your-workspace.databricks.com \
  -e DATABRICKS_TOKEN=dapi... \
  databricks-mcp --transport sse --port 8080

# Run with selective modules
docker run -i \
  -e DATABRICKS_HOST=https://your-workspace.databricks.com \
  -e DATABRICKS_TOKEN=dapi... \
  -e DATABRICKS_MCP_TOOLS_INCLUDE=sql,unity_catalog \
  databricks-mcp

SSE Transport (Remote Server)

The server supports SSE transport for remote connections:

bash
# Start as SSE server
databricks-mcp --transport sse --port 8080

# Custom host/port
databricks-mcp --transport sse --host 127.0.0.1 --port 3000

Connect from any MCP client that supports SSE:

json
{
  "mcpServers": {
    "databricks": {
      "url": "http://localhost:8080/sse"
    }
  }
}

Development

bash
# Install with dev dependencies
pip install -e ".[dev]"

# Lint
ruff check databricks_mcp/

# Test
pytest tests/ -v

Author

Pramod Bhat

License

Apache 2.0 -- see LICENSE.

常见问题

Databricks MCP Server 是什么?

提供 263 个 Databricks 工具,覆盖 Unity Catalog、SQL、Compute、Jobs、Serving 等核心能力。

相关 Skills

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描116.0k

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描116.0k

MCP服务构建器

by alirezarezvani

Universal
热门

从 OpenAPI 一键生成 Python/TypeScript MCP server 脚手架,并校验 tool schema、命名规范与版本兼容性,适合把现有 REST API 快速发布成可生产演进的 MCP 服务。

帮你快速搭建 MCP 服务与后端 API,脚手架完善、扩展顺手,尤其适合想高效验证服务能力的开发者。

平台与服务
未扫描10.7k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
83.6k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
78.4k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
36.5k

评论