关于 Jetty
MLC Bakery 是用于管理机器学习模型溯源和数据集的 Python 服务,面向需要追踪实体、活动与来源关系的团队。它支持 Croissant 元数据验证,并通过搜索后端提供数据集查找。
主要功能
- 01数据集与集合管理
- 02实体追踪
- 03活动日志记录
- 04溯源关系追踪
- 05Croissant 元数据验证
- 06REST API 与搜索
适用场景
- 01整理和搜索数据集
- 02追踪模型相关实体与活动
- 03验证 Croissant 元数据
MCP 相关
MCP 服务通过 REST 调用 API 服务,为 MCP 客户端提供访问能力。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.jetty.io/sseclaude mcp add --transport http mlcbakery https://mcp.jetty.io/sse{"mcpServers":{"mlcbakery":{"type":"http","url":"https://mcp.jetty.io/sse"}}}在 Cursor 中打开{"servers":{"mlcbakery":{"type":"http","url":"https://mcp.jetty.io/sse"}}}在 VS Code 中打开{"mcpServers":{"mlcbakery":{"type":"http","url":"https://mcp.jetty.io/sse"}}}{"mcpServers":{"mlcbakery":{"serverUrl":"https://mcp.jetty.io/sse"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
MLC Bakery
一个基于 Python 的服务,用于管理 ML 模型的来源和谱系,使用 FastAPI 和 SQLAlchemy 构建。支持 Croissant 元数据验证。
功能
- 数据集管理,支持集合
- 实体跟踪
- 活动日志记录
- 来源关系跟踪
- RESTful API 端点
使用 Docker 运行
-
设置环境变量: 在项目根目录中复制示例文件,创建
.env文件:cp env.example .env -
启动 Docker 容器: Bakery 依赖 PostgreSQL 数据库和 Typesense 进行搜索。MCP 服务会向 API 服务发起 REST 调用,再由 API 服务调用持久化层。
docker compose up -d -
运行数据库迁移: 使用 Alembic 应用最新的数据库架构。
uv run会在项目托管的环境中执行命令。docker compose exec db psql -U postgres -c "create DATABASE mlcbakery;" docker compose exec api alembic upgrade head
访问 Bakery
默认情况下,API 可通过 localhost 访问。
- Swagger UI:
http://bakery.localhost/docs - ReDoc:
http://bakery.localhost/redoc - 可流式传输的 MCP HTTP:
http://mcp.localhost/mcp(本地开发时,可能需要将其添加到/etc/hosts)
在本地运行服务
先决条件
- Python 3.12+
- uv(Python 包管理器)
开发步骤
-
克隆仓库:
git clone [email protected]:jettyio/mlcbakery.git cd mlcbakery -
安装依赖项:
uv使用pyproject.toml管理依赖项。如果尚不存在虚拟环境,它会自动创建一个。curl -LsSf https://astral.sh/uv/install.sh | shpip install poetry uvicorn uv run poetry install --no-interaction --no-ansi --no-root --with mcp
使用 uvicorn 启动 FastAPI 应用:
# Make sure your .env file is present for the DATABASE_URL
uv run uvicorn mlcbakery.main:app --reload --host 0.0.0.0 --port 8000
身份验证
Bakery 配置了两种请求身份验证方式:JWT 令牌和“Master Admin Token”。两者都在 ENV 变量(.env 文件)中配置。JWT 令牌和 Master Admin Token 都应作为“Bearer”授权标头值提供。
- ADMIN_AUTH_TOKEN:固定值,用户需要提供此令牌才能获得管理员权限(不受限制地访问所有资源)。
- JWT_VERIFICATION_STRATEGY:受信任的 JWT 令牌签发方 URL,例如 Clerk。我们运行了一个可供使用的 Clerk 开发实例。你可以通过 flows.jetty.io(alpha)注册账号,或联系 [email protected] 以获取 Jetty's Cloud 的访问权限。
运行测试
测试配置为针对由 DATABASE_URL 环境变量指定的 PostgreSQL 数据库运行。你可以使用与开发环境相同的数据库,也可以根据需要在 .env 文件中配置单独的测试数据库(按需调整连接字符串)。
# Ensure DATABASE_URL is set in your environment or .env file
uv run pytest
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。