uc-mcp基因
将OpenAPI规范直接编译为自包含的CLI copula应用程序 bundle-一个可运行的MCP服务器,每个API操作有一个具体的Python函数。身份验证和路由由 ConnectionUnity目录连接.
运作原理
- 点
uc-mcp-gen generateOpenAPI规范(本地文件或URL、YAML或JSON) - 提供UC连接名称
- 获取一个自包含的copula应用程序包——准备好部署
databricks bundle deploy
生成的 main.py 不依赖于 uc_mcp_gen.它是一个普通的FastMCP服务器,其中每个API操作都变成一个类型 async def 工具功能,所有HTTP调用都通过您的UC连接代理。
安装
# Run without installing (recommended)
uvx uc-mcp-gen generate ...
# Or install locally for development
uv sync用法
uc-mcp-gen generate --connection [--name ] [-o ]论据:
| 参数 | 描述 |
|---|---|
spec | OpenAPI规范的路径或URL(.yaml, .yml, .json,或远程URL) |
--connection | 您的Rancher工作区中的UC连接名称 |
--name | 服务名称(烤肉串案例)。如果省略,则从规范标题派生。 |
-o / --output | 输出目录。默认为 generated_mcp_servers/-app. |
示例:
# From a local YAML spec
uc-mcp-gen generate openapi.yaml --connection my-slack-conn -o ./slack-app
# From a local JSON spec
uc-mcp-gen generate openapi.json --connection my-api-conn
# From a remote spec
uc-mcp-gen generate https://api.example.com/openapi.yaml --connection my-conn -o ./example-app生成的捆绑包
/
├── databricks.yml Databricks Asset Bundle manifest
├── app.yaml App startup config — sets UC_CONNECTION_NAME
├── pyproject.toml App dependencies (mcp, databricks-sdk, starlette, uvicorn)
└── src/app/
├── __init__.py
└── main.py Self-contained FastMCP server使用以下方式部署:
cd
databricks bundle deploy
databricks bundle run认证
生成的 main.py 自动处理三种身份验证场景:
| 场景 | 机制 |
|---|---|
| copula应用程序(面向用户) | X-Forwarded-Access-Token 头球→ 每用户 WorkspaceClient |
| copula模型服务 | 模型服务凭据上下文 |
| 服务负责人/本地开发人员 | 默认值 WorkspaceClient() 从环境 |
所有工具调用都通过路由 client.serving_endpoints.http_request(conn=CONNECTION_NAME, ...) -您的UC连接处理下游API身份验证。
运行测试
uv run pytest -v