Developers
Julia is an AI-powered family meal-planning agent — it plans the week, builds the shopping list, and helps a household cook. Julia supports MCP(the Model Context Protocol), so an AI assistant can work with a family’s food context directly. There is also a plain REST Web API for apps like kitchen displays and shopping-list syncs. Both read a small, scoped slice of a family’s data using a bearer token the family creates and can revoke at any time.
Getting a key
A family creates keys in Settings → Connected apps, on the Julia Family plan. Each key is scoped to exactly what it may read, shown once at creation, and can be revoked whenever they like. Send it as a bearer token:
Authorization: Bearer jt_live_…menu:read — the planned menu · ingredients:read — ingredients for planned meals · shopping:read — the current shopping list. A key carries only the scopes the family granted it.Web API
Two read-only JSON endpoints for apps that just need the data. Both take the bearer header above.
What’s for dinner
GET https://www.hellojulia.app/api/share/menu?date_from=2026-07-15&date_to=2026-07-22&meal_type=dinnermenu:readdate_from, date_to (YYYY-MM-DD, optional), meal_type (breakfast · lunch · dinner, optional).{
"meals": [
{
"date": "2026-07-15",
"meal_type": "dinner",
"courses": [
{ "course": "main", "name": "Sheet-pan chicken" },
{ "course": "side", "name": "Roasted broccoli" }
]
}
]
}Ingredients for planned meals
GET https://www.hellojulia.app/api/share/ingredients?date_from=2026-07-15&date_to=2026-07-22ingredients:readnullwhen a recipe didn’t specify one, and the same ingredient in different units stays on separate lines.{
"ingredients": [
{ "name": "Chicken thighs", "quantity": 2, "unit": "lb", "category": "meat" },
{ "name": "Broccoli", "quantity": 2, "unit": "head", "category": "produce" }
]
}Errors
Errors return a JSON body { "error": "…" } with a status code:
MCP server
Point an MCP-capable assistant at the endpoint below and give it a key as the bearer token. The server speaks stateless Streamable HTTP — a fresh connection per request, no sessions to manage.
https://www.hellojulia.app/api/mcpAuthorization: Bearer jt_live_…Three read-only tools are available. A tool call made without the matching scope returns a tool error explaining which scope is missing.
get_menu
menu:read{ date_from?, date_to?, meal_type? } — defaults to today through the next 7 days.{ date, meal_type, course, name }.get_planned_ingredients
ingredients:read{ date_from?, date_to?, meal_type? }.{ name, quantity, unit, category, position }. Quantities may be null.get_shopping_list
shopping:read{ dates, generated_at, items: [{ name, quantity, unit, category, checked, source, position }] }, where source is generated or manual.Need a key? Open Julia and go to Settings → Connected apps.
Back to Julia