Token导航 LogoToken导航

MCP Server · 数据服务

Databricks Tools MCP

Databricks Unity Catalog探索的模型上下文协议(MCP)服务器,提供基于角色的访问控制和多工作区支持。

stdio官方级别未说明来源级核验工具 13
数据管理PythonClaudeClaude Desktop

快速开始

作者 / 组织
afia28
提供方
afia28
运行时
Python

工具数量

13

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Databricks Tools MCP 属于数据服务类 MCP Server,公开资料标注 13 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

数据服务

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

uv run databricks-tools-init

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 13 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

Databricks 工具 MCP 服务器

一个用于Databricks Unity Catalog探索的基于角色访问控制的模型上下文协议(MCP)服务器。

特点/功能

  • 基于角色的访问控制(分析师/开发者模式)
  • 多工作区支持
  • SQL查询执行,自动分块响应
  • Unity 目录探索(目录、模式、表、列)
  • 集中化响应管理,具备自动令牌验证功能
  • 智能分块响应(每条响应限制9000个标记)
  • 所有工具中一致的错误格式化
  • 用户定义函数(UDF)管理
  • 13种综合的MCP工具

快速入门

安装

选项1:交互式向导(推荐)

开始的最简单方法:

# Clone the repository
git clone https://github.com/afia28/databricks-tools.git
cd databricks-tools

# Install dependencies
uv sync

# Run interactive setup wizard
uv run databricks-tools-init

# Follow the prompts to configure your workspace
# Restart Claude Desktop when complete

向导将:

  • 引导您进行凭证收集
  • 验证您的Databricks连接
  • 自动更新Claude桌面配置
  • 创建一个安全的 .env 文件

选项2:手动安装

对于高级用户或自定义设置:

# Clone/navigate to the repository
cd databricks-tools

# Install dependencies
uv sync

# Create environment file
cp .env.example .env
# Edit .env with your Databricks credentials

见 docs/guides/INSTALLATION.md 翻译为中文是:文档/指南/安装指南.md 如需详细的安装说明、故障排除方法以及针对特定平台的指南,请参阅相关文档。

配置

编辑 .env 提供您的Databricks工作区详细信息:

DATABRICKS_SERVER_HOSTNAME=https://your-workspace.cloud.databricks.com
DATABRICKS_HTTP_PATH=/sql/1.0/warehouses/your-warehouse-id
DATABRICKS_TOKEN=dapi_your_token_here

对于多个工作区(仅限开发者模式),添加前缀变量:

PRODUCTION_DATABRICKS_SERVER_HOSTNAME=https://prod.cloud.databricks.com
PRODUCTION_DATABRICKS_HTTP_PATH=/sql/1.0/warehouses/prod-id
PRODUCTION_DATABRICKS_TOKEN=dapi_prod_token

运行服务器

# Analyst mode (default workspace only)
uv run databricks-tools

# Developer mode (all configured workspaces)
uv run databricks-tools --developer

Claude 桌面集成

添加到Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "databricks-tools": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/Users/ahmed/PycharmProjects/PythonProject/databricks-tools-clean",
        "databricks-tools"
      ]
    }
  }
}

可用工具

工具描述
list_workspaces列出所有已配置的工作区
get_table_row_count获取表的行数
get_table_details获取表结构和示例数据
run_query执行任意SQL查询
list_catalogs列出所有 Unity Catalog 目录
list_schemas列出目录中的架构
list_tables列出模式中的表
list_columns获取表的列元数据
list_user_functions列出目录.schema中的UDF(用户定义函数)
describe_function获取详细的UDF信息
list_and_describe_all_functions列出并描述所有用户定义函数(UDFs)
get_chunk获取分块响应数据
get_chunking_session_info获取分块会话信息

基于角色的访问控制

分析模式(默认)

  • 仅限访问默认工作区
  • 工作区参数为 被忽视
  • 非常适合商务用户和分析师
  • 运行: uv run databricks-tools

开发者模式

  • 访问所有已配置的工作区
  • 可以在不同的工作区之间切换
  • 非常适合技术用户
  • 运行: uv run databricks-tools --developer

看 文档/开发/角色说明.md 以获取详细信息。

发展

# Format code
uv run ruff format .

# Lint code
uv run ruff check .

# Type checking
uv run mypy .

# Install pre-commit hooks (includes mypy, pytest, coverage)
uv run pre-commit install

# Run pre-commit checks (includes type checking, tests, 85% coverage threshold)
uv run pre-commit run --all-files

# Run tests manually
uv run pytest tests/

# Run tests with coverage
uv run pytest tests/ --cov=src/databricks_tools --cov-report=term-missing

持续集成/持续交付(CI/CD)与发布

该项目包含用于测试、代码检查(linting)和发布版本的自动化CI/CD流水线。

自动化工作流

  • 持续集成(CI)工作流 - 在所有推送和拉取请求(PRs)上运行,以验证代码质量和执行测试
  • 发布工作流 - 当推送版本标签时,自动发布到私有PyPI
  • 克劳德代码审查 - 为拉取请求提供基于AI的代码审查

创建发布版本

# Update version in src/databricks_tools/__init__.py
# Update CHANGELOG.md with release notes

# Commit changes
git add src/databricks_tools/__init__.py CHANGELOG.md
git commit -m "chore: bump version to 0.3.0"
git push origin main

# Create and push version tag
git tag v0.3.0
git push origin v0.3.0

# GitHub Actions will automatically:
# 1. Build source distribution and wheel
# 2. Publish to private PyPI
# 3. Create GitHub release with artifacts

