JustTryAI_databricks Mcp Server

JustTryAI_databricks Mcp Server

🚀 Databricks MCP 服务器

Databricks MCP 服务器是一个为 Databricks 实现模型完成协议(MCP)的服务器,通过 MCP 协议提供对 Databricks 功能的访问。它使得由大型语言模型 (LLM) 支持的工具能够与 Databricks 集群、作业、笔记本等进行交互,极大地拓展了 Databricks 的应用场景。

🚀 快速开始

Databricks MCP 服务器允许通过 MCP 协议访问 Databricks 功能,使基于大型语言模型(LLM)的工具能与 Databricks 集群、作业、笔记本等进行交互。以下是快速上手的步骤。

✨ 主要特性

  • MCP 协议支持:实现 MCP 协议,允许 LLM 与 Databricks 交互。
  • Databricks API 集成:提供对 Databricks REST API 功能的访问。
  • 工具注册:将 Databricks 功能作为 MCP 工具公开。
  • 异步支持:使用 asyncio 实现高效运行。

📦 安装指南

先决条件

  1. Python 3.8 或更高版本。
  2. pip 包管理器。
  3. 基础的开发工具(如 IDE 和终端)。

设置步骤

步骤 1:克隆仓库

使用以下命令克隆 Databricks MCP 服务器仓库:

git clone https://github.com/your-organization/databricks-mcp-server.git

步骤 2:安装依赖项

进入项目目录后,安装所有依赖项:

pip install -r requirements.txt

步骤 3:启动服务器

运行以下命令启动 MCP 服务器:

python src/server.py

💻 使用示例

直接使用示例

examples/ 文件夹中,您可以找到直接使用服务器的示例:

from databricks_mcp.client import DatabricksMCPClient

client = DatabricksMCPClient('http://localhost:8080', 'your_token')
cluster_info = client.get_cluster(cluster_id)
print(cluster_info)

MCP 客户端使用示例

examples/ 文件夹中,您还可以找到使用 MCP 客户端的示例:

from databricks_mcp.client import DatabricksMCPClient

client = DatabricksMCPClient('http://localhost:8080', 'your_token')
response = client.run_job(job_id)
print(response)

📚 详细文档

可用工具

Databricks MCP 服务器提供了丰富的工具,方便对 Databricks 资源进行管理:

工具名称 功能描述
list_clusters 列出所有集群
get_cluster 获取指定集群的详细信息
start_cluster 启动指定集群
stop_cluster 停止指定集群
delete_cluster 删除指定集群
create_job 创建新作业
list_jobs 列出所有作业
get_job 获取指定作业的详细信息
run_job 运行指定作业
cancel_run 取消指定运行
delete_run 删除指定运行
create_notebook 创建新笔记本
list_notebooks 列出所有笔记本
get_notebook 获取指定笔记本的详细信息
run_notebook 运行指定笔记本

运行服务器

启动脚本

要启动服务器,请使用以下脚本:

# 启动 MCP 服务器
.\scripts\start_server.ps1

# 以 detached 模式启动
.\scripts\start_server.ps1 -Detached

停止脚本

要停止正在运行的服务器,请使用以下脚本:

# 停止 MCP 服务器
.\scripts\stop_server.ps1

项目结构

项目的详细结构如下所示:

Databricks-MCP-Server/
├── src/
│   ├── server.py          # 主服务器文件
│   └── client.py         # MCP 客户端实现
├── tests/
│   ├── test_clusters.py   # 测试集群功能
│   └── test_jobs.py      # 测试作业功能
├── scripts/
│   ├── start_server.ps1  # 启动服务器的脚本
│   └── stop_server.ps1   # 停止服务器的脚本
├── examples/
│   ├── direct_usage.py   # 直接使用示例
│   └── mcp_client_usage.py # MCP 客户端使用示例
└── pyproject.toml        # 项目配置文件

开发

编码规范

  • 遵循 PEP 8 样式指南,最大行长为 100 字符。
  • 使用 4 个空格进行缩进(不使用制表符)。
  • 使用双引号表示字符串。
  • 所有类、方法和函数都需要包含 Google 样式的文档注释。
  • 除了测试代码外,所有代码都需要类型提示。

源代码分析工具

项目使用以下源代码分析工具:

# 运行所有代码检查工具
uv run pylint src/ tests/
uv run flake8 src/ tests/
uv run mypy src/

测试

项目使用 pytest 进行测试。要运行测试,请执行以下命令:

# 运行所有测试,使用方便的脚本
.\scripts\run_tests.ps1

# 生成代码覆盖率报告
.\scripts\run_tests.ps1 -Coverage

# 运行特定测试并输出详细信息
.\scripts\run_tests.ps1 -Verbose -Coverage tests/test_clusters.py

您也可以直接使用 pytest 运行测试:

# 运行所有测试
pytest

# 生成代码覆盖率报告
pytest --cov

文档

项目文档位于 docs/ 文件夹中,您可以查阅 API 文档和开发指南。

贡献

欢迎为该项目做出贡献!请 fork 仓库并在提交之前创建一个拉取请求。

📄 许可证

该项目在 LICENSE 下开源。

  • 0 关注
  • 0 收藏,24 浏览
  • system 提出于 2025-10-05 20:30

相似服务问题

相关AI产品