Databricks AI Dev Kit MCP 服务器
使用说明(Markdown 格式)
-
项目简介
- 这是一个基于 MCP(Model Context Protocol)的服务器实现,用于向 LLM 客户端暴露 Databricks 相关的资源、工具和提示模板等能力,核心通过 FastMCP 实现 MCP 服务端,并提供一组经过装饰的工具(Tool)供 MCP 客户端调用。系统还包含会话管理、动态令牌刷新、备份、技能管理等模块,旨在为 Claude Code 等 AI 助手提供可扩展、可安全管理的上下文服务。
-
主要功能点
- MCP 核心服务端:通过 fastmcp 提供 MCP 服务器,注册并暴露大量 Databricks 相关工具(如 SQL、计算、文件、流水线、作业、Unity Catalog 等)。
- 资源与会话管理:提供对 Project、Conversation、Messages、Executions 的数据库持久化与会话恢复能力,包含历史执行、事件流、以及备份/恢复逻辑。
- 安全与认证:包含 per-user 上下文、Databricks OAuth/Token 刷新、上下文上下文变量传递,以支持多用户并发。
- 工具的异步执行与活跃流:通过异步模式支持长时间运行任务的进度流(异步返回、轮询状态)。
- 技能与技能加载:技能管理模块实现技能从外部仓库复制、按需复制到项目/应用中,以及技能树的加载与缓存。
- 备份与恢复:定时备份项目文件并提供快速恢复能力,确保会话和资源的可持续性。
- 系统提示与资源链接渲染:系统提示生成包含可点击链接的资源指引,便于 LLM 给出操作结果和上下文链接。
-
安装步骤
- 获取代码:克隆仓库并切换到包含 MCP 服务的目录,例如 databricks-mcp-server。
- 安装依赖:在项目根目录运行相应的包管理工具安装依赖(Python 依赖如 FastAPI、SQLAlchemy、databricks-sdk、fastmcp 等,请参考各子模块的 setup/requirements)。
- 启动 MCP 服务器:
- 方法一(标准输入输出传输,适合与 Claude Code 等直接集成):在项目中执行 python databricks-mcp_server/run_server.py(或在容器/工作流中执行等价命令)。
- 运行环境要求:根据仓库中使用的环境变量,需要配置 Databricks 主机地址、令牌、以及 Lakebase 数据库相关配置(静态 URL 或动态 OAuth 模式),具体请参照仓库中 databricks-builder-app 及 database 模块的文档。
- 客户端配置(MCP 客户端侧信息,服务器端不需要改动):
- MCP 客户端需要提供一个配置项,至少包含服务器名称、启动命令以及参数,用于建立与服务器的连接。以下为示例描述(非代码块,供参考;实际配置请以你的客户端实现为准):
- server_name: "databricks"
- command: "/path/to/venv/bin/python"
- args: ["-m", "databricks-mcp_server.run_server"] 或者 ["databricks-mcp-server/run_server.py"]
- transport: "stdio"(表示使用标准输入输出作为传输通道)
- 备注:具体参数取决于你使用的 MCP 客户端框架,以上信息用于帮助你完成客户端配置。
- MCP 客户端需要提供一个配置项,至少包含服务器名称、启动命令以及参数,用于建立与服务器的连接。以下为示例描述(非代码块,供参考;实际配置请以你的客户端实现为准):
-
服务器配置(MCP 客户端需要的启动信息,基于仓库实现给出准确注释说明)
- server_name: "databricks"
- command: "/path/to/venv/bin/python"
- args: ["databricks-mcp-server/run_server.py"]
- transport: "stdio" 说明:该配置用于 MCP 客户端在启动后通过标准输入输出与 MCP 服务器建立通信。命令与参数需在客户端运行环境中实际存在且可执行。
-
基本使用方法
- 启动与连接:先启动 MCP 服务器(如上所述),客户端通过提供的 server_name、command、args 等信息建立连接。
- 调用资源、工具与提示模板:通过 MCP 客户端向服务器发起 JSON-RPC 请求,服务器返回资源列表、工具执行结果、或系统提示文本以供 LLM 使用。
- 会话管理与持久化:服务器在后台维护会话状态和流式执行的事件序列,支持断点续传、重连以及跨会话的资源恢复。
- 兼容性与扩展:服务器设计为可扩展,支持增加新的工具集、技能、以及多传输协议(如 StdIO/SSE/WebSocket),以适配不同的前端客户端。
-
可能的限制与注意
- MCP 客户端需要与服务器的 JSON-RPC 结构对齐,确保调用的工具名称、参数格式符合工具注册时的定义。
- 运行时依赖(Databricks、Lakebase、数据库等)的正确配置是必需的,否则会导致连接失败或功能不可用。
- 由于涉及外部 API 调用(Databricks、MLflow、Genie 等),在生产环境中请确保凭证、网络权限与访问控制正确配置。
-
关键词 Databricks, 资源管理, 工具执行, 会话持久化, 系统提示
-
分类 6