Mcp Databricks Server

Mcp Databricks Server

🚀 Databricks MCP 服务端

Databricks MCP 服务端是一个模型上下文协议(MCP)服务器,可借助 Statement Execution API 在 Databricks 上执行 SQL 查询。它能利用 Databricks API 执行 SQL 请求以检索数据,在代理模式下,还能成功迭代多个请求来执行复杂任务。与 Unity Catalog 元数据搭配使用,效果更优。

✨ 主要特性

  • 执行 Databricks 上的 SQL 查询
  • 列出目录中的可用架构
  • 列出架构中的表
  • 描述表结构

📦 安装指南

系统要求

  • Python 3.10+ 版本
  • 若计划通过 uv 安装,请确保已 安装

安装步骤

  1. 安装所需的依赖项:
pip install -r requirements.txt

或使用 uv

uv pip install -r requirements.txt
  1. 设置环境变量:
    • 选项 1:使用 .env 文件(推荐) 创建一个包含 Databricks 凭据的 .env 文件:
DATABRICKS_HOST=your-databricks-instance.cloud.databricks.com
DATABRICKS_TOKEN=your-databricks-access-token
DATABRICKS_SQL_WAREHOUSE_ID=your-sql-warehouse-id
- 选项 2:通过命令行设置
export DATABRICKS_HOST="your-databricks-instance.cloud.databricks.com"
export DATABRICKS_TOKEN="your-databricks-access-token"
export DATABRICKS_SQL_WAREHOUSE_ID="your-sql-warehouse-id"

🔧 技术细节

权限要求

  • SQL 仓库权限:确保用户具有执行查询的权限。
  • Catalog 和 Schema 访问:根据组织的安全策略配置对特定目录、架构和表的访问。
  • 最佳实践
    • 定期轮换访问令牌。
    • 避免将敏感信息硬编码到代码中。

运行服务器

独立运行

python dbapi.py

与 Cursor 集成

在 Agent Composer 或其他 MCP 客户端中,可以使用以下工具:

execute_sql_query("SELECT * FROM my_schema.my_table LIMIT 10")
list_schemas("my_catalog")
list_tables("my_catalog.my_schema")
describe_table("my_catalog.my_schema.my_table")

处理长时间运行的查询

服务器设计用于处理长时间运行的查询,通过轮询 Databricks API 直到查询完成或超时。默认超时时间为 10 分钟(60 次重试,间隔为 10 秒),可以在 dbapi.py 文件中根据需要调整。

依赖项

  • httpx:用于向 Databricks API 发送 HTTP 请求
  • python-dotenv:用于从 .env 文件加载环境变量
  • mcp:模型上下文协议库
  • asyncio:用于异步操作
  • 0 关注
  • 0 收藏,25 浏览
  • system 提出于 2025-09-24 00:18

相似服务问题

相关AI产品