Token导航 LogoToken导航TokenDH.com
Databricks Advanced MCP Server logo
数据服务stdio官方级别未说明来源级核验

Databricks Advanced MCP Server

MCP Server

一个高级的模型上下文协议(MCP)服务器,为AI助手提供对Databricks工作区的深度可见性,涵盖SQL执行、依赖扫描、影响分析、笔记本审查等43种工具。

工具数

43

提示词数

0

GitHub Stars

0

资源数

0
PythonVS Code数据分析VS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

henrybravo

提供方

henrybravo

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install databricks-advanced-mcp

详细介绍

Rancher高级MCP服务器

![Python 3.11+](https://www.python.org/downloads/) ![PyPI](https://pypi.org/project/databricks-advanced-mcp/) ![License: MIT](LICENSE) ![MCP](https://modelcontextprotocol.io) ![CI](https://github.com/henrybravo/databricks-advanced-mcp-server/actions/workflows/ci.yml) ![codecov](https://codecov.io/gh/henrybravo/databricks-advanced-mcp-server)

先进的 模型上下文协议(MCP) 服务器,使AI助手能够深入了解您的copula工作区——43个工具,涵盖依赖关系扫描、影响分析、笔记本审查、作业/流水线操作、SQL执行、目录管理、计算和仓库控制以及Unity catalog卷。

特性

域名它做什么
SQL 执行使用可配置的结果限制对ConnectionSQL仓库运行SQL查询
表信息检查表元数据、模式、列详细信息、行数和存储信息
依赖关系扫描扫描笔记本、作业和DLT管道以构建工作区依赖关系图(DAG)
图的运算构建、查询和刷新工作区依赖关系图
影响分析预测列删除、模式更改或管道故障导致的下游中断
笔记本评论检测性能反模式、编码标准违规,并提出优化建议
工作和管道运营列出作业/管道,通过错误诊断获取运行状态,触发重新运行
目录和架构列出目录,列出/描述/创建/删除Unity目录模式
计算列出集群、检查状态、启动/停止/重新启动集群
SQL仓库列出仓库、检查状态、启动/停止SQL仓库
工作区操作创建/读取/删除笔记本、上传文件、获取工作区对象元数据
UC卷列出卷、检查元数据、浏览和读取Unity目录卷中的文件

演示

Demo teaser

Click to play full video

https://github.com/user-attachments/assets/579282ca-bb26-4244-b0c6-3ad26050aca3

涵盖SQL执行、依赖关系扫描、影响分析、笔记本审查和作业/管道操作。

快速开始

先决条件

  • Python 3.11+
  • 紫外线 --快速Python包管理器
  • A. copula工作区 使用SQL仓库
  • 一个docker 个人访问令牌
其他身份验证方法: Rancher SDK支持 统一认证 --如果你不设置 DATABRICKS_TOKEN,它将回退到Azure CLI、托管身份或 .databrickscfgThe .env 为了简单起见,下面的设置使用了PAT。 还没有一个copula工作区?infra/INSTALL.md 使用二头肌进行单命令Azure部署。

1.安装

选项A:从PyPI安装(推荐)

uv pip install databricks-advanced-mcp

或者使用pip:

pip install databricks-advanced-mcp

选项B:从源代码安装

git clone https://github.com/henrybravo/databricks-advanced-mcp-server.git
cd databricks-advanced-mcp-server

创建并激活虚拟环境:

Windows(PowerShell)

uv venv .venv
.\.venv\Scripts\Activate.ps1
uv pip install -e .

macOS/Linux

uv venv .venv
source .venv/bin/activate
uv pip install -e .

2.配置

cp .env.example .env

编辑 .env 使用您的copula凭据:

# Azure Databricks:
DATABRICKS_HOST=https://adb-xxxx.azuredatabricks.net
# Databricks on AWS / GCP:
# DATABRICKS_HOST=https://dbc-xxxx.cloud.databricks.com

DATABRICKS_TOKEN=dapi_your_token
DATABRICKS_WAREHOUSE_ID=your_warehouse_id

# Optional (defaults shown)
# Azure workspaces typically use "main"; AWS/GCP workspaces use "workspace"
DATABRICKS_CATALOG=main
DATABRICKS_SCHEMA=default

3.添加到IDE

创建 .vscode/mcp.json 在您的项目中,使用VS Code/GitHub Copilot注册MCP服务器。

选项A:PyPI安装(推荐)

如果你是从PyPI安装的(pip install databricks-advanced-mcp),the databricks-mcp CLI在您的PATH上可用:

{
  "servers": {
    "databricks-mcp": {
      "type": "stdio",
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://adb-xxxx.azuredatabricks.net",
        "DATABRICKS_TOKEN": "dapi_your_token",
        "DATABRICKS_WAREHOUSE_ID": "your_warehouse_id"
      }
    }
  }
}

选项B:虚拟环境(源代码安装)

如果你克隆了仓库并安装到本地 .venv,直接指向Python解释器:

视窗

{
  "servers": {
    "databricks-mcp": {
      "type": "stdio",
      "command": "${workspaceFolder}/.venv/Scripts/python.exe",
      "args": ["-m", "databricks_advanced_mcp.server"],
      "envFile": "${workspaceFolder}/.env"
    }
  }
}

macOS/Linux

{
  "servers": {
    "databricks-mcp": {
      "type": "stdio",
      "command": "${workspaceFolder}/.venv/bin/python",
      "args": ["-m", "databricks_advanced_mcp.server"],
      "envFile": "${workspaceFolder}/.env"
    }
  }
}

多个工作区

每个MCP服务器实例只连接到一个copula工作区。要同时使用多个工作区,请为每个工作区注册一个单独的服务器条目——每个条目都有自己的凭据:

{
  "servers": {
    // AWS / GCP workspace
    "databricks-cloud": {
      "type": "stdio",
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://dbc-xxxx.cloud.databricks.com",
        "DATABRICKS_TOKEN": "dapi_cloud_token",
        "DATABRICKS_WAREHOUSE_ID": "cloud_warehouse_id",
        "DATABRICKS_CATALOG": "workspace"
      }
    },
    // Azure workspace
    "databricks-azure": {
      "type": "stdio",
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://adb-xxxx.azuredatabricks.net",
        "DATABRICKS_TOKEN": "dapi_azure_token",
        "DATABRICKS_WAREHOUSE_ID": "azure_warehouse_id",
        "DATABRICKS_CATALOG": "main"
      }
    }
  }
}

或者,通过源代码安装,您可以使用单独的 .env 每个工作区的文件:

{
  "servers": {
    "databricks-cloud": {
      "type": "stdio",
      "command": "${workspaceFolder}/.venv/bin/python",
      "args": ["-m", "databricks_advanced_mcp.server"],
      "envFile": "${workspaceFolder}/.env"
    },
    "databricks-azure": {
      "type": "stdio",
      "command": "${workspaceFolder}/.venv/bin/python",
      "args": ["-m", "databricks_advanced_mcp.server"],
      "envFile": "${workspaceFolder}/.env_azure"
    }
  }
}

4.开始使用

配置后,您的AI助手可以调用下面43个工具中的任何一个。以下是按域组织的示例提示:

探索您的数据

  • *“哪些表存在于 analytics 模式?"*
  • *“显示的架构和元数据 main.sales.orders"*
  • *“运行一个查询,按状态对订单进行计数和求和 main.sales.orders"*

Unity目录和模式

  • *“列出我有权访问的所有目录”*
  • *“分析目录中存在哪些模式?”*
  • *“描述 main.default 架构“*
  • *“创建一个名为 staging 在分析目录中”*

了解依赖关系

  • *“构建完整的工作区依赖关系图”*
  • *“上游和下游依赖关系是什么 main.default.customers?"*
  • *“扫描 /Shared/mandated_broker_v2_etl_pipeline 用于表格参考的笔记本”*
  • *“扫描所有作业并显示其表依赖关系”*

在做出更改之前评估影响

  • *“如果我摔了,会有什么破的 customer_id 列从 main.default.customers?"*
  • *“删除的影响是什么 amount 列和重命名 statusorder_statusmain.sales.orders?"*

检查笔记本电脑质量

  • *“审查 /Shared/mandated_broker_v2_etl_pipeline 性能问题”*
  • *“审查 /Shared/analysis 对于所有问题——性能、编码标准和优化”*

监控作业和管道

  • *“列出工作区中的所有作业”*
  • *“作业12345的当前状态如何?”*
  • *“显示DLT管道的管道状态”*
  • *“使用参数env=prod触发作业67890的新运行”*

计算和SQL仓库

  • *“显示集群abc-123的状态”*
  • *“列出所有正在运行的群集”*
  • *“停止开发SQL仓库”*
  • *“目前哪些仓库处于活动状态?”*

工作空间和体积

  • *“将ETL笔记本导出为源”*
  • *“笔记本在/Workspace/Users/me/analysis上的状态如何?”*
  • *“原始数据卷中有哪些文件?”*
  • *“从设置卷读取config.json文件”*

MCP工具

SQL和表(3个工具)

工具说明
execute_query对一个ConnectionSQL仓库执行SQL
get_table_info获取表元数据--列、行数、属性、存储
list_tables列出catalog.schema中的表

依赖性扫描(4个工具)

工具说明
scan_notebook扫描笔记本以查找表/列引用
scan_jobs扫描所有作业以查找表依赖关系
scan_dlt_pipelines扫描所有DLT管道以查找源/目标表
scan_dlt_pipeline按ID扫描单个DLT管道以查找源/目标表

图形操作(3个工具)

工具说明
build_dependency_graph构建完整的工作空间依赖关系图
get_table_dependencies获取表的上游/下游依赖关系
refresh_graph使依赖关系图缓存无效并重新生成

影响分析和审查(2个工具)

工具说明
analyze_impact分析列删除/模式更改/管道故障的影响
review_notebook查看笔记本以了解问题、反模式和优化

作业和管道运营(6个工具)

工具说明
list_jobs列出具有状态和计划信息的作业
get_job_status通过错误诊断获取详细的作业运行状态
list_pipelines列出DLT管道的状态和更新状态
get_pipeline_status使用事件日志获取管道更新详细信息
trigger_rerun触发最新失败作业运行的重新运行(需要确认)
trigger_job_run使用可选参数触发全新的作业运行(需要确认)

目录和模式(5个工具)

工具说明
list_catalogs列出当前主体可访问的所有Unity目录
list_schemas列出目录中的所有架构
describe_schema获取架构元数据、所有者、注释和属性
create_schema在目录中创建新架构(需要确认)
drop_schema删除架构--必须为空(需要确认)

计算(5个工具)

工具说明
list_clusters列出所有具有状态、创建者和节点类型的集群
get_cluster_status获取详细的集群状态、spark版本和配置
start_cluster启动已终止的群集(需要确认)
stop_cluster停止(终止)正在运行的集群(需要确认)
restart_cluster重新启动正在运行的群集(需要确认)

SQL仓库(4个工具)

工具说明
list_warehouses列出所有SQL仓库的状态、大小和类型
get_warehouse_status获取详细的仓库配置、扩展和自动停止设置
start_warehouse启动已停止的SQL仓库(需要确认)
stop_warehouse停止正在运行的SQL仓库(需要确认)

工作空间操作(7个工具)

工具说明
list_workspace_notebooks列出工作区路径中的所有笔记本
create_job创建新的copula作业(需要确认)
create_notebook在工作区中创建笔记本(需要确认)
workspace_upload将本地文件上传到工作区(需要确认)
read_notebook读取/导出笔记本的内容(SOURCE或HTML)
delete_workspace_item删除笔记本或文件夹(需要确认)
get_workspace_status获取工作区对象的元数据(类型、语言、已修改)

UC卷(4个工具)

工具说明
list_volumes在Catalog.schema中列出Unity目录卷
get_volume_info获取卷元数据(类型、存储位置、所有者)
list_volume_files列出卷内的文件和目录
read_volume_file从卷中读取文件内容

配置参考

