Databricks MCP Server

Databricks MCP Server

site icon
2025.03.24 13
PythonDatabricks 管理LLM 集成自动化工具开发效率数据库
Databricks MCP Server 是一个基于 Model Completion Protocol (MCP) 的服务,旨在通过 MCP 协议提供对 Databricks 功能的访问。它允许 LLM(大型语言模型)驱动的工具与 Databricks 集群、作业、笔记本等进行交互。该服务支持 MCP 协议,集成了 Databricks REST API,并提供了工具注册功能,支持异步操作。
View on GitHub

Overview

基本能力

产品定位

Databricks MCP Server 是一个为 Databricks 设计的 MCP 服务器,通过 MCP 协议提供对 Databricks 功能的访问,使 LLM 驱动的工具能够与 Databricks 集群、作业、笔记本等进行交互。

核心功能

  • MCP 协议支持:实现 MCP 协议,允许 LLM 与 Databricks 交互。
  • Databricks API 集成:提供对 Databricks REST API 功能的访问。
  • 工具注册:将 Databricks 功能暴露为 MCP 工具。
  • 异步支持:基于 asyncio 构建,支持高效操作。

适用场景

  • 通过 LLM 驱动的工具管理 Databricks 集群。
  • 自动化执行 Databricks 作业和笔记本。
  • 查询和管理 Databricks 文件系统(DBFS)中的文件和目录。
  • 执行 SQL 语句并获取结果。

工具列表

  • list_clusters:列出所有 Databricks 集群。
  • create_cluster:创建新的 Databricks 集群。
  • terminate_cluster:终止 Databricks 集群。
  • get_cluster:获取特定 Databricks 集群的信息。
  • start_cluster:启动已终止的 Databricks 集群。
  • list_jobs:列出所有 Databricks 作业。
  • run_job:运行 Databricks 作业。
  • list_notebooks:列出工作区目录中的笔记本。
  • export_notebook:从工作区导出笔记本。
  • list_files:列出 DBFS 路径中的文件和目录。
  • execute_sql:执行 SQL 语句。

常见问题解答

  • 如何设置环境变量?:可以通过命令行或 .env 文件设置 DATABRICKS_HOSTDATABRICKS_TOKEN
  • 如何启动服务器?:使用提供的脚本 start_mcp_server.ps1(Windows)或 start_mcp_server.sh(Linux/Mac)。
  • 如何运行测试?:使用 run_tests.ps1 脚本或直接运行 pytest

使用教程

使用依赖

  • Python 3.10 或更高版本
  • uv 包管理器(推荐用于 MCP 服务器)。

安装教程

  1. 安装 uv: ```bash # MacOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (in PowerShell) irm https://astral.sh/uv/install.ps1 | iex ``` 安装完成后重启终端。

  1. 克隆仓库: bash git clone https://github.com/JustTryAI/databricks-mcp-server.git cd databricks-mcp-server

  2. 设置项目: ```bash # 创建并激活虚拟环境 uv venv

# Windows ..venv\Scripts\activate

# Linux/Mac source .venv/bin/activate

# 安装依赖 uv pip install -e .

# 安装开发依赖 uv pip install -e ".[dev]" ```

  1. 设置环境变量: ```bash # Windows set DATABRICKS_HOST=https://your-databricks-instance.azuredatabricks.net set DATABRICKS_TOKEN=your-personal-access-token

# Linux/Mac export DATABRICKS_HOST=https://your-databricks-instance.azuredatabricks.net export DATABRICKS_TOKEN=your-personal-access-token `` 或使用.env` 文件。

调试方式

  1. 启动 MCP 服务器: ```bash # Windows .\start_mcp_server.ps1

# Linux/Mac ./start_mcp_server.sh ```

  1. 查询 Databricks 资源: ```bash # 查看所有集群 uv run scripts/show_clusters.py

# 查看所有笔记本 uv run scripts/show_notebooks.py ```

  1. 运行测试: ```bash # 运行所有测试 .\scripts\run_tests.ps1

# 运行特定测试 .\scripts\run_tests.ps1 -Verbose -Coverage tests/test_clusters.py ```

许可证

该项目遵循 MIT 开源许可条款。