Databricks Genie Mcp

Databricks Genie Mcp

🚀 Databricks Genie API MCP 服务器

本项目实现了一个模型上下文协议(MCP)服务器,它将 Databricks Genie API 封装为一组工具。这些工具可集成到 IDE 或其他工具中,有效提升用户体验。

✨ 主要特性

  • 启动对话:在 Genie 空间中开启全新对话。
  • 创建消息:在已有的对话里添加新消息。
  • 获取消息:从对话中提取所需消息。
  • 获取消息附件查询结果:获取消息附件内 SQL 查询的结果。
  • 执行消息附件查询:执行消息附件中的 SQL 查询操作。
  • 获取空间信息:获取 Genie 空间的相关信息。
  • 生成完整查询结果下载:启动完整查询结果的下载流程。
  • 轮询消息直到完成:持续轮询消息,直至其达到终端状态。

📦 安装指南

先决条件

  1. 安装 Python 3.8 或更高版本。
  2. 安装 Databricks CLI:
    pip install databricks-cli
    
  3. 配置 Databricks CLI:
    dbfs config set  
    

设置步骤

  1. 克隆仓库并安装依赖项:
    git clone https://github.com/your-repository.git
    cd genie_mcp_server
    pip install -r requirements.txt
    
  2. 配置环境变量或 .env 文件,设置以下内容:
    DATABRICKS_WORKSPACE_URL=your_workspace_url
    DATABRICKS_TOKEN=your_access_token
    
  3. 启动服务器:
    python server.py
    

💻 使用示例

与 Claude Desktop 的集成

claude_desktop_config.json 中配置 MCP 服务器:

{
"mcpServers": {
"databricks-genie": {
"type": "stdio",
"command": "/path/to/python",
"args": ["server.py"],
"env": {
"DATABRICKS_WORKSPACE_URL": "your_workspace_url",
"DATABRICKS_TOKEN": "your_access_token"
}
}
}
}

工具列表

  • start_conversation(启动对话):在 Genie 空间中创建新对话。
  • create_message(创建消息):向现有对话添加新内容。
  • get_message(获取消息):检索特定消息的详细信息。
  • get_message_attachment_query_result(获取消息附件查询结果):从消息附件获取 SQL 查询结果。
  • execute_message_attachment_query(执行消息附件查询):在 Genie 空间中执行 SQL 代码片段。
  • get_space(获取空间信息):获取指定空间的详细信息。
  • generate_download_full_query_result(生成完整查询结果下载):启动完整查询结果的下载流程。
  • poll_message_until_complete(轮询消息直到完成):持续检查消息状态,直至其处于完成或失败状态。

📚 详细文档

故障排除

  • 身份验证问题:检查 .env 文件中的 Databricks 凭证是否正确,并确保用户具有适当的权限。
  • 连接问题(Claude Desktop)
    • 确保 claude_desktop_config.json 中的路径完全正确。
    • 验证 Python 解释器路径是否存在且可执行。
    • 查看日志文件,如 ~/Library/Logs/Claude/%APPDATA%\Claude\logs,特别是 mcp.logmcp-server-databricks-genie.log
  • SQL 执行错误:确认服务主体或用户对 SQL 仓库具有执行权限,并且能够访问相关的 Unity Catalog 数据。

安全注意事项

  • 凭据管理:绝不对硬编码凭据。使用环境变量(.env 文件)或安全的凭证存储。确保 .env 文件不在版本控制系统中提交。
  • MCP 安全性:此服务器在本地运行,使用用户的权限和 Databricks 凭证。客户端如 Claude Desktop 必须先获得用户同意才能执行工具(参考 MCP 安全规范)。
  • 生产环境部署:不要直接暴露此本地服务器用于更广泛的用途。与安全团队合作,确定适当的主机设置、网络控制以及可能的 MCP 服务器级身份验证机制。

🤝 贡献

欢迎贡献!请通过提交问题或拉取请求参与项目。

📄 许可证

该软件由 Databricks, Inc. 授予特定许可。请查看 LICENSE 文件以获取完整使用条款。

  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-09-24 04:18

相似服务问题

相关AI产品