Jetty について
MLC Bakeryは、MLデータセットとモデルの来歴を管理するPythonサービスです。エンティティや活動、来歴関係の追跡に加え、Croissantメタデータ検証と検索に対応します。
主な機能
- 01データセットとコレクションの管理
- 02エンティティの追跡
- 03活動ログの記録
- 04来歴関係の追跡
- 05Croissantメタデータの検証
- 06REST APIと検索
活用シーン
- 01データセットの整理と検索
- 02モデル関連のエンティティと活動の追跡
- 03Croissantメタデータの検証
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
FastAPI と SQLAlchemy で構築された、ML モデルの来歴と系統を管理する Python ベースのサービスです。Croissant メタデータの検証に対応しています。
機能
- コレクションに対応したデータセット管理
- エンティティの追跡
- アクティビティのログ記録
- 来歴関係の追跡
- RESTful API エンドポイント
Docker で実行する
-
環境変数を設定する: 例をコピーして、プロジェクトのルートに
.envファイルを作成します。cp env.example .env -
Docker コンテナを起動する: Bakery は検索用に Postgres データベースと 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 - Streamable 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」の 2 つの方法でリクエストを認証するように設定されています。どちらも ENV 変数(.env ファイル)で設定します。JWT トークンと Master Admin Token は、どちらも「Bearer」認証ヘッダーの値として指定します。
- ADMIN_AUTH_TOKEN:ユーザーが管理者権限(すべてのリソースへの無制限のアクセス権)を得るために指定する必要がある固定値のトークンです。
- JWT_VERIFICATION_STRATEGY:Clerk など、信頼できる JWT トークン発行者の URL です。利用可能な開発用 Clerk インスタンスがあります。flows.jetty.io(alpha)からアカウントを登録するか、Jetty's Cloud へのアクセスについて [email protected] までお問い合わせください。
テストの実行
テストは、DATABASE_URL 環境変数で定義された PostgreSQL データベースに対して実行するよう設定されています。開発環境と同じデータベースを使用するか、必要に応じて .env ファイルで別のテスト用データベースを設定できます(接続文字列は必要に応じて調整してください)。
# Ensure DATABASE_URL is set in your environment or .env file
uv run pytest
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。