使用说明

项目简介

Databricks MCP 服务器是一个实现了 Model Context Protocol (MCP) 的后端应用,它充当大型语言模型 (LLM) 与 Databricks 数据分析平台之间的桥梁。通过此服务器,LLM 应用能够以标准化的方式安全、可扩展地访问和操作 Databricks 的各项服务,例如集群管理、作业调度、Notebook 操作和 DBFS 文件系统访问等。

主要功能点

  • MCP 协议支持: 完全实现了 Model Context Protocol,确保与 MCP 客户端的无缝集成和标准化通信。
  • Databricks API 集成: 深度整合了 Databricks REST API,将 Databricks 的强大功能转化为可被 LLM 调用的工具。
  • 工具注册: 将 Databricks 的各项功能以 MCP 工具的形式暴露出来,方便 LLM 按需调用,执行如集群管理、作业运行、Notebook 操作和 SQL 查询等任务。
  • 异步支持: 基于 asyncio 异步框架构建,保证服务器的高效运行和并发处理能力。
  • 丰富的工具集: 预置了大量实用的 Databricks 工具,包括:
    • 集群管理工具:列出、创建、启动、终止、获取集群信息等。
    • 作业管理工具:列出、运行 Databricks 作业。
    • Notebook 管理工具:列出、导出 Notebook。
    • DBFS 文件系统工具:列出 DBFS 路径下的文件和目录。
    • SQL 执行工具:执行 SQL 查询语句。

安装步骤

  1. 环境准备:

    • 确保已安装 Python 3.10 或更高版本。
    • 推荐使用 'uv' 包管理器,如果未安装请先安装 'uv'。安装命令(根据操作系统选择):
      # MacOS/Linux
      curl -LsSf https://astral.sh/uv/install.sh | sh
      
      # Windows (在 PowerShell 中)
      irm https://astral.sh/uv/install.ps1 | iex
      安装完成后,重启终端。
  2. 克隆仓库:

    git clone https://github.com/markov-kernel/databricks-mcp.git
    cd databricks-mcp
  3. 项目设置:

    # 创建并激活虚拟环境
    uv venv
    
    # Windows
    .\.venv\Scripts\activate
    
    # Linux/Mac
    source .venv/bin/activate
    
    # 安装项目依赖(开发模式)
    uv pip install -e .
  4. 配置环境变量:

    • 设置 Databricks 主机和访问令牌。可以通过以下两种方式配置:
      • 方式一:直接设置环境变量
        # 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' 文件 复制仓库中的 '.env.example' 文件并重命名为 '.env',然后根据提示修改文件中的 'DATABRICKS_HOST' 和 'DATABRICKS_TOKEN'。

服务器配置

MCP 客户端需要配置以下 JSON 信息才能连接到 Databricks MCP 服务器。请根据您的操作系统选择合适的启动命令和参数:

{
  "serverName": "databricks-mcp",
  "command": "pwsh",  // 启动服务器的命令,Windows 系统使用 pwsh (PowerShell)
  "args": [           // 启动命令的参数
    "-File",
    "./start_mcp_server.ps1" // Windows 系统启动脚本路径
  ],
  "env": {            // (可选) 环境变量,如果已经在系统环境中设置,可以省略
    "DATABRICKS_HOST": "https://your-databricks-instance.azuredatabricks.net", // 您的 Databricks 主机地址
    "DATABRICKS_TOKEN": "your-personal-access-token"  // 您的 Databricks 个人访问令牌
  }
}

或者,如果您在 Linux/Mac 系统上运行:

{
  "serverName": "databricks-mcp",
  "command": "bash",  // 启动服务器的命令,Linux/Mac 系统使用 bash
  "args": [           // 启动命令的参数
    "./start_mcp_server.sh" // Linux/Mac 系统启动脚本路径
  ],
  "env": {            // (可选) 环境变量,如果已经在系统环境中设置,可以省略
    "DATABRICKS_HOST": "https://your-databricks-instance.azuredatabricks.net", // 您的 Databricks 主机地址
    "DATABRICKS_TOKEN": "your-personal-access-token"  // 您的 Databricks 个人访问令牌
  }
}

注意:

  • 请将 'https://your-databricks-instance.azuredatabricks.net' 替换为您的实际 Databricks 主机地址。
  • 请将 'your-personal-access-token' 替换为您的 Databricks 个人访问令牌。
  • 'env' 部分是可选的,如果 'DATABRICKS_HOST' 和 'DATABRICKS_TOKEN' 已经作为系统环境变量设置,则可以省略 'env' 配置。

基本使用方法

  1. 启动服务器:

    • 在项目根目录下,根据您的操作系统运行相应的启动脚本:
      # Windows
      .\start_mcp_server.ps1
      
      # Linux/Mac
      ./start_mcp_server.sh
    • 服务器启动后,将监听 MCP 客户端的连接。
  2. 使用 MCP 客户端连接并调用工具:

    • 使用任何兼容 MCP 协议的客户端(例如 'mcp-cli' 或集成 MCP 客户端的 LLM 应用)。
    • 配置客户端连接信息,指向正在运行的 Databricks MCP 服务器。
    • 通过客户端发送 MCP 请求,例如列出集群、运行作业等。
    • 服务器将处理请求,调用 Databricks API,并将结果以 MCP 响应格式返回给客户端。

例如,使用 'mcp-cli' 可以列出所有可用的工具:

mcp --server-config='{"serverName": "databricks-mcp", "command": "bash", "args": ["./start_mcp_server.sh"]}' list-tools

更多工具的使用方法,请参考仓库 'README.md' 文件中 "Available Tools" 部分的描述,并在 MCP 客户端中调用相应的工具名称和参数。

信息

分类

开发者工具