modelscope·@JustTryAI/databricks-mcp-server
实现模型完成协议(MCP)的服务器,允许大型语言模型通过自然语言与Databricks资源进行交互,包括集群、作业、笔记本和SQL执行。
一个用于 Databricks 的模型完成协议(MCP)服务器,通过 MCP 协议提供对 Databricks 功能的访问。这允许由 LLM 支持的工具与 Databricks 集群、作业、笔记本等进行交互。
Databricks MCP 服务器公开了以下工具:
uv 包管理器(推荐用于 MCP 服务器)如果还没有安装 uv,请先安装:
# MacOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (在 PowerShell 中)
irm https://astral.sh/uv/install.ps1 | iex
安装后重启终端。
克隆仓库:
git clone https://github.com/JustTryAI/databricks-mcp-server.git
cd databricks-mcp-server
使用 uv 设置项目:
# 创建并激活虚拟环境
uv venv
# 在 Windows 上
.\.venv\Scripts\activate
# 在 Linux/Mac 上
source .venv/bin/activate
# 以开发模式安装依赖项
uv pip install -e .
# 安装开发依赖项
uv pip install -e ".[dev]"
设置环境变量:
# 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.example 模板创建一个 .env 文件。
要启动 MCP 服务器,请运行:
# Windows
.\start_mcp_server.ps1
# Linux/Mac
./start_mcp_server.sh
这些包装脚本将执行位于 scripts 目录中的实际服务器脚本。服务器将启动并准备好接受 MCP 协议连接。
您也可以直接从脚本目录中运行服务器脚本:
# Windows
.\scripts\start_mcp_server.ps1
# Linux/Mac
./scripts/start_mcp_server.sh
仓库包括一些实用脚本,可以快速查看 Databricks 资源:
# View all clusters
uv run scripts/show_clusters.py
# View all notebooks
uv run scripts/show_notebooks.py
databricks-mcp-server/
├── src/ # Source code
│ ├── __init__.py # Makes src a package
│ ├── __main__.py # Main entry point for the package
│ ├── main.py # Entry point for the MCP server
│ ├── api/ # Databricks API clients
│ ├── core/ # Core functionality
│ ├── server/ # Server implementation
│ │ ├── databricks_mcp_server.py # Main MCP server
│ │ └── app.py # FastAPI app for tests
│ └── cli/ # Command-line interface
├── tests/ # Test directory
├── scripts/ # Helper scripts
│ ├── start_mcp_server.ps1 # Server startup script (Windows)
│ ├── run_tests.ps1 # Test runner script
│ ├── show_clusters.py # Script to show clusters
│ └── show_notebooks.py # Script to show notebooks
├── examples/ # Example usage
├── docs/ # Documentation
└── pyproject.toml # Project configuration
有关项目结构的更详细视图,请参见 project_structure.md。
项目使用以下代码检查工具:
# Run all linters
uv run pylint src/ tests/
uv run flake8 src/ tests/
uv run mypy src/
该项目使用 pytest 进行测试。要运行测试:
# Run all tests with our convenient script
.\scripts\run_tests.ps1
# Run with coverage report
.\scripts\run_tests.ps1 -Coverage
# Run specific tests with verbose output
.\scripts\run_tests.ps1 -Verbose -Coverage tests/test_clusters.py
您也可以直接使用 pytest 运行测试:
# Run all tests
uv run pytest tests/
# Run with coverage report
uv run pytest --cov=src tests/ --cov-report=term-missing
项目的最低代码覆盖率目标是 80%。
docs/api 目录中examples/ 目录中的用法示例请查看 examples/ 目录以获取用法示例。要运行示例:
# Run example scripts with uv
uv run examples/direct_usage.py
uv run examples/mcp_client_usage.py
欢迎贡献!请随时提交 Pull Request。
本项目根据 MIT 许可证授权 - 详情请参阅 LICENSE 文件。
通过专门的代理、丰富的资源和强大的工具,促进涵盖云、人工智能和区块链等不同架构领域的全面架构设计和评估。
一个将 Claude Desktop 和其他 MCP 客户端连接到 Cloudflare Workers 的软件包,通过模型上下文协议(Model Context Protocol), enables 自定义功能可以通过自然语言访问。
一种连接到 Kubernetes 集群的服务器,它通过自然语言命令启用管理功能,支持列出资源、创建/删除 Pod 以及安装 Helm 图表等操作。
一种模型上下文协议服务器, enables 人工智能代理通过标准化接口与阿里云DataWorks进行交互,从而通过DataWorks开放API无缝管理DataWorks资源和操作。
一种模型上下文协议服务器,通过 Graph API 实现与 Microsoft 365 服务(Excel、日历、邮件、OneDrive、Teams 等)的交互,使人工智能助手能够通过自然语言管理 Microsoft 365 资源。
一台使大型语言模型能够通过模型上下文协议发现并与由 OpenAPI 规范定义的 REST API 交互的服务器。