Databricks MCP 服务器
这是一个模型上下文协议 (MCP) 服务器,用于使用语句执行 API 针对 Databricks 执行 SQL 查询。它可以通过使用 Databricks API 执行 SQL 请求来检索数据。在代理模式下使用时,它可以成功迭代多个请求以执行复杂任务。与 Unity Catalog Metadata 结合使用效果更佳。
特征
- 在 Databricks 上执行 SQL 查询
- 列出目录中可用的架构
- 列出架构中的表
- 描述表模式
设置
系统要求
- Python 3.10+
- 如果您计划通过
uv
安装,请确保它已安装
安装
- 安装所需的依赖项:
或者如果使用uv
:
- 设置环境变量:选项 1:使用 .env 文件(推荐)使用您的 Databricks 凭据创建一个 .env 文件:选项 2:直接设置环境变量
您可以在 Databricks UI 的 SQL Warehouses 下找到您的 SQL 仓库 ID。
权限要求
在使用此 MCP 服务器之前,请确保:
- SQL 仓库权限:与所提供令牌关联的用户必须具有适当的权限才能访问指定的 SQL 仓库。您可以在 Databricks UI 的“SQL 仓库”>“[您的仓库]”>“权限”下配置仓库权限。
- 令牌权限:所使用的个人访问令牌应具有执行所需操作所需的最低权限。强烈建议:
- 专门为该应用程序创建专用令牌
- 尽可能授予只读权限以限制安全风险
- 避免使用具有工作区范围管理员权限的令牌
- 数据访问权限:与令牌关联的用户必须具有适当的权限才能访问将要查询的目录、模式和表。
要通过 Databricks REST API 设置 SQL 仓库权限,您可以使用:
GET /api/2.0/sql/permissions/warehouses/{warehouse_id}
检查当前权限PATCH /api/2.0/sql/permissions/warehouses/{warehouse_id}
更新权限
为了实现最佳安全实践,请考虑定期轮换您的访问令牌并审核查询历史记录以监控使用情况。
运行服务器
独立模式
要在独立模式下运行服务器:
这将使用 stdio 传输启动 MCP 服务器,可与 Agent Composer 或其他 MCP 客户端一起使用。
与游标一起使用
要将此 MCP 服务器与Cursor一起使用,您需要在 Cursor 设置中对其进行配置:
- 如果
.cursor
目录尚不存在,请在主目录中创建它 - 在该目录中创建或编辑
mcp.json
文件:
- 将以下配置添加到
mcp.json
文件,将目录路径替换为安装此服务器的实际路径:
如果您不使用uv
,则可以使用python
代替:
- 重新启动 Cursor 以应用更改
现在您可以在 Cursor 的 AI 助手中直接使用 Databricks MCP 服务器。
可用工具
该服务器提供以下工具:
execute_sql_query
:执行 SQL 查询并返回结果list_schemas
:列出特定目录中所有可用的模式list_tables
:列出特定模式中的所有表describe_table
:描述表的架构
示例用法
在 Agent Composer 或其他 MCP 客户端中,您可以使用以下工具:
处理长时间运行的查询
该服务器旨在通过轮询 Databricks API 来处理长时间运行的查询,直到查询完成或超时。默认超时时间为 10 分钟(重试 60 次,间隔 10 秒),如有需要,可以在dbapi.py
文件中进行调整。
依赖项
- httpx:用于向 Databricks API 发出 HTTP 请求
- python-dotenv:用于从 .env 文件加载环境变量
- mcp:模��上下文协议库
- asyncio:用于异步操作
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
这是一个模型上下文协议 (MCP) 服务器,用于使用语句执行 API 对 Databricks 执行 SQL 查询。它使 AI 助手能够直接查询 Databricks 数据仓库、分析数据库模式并以结构化格式检索查询结果。
Related Resources
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol (MCP) server that enables AI assistants to interact with MySQL databases by executing SQL queries and checking database connectivity.Last updated -TypeScriptMIT License
- -securityFlicense-qualityA server that implements the Model Completion Protocol (MCP) to allow LLMs to interact with Databricks resources including clusters, jobs, notebooks, and SQL execution through natural language.Last updated -6Python
- -securityAlicense-qualityA Model Context Protocol (MCP) server that provides read-only TDengine database queries for AI assistants, allowing users to execute queries, explore database structures, and investigate data directly from AI-powered tools.Last updated -4PythonMIT License
- AsecurityFlicenseAqualityAn all-in-one Model Context Protocol (MCP) server that connects your coding AI to numerous databases, data warehouses, data pipelines, and cloud services, streamlining development workflow through seamless integrations.Last updated -Python