mcpField
J
Jetty

Jetty

远程服务
github.com/jettyio开发工具733 周前更新
代码仓库

关于 Jetty

MLC Bakery 是用于管理机器学习模型溯源和数据集的 Python 服务,面向需要追踪实体、活动与来源关系的团队。它支持 Croissant 元数据验证,并通过搜索后端提供数据集查找。

主要功能

  1. 01数据集与集合管理
  2. 02实体追踪
  3. 03活动日志记录
  4. 04溯源关系追踪
  5. 05Croissant 元数据验证
  6. 06REST API 与搜索

适用场景

  1. 01整理和搜索数据集
  2. 02追踪模型相关实体与活动
  3. 03验证 Croissant 元数据

MCP 相关

MCP 服务通过 REST 调用 API 服务,为 MCP 客户端提供访问能力。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.jetty.io/sse
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

MLC Bakery

一个基于 Python 的服务,用于管理 ML 模型的来源和谱系,使用 FastAPI 和 SQLAlchemy 构建。支持 Croissant 元数据验证。

功能

  • 数据集管理,支持集合
  • 实体跟踪
  • 活动日志记录
  • 来源关系跟踪
  • RESTful API 端点

使用 Docker 运行

  1. 设置环境变量: 在项目根目录中复制示例文件,创建 .env 文件:

    cp env.example .env
    
  2. 启动 Docker 容器: Bakery 依赖 PostgreSQL 数据库和 Typesense 进行搜索。MCP 服务会向 API 服务发起 REST 调用,再由 API 服务调用持久化层。

    docker compose up -d
    
  3. 运行数据库迁移: 使用 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 包管理器)
开发步骤
  1. 克隆仓库:

    git clone [email protected]:jettyio/mlcbakery.git
    cd mlcbakery
    
  2. 安装依赖项: uv 使用 pyproject.toml 管理依赖项。如果尚不存在虚拟环境,它会自动创建一个。

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    pip 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。