看 文档/guides/CICD_SETUP.md(或可译为:指南/文档/CICD设置指南.md,具体翻译可能根据上下文调整) 用于全面的CI/CD设置、配置和故障排除。

项目结构

databricks-tools-clean/
   src/databricks_tools/
      __init__.py
      server.py           # Main MCP server
      config/
         __init__.py
         models.py        # Pydantic configuration models (US-1.1)
         workspace.py     # Workspace configuration manager (US-1.2)
      core/
         __init__.py
         token_counter.py # Token counting utility with caching (US-2.1)
         connection.py    # Database connection manager (US-2.2)
         query_executor.py # SQL query executor service (US-2.3)
      security/
         __init__.py
         role_manager.py  # Role-based access control manager (US-1.3)
      services/
         __init__.py
         catalog_service.py  # Catalog operations service (US-3.1)
         table_service.py    # Table operations service (US-3.2)
         function_service.py # UDF operations service (US-3.3)
         chunking_service.py # Response chunking service (US-4.1)
         response_manager.py # Response formatting manager (US-4.2)
   tests/
      test_config/
         __init__.py
         test_models.py   # Configuration model tests (32 tests, 100% coverage)
         test_workspace.py # Workspace manager tests (14 tests, 94% coverage)
      test_core/
         __init__.py
         test_token_counter.py # Token counter tests (28 tests, 100% coverage)
         test_connection.py    # Connection manager tests (16 tests, 100% coverage)
         test_query_executor.py # Query executor tests (22 tests, 100% coverage)
      test_security/
         __init__.py
         test_role_manager.py # Role manager tests (21 tests, 92% coverage)
      test_services/
         __init__.py
         test_catalog_service.py  # Catalog service tests (30 tests, 100% coverage)
         test_table_service.py    # Table service tests (41 tests, 100% coverage)
         test_function_service.py # Function service tests (36 tests, 100% coverage)
         test_chunking_service.py # Chunking service tests (30 tests, 100% coverage)
         test_response_manager.py # Response manager tests (39 tests, 100% coverage)
   .github/workflows/
      ci.yml              # CI pipeline (linting, testing)
      publish.yml         # Publish to private PyPI on version tags
      claude-code-review.yml # Claude Code review
      claude.yml          # Claude integration
   .claude/
      CLAUDE.md           # Development guide
      settings.local.json # Claude permissions
   pyproject.toml          # Project config
   .env.example            # Environment template
   README.md               # This file
   ROLES.md                # Role documentation

建筑学

这个项目遵循了整洁架构原则,采用了模块化、类型安全的设计。参见 文档/架构/ARCHITECTURE.md 以进行全面记录。

设计模式

该代码库实现了多种成熟的设计模式:

  • 仓储模式(或仓库模式) (QueryExecutor- 抽象数据库访问,并提供简洁的数据操作界面
  • 策略模式 (RoleManager- 实现基于角色的访问控制,并支持可替换的策略(分析师策略、开发者策略)
  • 工厂模式 (WorkspaceConfig.from_env- 从环境变量中封装复杂对象的创建过程
  • 依赖注入 (ApplicationContainer- 线程处理所有依赖项并消除全局状态
  • 服务层模式 - 业务逻辑被组织成专注于服务的类(目录服务、表服务、功能服务、分块服务、响应管理器)
  • 上下文管理器协议 (ConnectionManager) - 确保数据库连接资源的安全管理

组件概览

MCP Client → Server (13 Tools) → ApplicationContainer → Services → Core → Databricks

层:

  • MCP 服务器 - 13个通过模型上下文协议暴露功能的工具
  • 应用容器 - 依赖注入容器连接所有服务
  • 服务层 - 业务逻辑(目录、表格、函数、分块处理、响应服务)
  • 核心服务 - 令牌计数,连接管理,查询执行
  • 安全层 - 基于角色的访问控制,采用策略模式
  • 配置 - 用于类型安全配置的 Pydantic 模型

见 文档/架构/ARCHITECTURE.md 以获取详细的图表和数据流文档。

使用示例

这个(或“该”) examples/ 目录中包含全面的使用示例:

快速示例:列出目录

from databricks_tools.core.container import ApplicationContainer
from databricks_tools.security.role_manager import Role

# Create application container
container = ApplicationContainer(role=Role.ANALYST)

# List all catalogs
catalogs = container.catalog_service.list_catalogs()
print(f"Available catalogs: {catalogs['catalogs']}")

快速示例:执行查询

from databricks_tools.core.container import ApplicationContainer

# Create container
container = ApplicationContainer()

# Execute SQL query
result_df = container.query_executor.execute_query(
    "SELECT * FROM main.default.my_table LIMIT 10"
)

print(result_df)

看 示例/ 以获取更多全面的示例。

文档

主要文档

用户指南

建筑与设计

开发文档

示例与配置

安全

  • 存储凭据于 .env (从不提交到git)
  • 定期更换令牌
  • 使用适当的Databricks权限
  • 考虑为生产环境设置服务主体

许可证

麻省理工学院(MIT)

工具与能力

工具数量

13

资源数量

0

提示词数量

0

能力标签

数据管理Python本地部署角色访问控制UnityCatalogSQL查询多工作区支持

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 工具数量 13 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Databricks Tools MCP

MCP World · 本页

13stdio有1 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Databricks Tools MCP 怎么安装?

公开资料给出的安装命令是 uv run databricks-tools-init,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Databricks Tools MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Databricks Tools MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Databricks Tools MCP 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Databricks Tools MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP