Developers · MCP connector
PantryRx for AI assistants
Ask your assistant to plan the week, find a recipe for what's in the fridge, or build a grocery list. PantryRx answers with nearly 1,000 tested recipes and enforces diets and allergies ingredient by ingredient, the same way the PantryRx apps do. Free, no account, no API key.
Connect
PantryRx is a remote Model Context Protocol server using the Streamable HTTP transport (JSON responses, no session). Add it as a custom connector in any MCP client:
Directory listings use their own path so we can see which assistant sent a visit: /mcp/muse, /mcp/claude, /mcp/chatgpt, /mcp/gemini, /mcp/copilot, /mcp/perplexity, /mcp/allthingsai. For Muse: https://pantryrx.ai/mcp/muse. All paths serve the same tools.
Access
- Authentication: none. Every tool is public and read-only, except
create_instacart_link, which creates a shopping-list page on Instacart. - Plan / account: none needed. Free worldwide; recipes and default units are US English (metric on request).
- Rate limits: 600 requests a minute per client IP; Instacart links 120 an hour per IP (US and Canada only).
- Protocol versions: 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05.
Data and safety
- We don't store prompts, tool arguments or personal data, and there's no login. We keep daily call counts per tool and per assistant. Details are in the privacy policy.
- Diet and allergy rules are deterministic: every ingredient maps to an allergen and diet taxonomy (DietGuard). An allergy name the server doesn't recognize is an error, never ignored.
- PantryRx gives cooking guidance, not medical advice. For allergies, always check product labels (terms).
Things to ask
- “Plan 5 easy weeknight dinners for a family of 4. One of us is vegetarian and we're nut-free. Give me the grocery list.”
- “I have chicken thighs, rice, spinach and half an onion. What can I make tonight in under 30 minutes?”
- “Make me a low-sodium meal plan for this week and skip anything with shellfish.”
- “Build a grocery list for these three recipes, grouped by aisle, and leave out what's already in my pantry.”
- “Is this recipe safe for someone who's gluten-free and dairy-free?”
- “Send my grocery list to Instacart.”
Tools
Plan meals plan_meals
Plan 1–7 days of meals (breakfast, lunch, dinner and/or snacks) that respect a diet, allergies and foods to avoid, favor ingredients already at home, vary proteins and cuisines, and share perishables to cut waste. Returns the plan, a combined grocery list by aisle, and a link that opens the plan in the free PantryRx app. Use this for 'plan my week', 'dinners for the next 5 days', 'a low-sodium meal plan'.
| Argument | Type | Description |
|---|---|---|
days |
integer | Number of days. Default 5. |
meals |
array of breakfast, lunch, dinner, snack | Which meals each day. Default ['dinner']. |
servings |
integer | People to feed per meal. Default 2. |
diet |
string: classic, flexitarian, vegetarian, vegan, pescatarian, low_carb, keto, paleo | Eating style. Default classic (everything). |
restrictions |
array of vegetarian, vegan, pescatarian, halal, kosher, gluten_free, dairy_free, nut_allergy, peanut_allergy, tree_nut_allergy, shellfish_allergy, fish_allergy, egg_allergy, soy_allergy, sesame_allergy, mustard_allergy, sulfite_free, nightshade_free | Allergies and hard rules, enforced on every ingredient (e.g. nut_allergy, gluten_free, dairy_free, halal, kosher). |
avoid |
array | Any other foods to leave out, as plain words (e.g. ['cilantro', 'mushrooms']). |
have_ingredients |
array | Ingredients already in the kitchen; recipes that use them rank higher and they are left off grocery lists. |
use_up_soon |
array | Ingredients to use first before they spoil. |
max_minutes |
integer | Max total cooking time per recipe. |
max_calories |
integer | Max calories per serving. |
min_protein_g |
integer | Min protein (g) per serving. |
max_sodium_mg |
integer | Max sodium (mg) per serving, for low-sodium plans. |
exclude_recipe_ids |
array | Recipe ids to leave out (for swaps or repeats). |
variation |
integer | Change this number for a different plan with the same rules. Default 1. |
units |
string: us, metric | Measurement system. Default us. |
Find recipes search_recipes
Search nearly 1,000 tested recipes by name, ingredient or cuisine, filtered by diet, allergies, foods to avoid, meal type, cooking time and nutrition (calories, protein, sodium). With have_ingredients, ranks recipes by how much of them the person already has ('what can I make with chicken and rice?').
| Argument | Type | Description |
|---|---|---|
query |
string | Words to match in the title, ingredients or cuisine (e.g. 'chicken curry'). Optional. |
meal_type |
string: breakfast, lunch, dinner, snack, side, dessert | |
cuisine |
string | e.g. italian, mexican, indian, thai. list_diet_options returns all. |
max_minutes |
integer | |
diet |
string: classic, flexitarian, vegetarian, vegan, pescatarian, low_carb, keto, paleo | Eating style. Default classic (everything). |
restrictions |
array of vegetarian, vegan, pescatarian, halal, kosher, gluten_free, dairy_free, nut_allergy, peanut_allergy, tree_nut_allergy, shellfish_allergy, fish_allergy, egg_allergy, soy_allergy, sesame_allergy, mustard_allergy, sulfite_free, nightshade_free | Allergies and hard rules, enforced on every ingredient (e.g. nut_allergy, gluten_free, dairy_free, halal, kosher). |
avoid |
array | Any other foods to leave out, as plain words (e.g. ['cilantro', 'mushrooms']). |
have_ingredients |
array | Ingredients already in the kitchen; recipes that use them rank higher and they are left off grocery lists. |
only_uses_what_i_have |
boolean | Only recipes where at least half the main ingredients are already at home. |
max_calories |
integer | Max calories per serving. |
min_protein_g |
integer | Min protein (g) per serving. |
max_sodium_mg |
integer | Max sodium (mg) per serving, for low-sodium plans. |
limit |
integer | Default 8. |
Get a recipe get_recipe
Full recipe by id: ingredients scaled to any number of servings (US or metric), step-by-step instructions and nutrition per serving. Pass the person's diet and restrictions to get a diet check with any conflicts.
| Argument | Type | Description |
|---|---|---|
recipe_id required |
string | Id from search_recipes or plan_meals. |
servings |
integer | |
units |
string: us, metric | Measurement system. Default us. |
diet |
string: classic, flexitarian, vegetarian, vegan, pescatarian, low_carb, keto, paleo | Eating style. Default classic (everything). |
restrictions |
array of vegetarian, vegan, pescatarian, halal, kosher, gluten_free, dairy_free, nut_allergy, peanut_allergy, tree_nut_allergy, shellfish_allergy, fish_allergy, egg_allergy, soy_allergy, sesame_allergy, mustard_allergy, sulfite_free, nightshade_free | Allergies and hard rules, enforced on every ingredient (e.g. nut_allergy, gluten_free, dairy_free, halal, kosher). |
avoid |
array | Any other foods to leave out, as plain words (e.g. ['cilantro', 'mushrooms']). |
Build a grocery list build_grocery_list
Combine recipes into one grocery list grouped by store aisle, with quantities merged and scaled to servings. Leaves out what's already at home and common staples, and flags store-bought items whose brands may contain the person's allergens.
| Argument | Type | Description |
|---|---|---|
recipes required |
array | Recipes to shop for, each {recipe_id, servings}. |
have_ingredients |
array | Ingredients already in the kitchen; recipes that use them rank higher and they are left off grocery lists. |
diet |
string: classic, flexitarian, vegetarian, vegan, pescatarian, low_carb, keto, paleo | Eating style. Default classic (everything). |
restrictions |
array of vegetarian, vegan, pescatarian, halal, kosher, gluten_free, dairy_free, nut_allergy, peanut_allergy, tree_nut_allergy, shellfish_allergy, fish_allergy, egg_allergy, soy_allergy, sesame_allergy, mustard_allergy, sulfite_free, nightshade_free | Allergies and hard rules, enforced on every ingredient (e.g. nut_allergy, gluten_free, dairy_free, halal, kosher). |
avoid |
array | Any other foods to leave out, as plain words (e.g. ['cilantro', 'mushrooms']). |
units |
string: us, metric | Measurement system. Default us. |
Check a recipe against a diet check_recipe
Check any list of ingredients (from any recipe) against a diet, allergies and foods to avoid. Returns fits, conflicts (which ingredient and why) or unverified (unrecognized ingredients under an allergy), plus items whose labels need checking.
| Argument | Type | Description |
|---|---|---|
ingredients required |
array | Ingredient lines, e.g. ['2 cups flour', 'soy sauce', 'butter']. |
diet |
string: classic, flexitarian, vegetarian, vegan, pescatarian, low_carb, keto, paleo | Eating style. Default classic (everything). |
restrictions |
array of vegetarian, vegan, pescatarian, halal, kosher, gluten_free, dairy_free, nut_allergy, peanut_allergy, tree_nut_allergy, shellfish_allergy, fish_allergy, egg_allergy, soy_allergy, sesame_allergy, mustard_allergy, sulfite_free, nightshade_free | Allergies and hard rules, enforced on every ingredient (e.g. nut_allergy, gluten_free, dairy_free, halal, kosher). |
avoid |
array | Any other foods to leave out, as plain words (e.g. ['cilantro', 'mushrooms']). |
List diets and filters list_diet_options
The diets, allergy and restriction ids, cuisines and meal types PantryRx understands, with the rule each one enforces.
Send groceries to Instacart create_instacart_link
Turn a grocery list into an Instacart shopping-list link with every item preloaded, so the person can pick a store and order. Only call this when the person asks to order or send the list to Instacart. US and Canada.
| Argument | Type | Description |
|---|---|---|
items required |
array | Grocery items, each {name, amount}. |
title |
string | List name, e.g. 'Dinners this week'. |
Try it with curl
Each result has structuredContent and the same JSON as text. Plans include open_in_pantryrx, a link that opens the plan and its grocery list in the free PantryRx web app.
Support
Email support@allthingsn.com. PantryRx is made by All Things AI, Inc..