变量必填默认描述
DATABRICKS_HOST--工作区URL(https://adb-xxx.azuredatabricks.net 对于Azure, https://dbc-xxx.cloud.databricks.com 适用于AWS/GCP)
DATABRICKS_TOKEN--个人访问令牌或服务主体令牌
DATABRICKS_WAREHOUSE_ID--查询执行的SQL仓库ID
DATABRICKS_CATALOG没有main不合格表名的默认目录--使用 workspace 适用于AWS/GCP
DATABRICKS_SCHEMA没有default非限定表名的默认架构
GRAPH_CACHE_TTL没有3600依赖图缓存TTL(秒)
GRAPH_REFRESH_INTERVAL没有0每N秒在后台自动刷新一次图形。 0 禁用自动刷新
安全说明:execute_query 工具可以运行 任何SQL 针对您的仓库,包括DDL(DROP TABLE, ALTER TABLE)DML(DELETE, UPDATE).使用最小权限服务主体(请参见 安全与治理 下面)而不是生产环境中的个人管理员PAT。

云提供商说明

此服务器经过测试 Azure数据集AWS上的copula (.cloud.databricks.com).主要区别:

特性AzureAWS/GCP
主机格式https://adb-xxx.azuredatabricks.nethttps://dbc-xxx.cloud.databricks.com
默认目录mainworkspace
工作区根对象DIRECTORYDIRECTORYREPO

所有工具都可以在两个平台上运行。集 DATABRICKS_CATALOG 以匹配工作区的默认目录。

安全与治理

推荐:特权最低的服务负责人

避免将个人管理员PAT存储在 .env 或VS代码配置。相反,创建一个仅具有所需权限的专用服务主体:

-- Grant read access on the catalog and schema
GRANT USE CATALOG ON CATALOG main TO `sp-databricks-mcp`;
GRANT USE SCHEMA ON SCHEMA main.default TO `sp-databricks-mcp`;
GRANT SELECT ON SCHEMA main.default TO `sp-databricks-mcp`;

-- For job operations (trigger_rerun, trigger_job_run, get_job_status)
-- Grant CAN_MANAGE_RUN on specific jobs only, via the Databricks UI or API

DATABRICKS_TOKEN 服务主体的OAuth令牌或M2M秘密。Rancher SDK支持 OAuth M2M身份验证 本机-不需要PAT。

工具风险等级

风险工具注释
只读execute_query (仅限选择), get_table_info, list_tables, scan_*, list_*, get_*, describe_schema, build_dependency_graph, get_table_dependencies, analyze_impact, review_notebook, read_notebook, read_volume_file具有只读权限的安全
突变trigger_rerun, trigger_job_run, create_schema, start_cluster, stop_cluster, restart_cluster, start_warehouse, stop_warehouse, create_job, create_notebook, workspace_upload需要 confirm=True
破坏性的drop_schema, delete_workspace_item, execute_query 带DDL/DML需要 confirm=True;仔细确定权限范围

Unity目录ACL

全部 execute_queryget_table_info 调用尊重Unity目录行/列级安全性。如果代币的本金不足 SELECT 在表上,操作失败并出现权限错误——这是预期的正确行为。

查询保护

限制 execute_query 对于只读语句,请限制SQL仓库的通道策略或为此MCP服务器使用专用的只读仓库。

基础设施(可选)

如果您需要配置新的Azure Rancher工作区 infra/ 目录包含:

  • main.bicep --Azure二头肌模板(高级SKU,启用Unity目录)
  • deploy.ps1 --一个命令PowerShell部署脚本
  • INSTALL.md --详细的分步部署指南
cd infra
./deploy.ps1 -ResourceGroupName rg-databricks-mcp -Location eastus2

发展

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

# Run tests (excluding live integration tests)
uv run pytest tests/ --ignore=tests/test_workspace_ops_live.py -v

# Run tests with coverage report
uv run pytest tests/ --cov=src/databricks_advanced_mcp --cov-report=term-missing --ignore=tests/test_workspace_ops_live.py

# Lint
uv run ruff check src/ tests/

# Type check
uv run mypy src/

建筑

src/databricks_advanced_mcp/
├── server.py              # FastMCP server + CLI entry point
├── config.py              # Pydantic settings from env vars
├── client.py              # Databricks SDK client factory
├── tools/                 # MCP tool implementations (43 tools across 13 modules)
│   ├── __init__.py        # Central registration of all tool modules
│   ├── sql_executor.py    # SQL execution (1 tool)
│   ├── table_info.py      # Table metadata (2 tools)
│   ├── dependency_scanner.py # Scan notebooks/jobs/pipelines (4 tools)
│   ├── graph_ops.py       # Build/query/refresh dependency graph (3 tools)
│   ├── impact_analysis.py # Impact analysis (1 tool)
│   ├── notebook_reviewer.py # Notebook review (1 tool)
│   ├── job_pipeline_ops.py  # Job & pipeline operations (6 tools)
│   ├── workspace_listing.py # Workspace listing (1 tool)
│   ├── workspace_ops.py   # Workspace mutations + read/delete (6 tools)
│   ├── catalog_ops.py     # Unity Catalog & schema management (5 tools)
│   ├── compute_ops.py     # Cluster management (5 tools)
│   ├── warehouse_ops.py   # SQL warehouse management (4 tools)
│   └── volume_ops.py      # Unity Catalog volumes (4 tools)
├── parsers/               # Code parsing engines
│   ├── sql_parser.py      # sqlglot-based SQL extraction
│   ├── notebook_parser.py # Databricks notebook cell parsing
│   └── dlt_parser.py      # DLT pipeline definition parsing
├── graph/                 # Dependency graph
│   ├── models.py          # Node, Edge, DependencyGraph data models
│   ├── builder.py         # Graph builder (orchestrates scans)
│   └── cache.py           # In-memory graph cache with TTL
└── reviewers/             # Notebook review rule engines
    ├── performance.py     # Performance anti-patterns
    ├── standards.py       # Coding standards checks
    └── suggestions.py     # Optimization suggestions

许可证

麻省理工学院

______________________________________________________________________

欢迎投稿!看 贡献.md 获取设置说明、PR清单和所需功能列表。

目录标签

目录标签

PythonVS Code数据分析Databricks本地部署MCP服务器AI助手SQL执行依赖分析

支持客户端

VS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

43

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP