mlcbakery
Jetty.io
Documentation
MLC Bakery
A Python-based service for managing ML model provenance and lineage, built with FastAPI and SQLAlchemy. Support for Croissant metadata validation.
Features
- Dataset management with collection support
- Entity tracking
- Activity logging
- Provenance relationships tracking
- RESTful API endpoints
Running with Docker
1. Set up Environment Variables:
Create a `.env` file in the project root by copying the example:
cp env.example .env2. Start docker containers:
The bakery relies on a postgres database and Typesense for search. The MCP server makes REST calls to the API server, which then calls the persistence layer.
docker compose up -d3. Run Database Migrations:
Apply the latest database schema using Alembic. `uv run` executes commands within the project's managed environment.
docker compose exec db psql -U postgres -c "create DATABASE mlcbakery;"
docker compose exec api alembic upgrade headAccess the bakery
By default, the API will be available on localhost.
- Swagger UI: `http://bakery.localhost/docs`
- ReDoc: `http://bakery.localhost/redoc`
- Streamable MCP HTTP: `http://mcp.localhost/mcp` (you may need to add this to your `/etc/hosts` for local development)
Running the Server (Locally)
Prerequisites
- Python 3.12+
- uv (Python package manager)
Development steps
1. Clone the repository:
git clone git@github.com:jettyio/mlcbakery.git
cd mlcbakery2. Install Dependencies:
`uv` uses `pyproject.toml` to manage dependencies. It will automatically create a virtual environment if one doesn't exist.
curl -LsSf https://astral.sh/uv/install.sh | shpip install poetry uvicorn
uv run poetry install --no-interaction --no-ansi --no-root --with mcpStart the FastAPI application using uvicorn:
# Make sure your .env file is present for the DATABASE_URL
uv run uvicorn mlcbakery.main:app --reload --host 0.0.0.0 --port 8000Authentication
The Bakery is setup to authenticate requests with two methods: JWT Tokens and a "Master Admin Token". Both are configured in the ENV variables (.env file). Both JWT tokens and the Master Admin Token should be provided as "Bearer" Authorization header values.
- ADMIN_AUTH_TOKEN: A fixed value that is the token a user would need to provide to have admin permissions (unrestricted access to all resources).
- JWT_VERIFICATION_STRATEGY: The URL of a trusted JWT token issuer, such as Clerk. We have a development instance of Clerk running that you can use. You can sign up for an account via flows.jetty.io (alpha), or contact dev@jetty.io for access to Jetty's Cloud.
Running Tests
The tests are configured to run against a PostgreSQL database defined by the `DATABASE_URL` environment variable. You can use the same database as your development environment or configure a separate test database in your `.env` file if preferred (adjust connection string as needed).
# Ensure DATABASE_URL is set in your environment or .env file
uv run pytestFrequently asked questions
What is mlcbakery?
mlcbakery is Jetty.io
How do I install mlcbakery?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is mlcbakery open source?
Yes — it is hosted on GitHub at https://github.com/jettyio/mlcbakery and has 7 stars.
Related MCP tools
Cognee is the open-source AI memory platform for agents. Give your AI agents persistent long-term memory across sessions with a self-hosted knowledge graph engine.
Automate browser based workflows with AI
Hindsight: Agent Memory That Learns
A privacy-first app that strips AI watermarks from content you own.
Agent framework and applications built upon Qwen>=3.0, featuring Function Calling, MCP, Code Interpreter, RAG, Chrome extension, etc.
The power of Claude Code / GeminiCLI / CodexCLI + [Gemini / OpenAI / OpenRouter / Azure / Grok / Ollama / Custom Model / All Of The Above] working as one.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP