内容
# Genie MCP Server
该项目提供了一个异步服务器,用于通过 MCP StreamableHTTP 协议与 Databricks Genie 进行交互。它使用户能够查询 Genie 并接收答案或数据,利用 Databricks 的身份验证和强大的错误处理能力。
## 特性
- 使用 Starlette 和 Uvicorn 的异步 API 服务器
- 与 Databricks Genie 的对话查询集成
- 自动管理 Databricks 的 OAuth 令牌
## 项目结构
- `mcp_server.py`:主服务器入口点,通过 MCP StreamableHTTP 协议暴露工具。
- `genie_room.py`:处理 Genie API 交互和对话逻辑。
- `token_minter.py`:管理 Databricks OAuth 令牌的生成和刷新。
- `requirements.txt`:Python 依赖项。
- `app.yaml`:示例部署配置。
## 部署到 Databricks 应用
您可以通过以下步骤将 Genie MCP Server 部署为 Databricks 应用:
1. **将代码库克隆到您的工作区**
在您的 Databricks 工作区中,导航到您想要部署应用的目录(例如,`/Workspace/Users/your.email@databricks.com/genie_mcp_server`)。然后,克隆代码库:
```bash
git clone https://github.com/your-org/genie_mcp_server.git
```
2. **配置 Genie Space ID 和其他环境变量**
打开克隆代码库根目录中的 `app.yaml` 文件。将 `SPACE_ID` 的值更新为您的 Genie 空间。
示例 `app.yaml`:
```yaml
command:
- "python"
- "mcp_server.py"
env:
- name: "SPACE_ID"
value: "your_space_id"
```
3. **在 Databricks 中创建并部署应用**
- 转到 Databricks 应用界面。
- 创建一个新应用,并指定您克隆代码库的目录路径。
- 完成应用的创建和部署过程。
```databricks apps deploy genie-mcp-server --source-code-path /Workspace/Users/your.email@databricks.com/genie_mcp_server```
4. **访问 API**
部署完成后,您的 Genie MCP Server 应用将运行并可通过配置的端口和端点访问(例如,`https://app-url.aws.databricksapps.com/api/mcp/`)。您现在可以根据网络配置,从 Databricks 工作区或外部客户端向已部署的应用发送 MCP 请求。