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

Databricks Tools MCP

MCP Server

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

工具数

13

提示词数

0

GitHub Stars

0

资源数

0
数据管理PythonClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

afia28

提供方

afia28

最后核验

2026/5/17 20:22

运行时

Python

快速接入

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

命令预览

uv run databricks-tools-init

详细介绍

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)

目录标签

目录标签

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

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

token

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

13

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiotoken部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP