← Back to search

@bojanrajkovic/mcp-paprika

GitHub Actions Scanned 25d ago

MCP server for Paprika recipe manager

? Not scanned yet

Versions

2.0.0-beta.8latest
Jun 28, 2026
2.0.0-beta.7
Jun 25, 2026
1.6.1
Jun 18, 2026
1.6.1-rc.0
Jun 8, 2026
2.0.0-beta.6
Jun 6, 2026
+ show 25 moreshow less
2.0.0-beta.5
Jun 6, 2026
2.0.0-beta.4
Jun 6, 2026
2.0.0-beta.3
Jun 3, 2026
2.0.0-beta.2
Jun 3, 2026
2.0.0-beta.1
Jun 3, 2026
2.0.0-beta.0
Jun 3, 2026
1.6.0
May 31, 2026
1.6.0-beta.2
May 31, 2026
1.6.0-beta.1
May 31, 2026
1.6.0-beta.0
May 31, 2026
1.5.0
May 31, 2026
1.5.0-beta.2
May 30, 2026
1.5.0-beta.1
May 30, 2026
1.5.0-beta.0
May 30, 2026
1.4.0
May 26, 2026
1.4.0-beta.0
May 26, 2026
1.3.0
May 24, 2026
1.2.0
May 23, 2026
1.2.0-beta.3
May 23, 2026
1.2.0-beta.2
May 21, 2026
1.2.0-beta.1
May 21, 2026
1.1.0
May 18, 2026
1.0.4
May 6, 2026
1.0.3
Mar 22, 2026
1.0.0
Mar 21, 2026

Tools 82

structured_output_probe
annotations: verified low

Returns a fixed structured payload to validate a production outputSchema through the SDK.

unused string
readOnlyHint true
echo_raw
annotations: verified low

test

uid string count number limit number query string
readOnlyHint true idempotentHint true destructiveHint true
echo_object
annotations: verified low

test

q string
readOnlyHint false idempotentHint true destructiveHint true
ping
annotations: verified low

test

q string
readOnlyHint true idempotentHint true
echo_shape
annotations: verified low

test

q string
readOnlyHint true
ok_structured
annotations: verified low

Returns a structured payload — satisfies TypedCallToolResult<O>.

query string
readOnlyHint true
bad_bare_text
annotations: verified low

Returns bare toolResult(text) under a declared outputSchema — a type error.

query string
readOnlyHint true
bad_commit_no_structured
annotations: verified low

Returns commitFailure(...) with no structuredContent under a declared outputSchema.

query string
readOnlyHint false
echo_advertised
annotations: verified low

Echoes its query back.

limit number query string echoed string outputSchema object
readOnlyHint true idempotentHint true
echo_structured
annotations: verified low

Echoes its query back with a structured payload.

query string echoed string outputSchema object
readOnlyHint true
echo_missing_structured
annotations: verified low

A schema-bearing tool whose handler returns a non-error result with no structuredContent.

query string echoed string outputSchema object
readOnlyHint true
echo_widget
annotations: verified low

Echoes its query back through a widget.

n number query string
readOnlyHint true
app_only_sink
annotations: verified low

Callable by a widget, hidden from the model.

n number query string written string outputSchema object
readOnlyHint true
echo_call
annotations: verified low

Echoes its query back.

query string written string outputSchema object
readOnlyHint true
write_commit_diverge
annotations: verified low

A schema-bearing write tool whose local commit fails after a successful Paprika POST.

written string outputSchema object
readOnlyHint false
gated_plain
annotations: verified low

A schema-bearing tool whose precondition gates with a plain (non-error) toolResult.

query string echoed string outputSchema object
readOnlyHint true
gated_iserror
annotations: verified low

A schema-bearing tool whose precondition gates with an errorResult.

query string echoed string outputSchema object
readOnlyHint true
list_grocery_lists
annotations: verified low

List all grocery lists sorted alphabetically by name, with UID and item count per list.

readOnlyHint true idempotentHint true destructiveHint false
read_grocery_list
annotations: verified low

Get a grocery list by UID or name. Name lookup is tiered (exact → starts-with → contains)

readOnlyHint true idempotentHint true destructiveHint false
create_grocery_list
annotations: verified low

Create a new grocery list with the given name. Rejects duplicate names (case-insensitive exact match);

readOnlyHint false idempotentHint false destructiveHint false
rename_grocery_list
annotations: verified low

Rename a grocery list. Rejects if the new name conflicts with a different existing list.

newName string
readOnlyHint false idempotentHint true destructiveHint false
delete_grocery_list
annotations: verified low

Delete a grocery list by UID.

readOnlyHint false idempotentHint true destructiveHint true
move_grocery_items_to_pantry
annotations: verified low

Move one or more grocery items to the pantry. Creates pantry items (with today's purchase date), then deletes the grocery items.

uids array
readOnlyHint false idempotentHint false destructiveHint true
add_grocery_items
annotations: verified low

Add one or more items to a grocery list. Skips items whose ingredient is already on the list unpurchased (case-insensitive) and reports them with the existing UID and a suggestion to use update_grocery_item to merge quantities.

items array
readOnlyHint false idempotentHint false destructiveHint false
update_grocery_item
annotations: verified low

Update a grocery item's quantity, aisle, or notes by UID. Only provided fields are changed;

readOnlyHint false idempotentHint true destructiveHint true
delete_grocery_item
annotations: verified low

Delete a grocery item by UID.

readOnlyHint false idempotentHint true destructiveHint true
mark_grocery_item_purchased
annotations: verified low

Mark a grocery item as purchased (checked off) by UID.

readOnlyHint false idempotentHint true destructiveHint false
delete_aisle
annotations: verified low

Delete an aisle from the catalog. Refuses while unpurchased grocery items or pantry items still

readOnlyHint false idempotentHint true destructiveHint true
add_recipe_to_grocery_list
annotations: verified low

Add a recipe's ingredients to a grocery list as linked grocery items. Parse the recipe's ingredient

readOnlyHint false idempotentHint false destructiveHint false
clear_purchased_grocery_items
annotations: verified low

Clear all purchased items from a grocery list.

readOnlyHint false idempotentHint true destructiveHint true
clear_grocery_list
annotations: verified low

Clear all items from a grocery list.

readOnlyHint false idempotentHint true destructiveHint true
list_menus
annotations: verified low

List all menus (saved meal plans) in Paprika order, with item count and day span per menu.

readOnlyHint true idempotentHint true
update_menu_item
annotations: verified low

Update an existing menuitem's meal type or recipe link by UID. Provide at least one of type or

readOnlyHint false idempotentHint true destructiveHint true
delete_menu_item
annotations: verified low

Soft-delete a menuitem (a planned recipe) from a menu by UID. Idempotent: a second delete on the

readOnlyHint false idempotentHint true destructiveHint true
delete_menu
annotations: verified low

Delete a menu and all of its planned recipes (menuitems). Look it up by UID or name (tiered fuzzy

readOnlyHint false idempotentHint false destructiveHint true
create_menu
annotations: verified low

Create a new menu (saved meal plan) with the given name. Rejects duplicate names

days number notes string
readOnlyHint false idempotentHint false destructiveHint false
move_menu_item
annotations: verified low

Move a menu item to a different day within its menu, by UID. A day beyond the menu's current span

readOnlyHint false idempotentHint true destructiveHint false
read_menu
annotations: verified low

Get a menu by UID or name, rendered day by day with each day's planned recipes.

readOnlyHint true idempotentHint true
add_menu_items
annotations: verified low

Add one or more menuitems to a menu (saved meal plan). Look the menu up by UID or name (tiered

readOnlyHint false idempotentHint false destructiveHint false
update_menu
annotations: verified low

Update a menu's name, day span, and/or notes. Look it up by UID or name (tiered fuzzy match,

days number notes string
readOnlyHint false idempotentHint true destructiveHint true
list_meal_types
annotations: verified low

List all meal types — the built-in Breakfast/Lunch/Dinner/Snacks plus any custom

readOnlyHint true idempotentHint true
update_meal_type
annotations: verified low

Rename a meal type, change its display color, and/or move it to a new position in the meal-type

readOnlyHint false idempotentHint true destructiveHint false
update_aisle
annotations: verified low

Rename an aisle and/or move it to a new position in the aisle order (the order you walk the store).

readOnlyHint false idempotentHint true destructiveHint false
list_aisles
annotations: verified low

List all known aisles, sorted by order then name.

readOnlyHint true idempotentHint true
mark_pantry_item_out_of_stock
annotations: verified low

Mark a pantry item as out of stock by UID (e.g. you've run out of it).

readOnlyHint false idempotentHint true destructiveHint false
restock_pantry_item
annotations: verified low

Mark a pantry item as back in stock by UID (e.g. you've restocked it).

readOnlyHint false idempotentHint true destructiveHint false
list_pantry_items
annotations: verified low

List all pantry items sorted alphabetically by ingredient name. Returns the ingredient, quantity, and aisle for each item. Use read_pantry_item with the UID for full details.

readOnlyHint true idempotentHint true
delete_pantry_item
annotations: verified low

Soft-delete a pantry item by UID. Idempotent: a second delete on the same UID

readOnlyHint false idempotentHint true destructiveHint true
read_pantry_item
annotations: verified low

Get a pantry item by UID or ingredient name. Ingredient lookup is fuzzy

readOnlyHint true idempotentHint true
add_pantry_items
annotations: verified low

Add one or more items to the pantry. Skips items that duplicate an existing ingredient (case-insensitive)

items array
readOnlyHint false idempotentHint false destructiveHint false
clear_out_of_stock_pantry_items
annotations: verified low

Permanently delete all pantry items marked out of stock. Cannot be undone.

readOnlyHint false idempotentHint true destructiveHint true
update_pantry_item
annotations: verified low

Update a pantry item's ingredient, quantity, aisle, or dates by UID. Only provided fields are

readOnlyHint false idempotentHint true destructiveHint true
schedule_menu
annotations: verified low

Instantiate a saved menu's recipes as meal-planner entries. Look the menu up by UID or name

readOnlyHint false idempotentHint false destructiveHint false
delete_meal_type
annotations: verified low

Delete a custom meal type from the catalog. Existing meals and menu items that reference it are kept

readOnlyHint false idempotentHint true destructiveHint true
log_cooked_meal
annotations: verified low

Log a meal you cooked: records the given recipe on the planner, defaulting to today and the Dinner

readOnlyHint false idempotentHint false destructiveHint false
read_recipe_history
annotations: verified low

Summarize ONE recipe's cooking history: when it was last cooked, how many times

readOnlyHint true idempotentHint true
reschedule_meal
annotations: verified low

Reschedule a planned meal to a different date by UID, optionally also changing its meal type.

readOnlyHint false idempotentHint true destructiveHint false
plan_meals
annotations: verified low

Add one or more meals to the meal planner. Each item is EITHER recipe-linked (supply

readOnlyHint false idempotentHint false destructiveHint false
update_meal
annotations: verified low

Update an existing meal by UID. The `update` payload is a discriminated union: pick exactly one

readOnlyHint false idempotentHint true destructiveHint true
delete_meal
annotations: verified low

Soft-delete a meal from the planner by UID. Idempotent: a second delete on the same UID

readOnlyHint false idempotentHint true destructiveHint true
search_meal_history
annotations: verified low

Search PAST meals (recall/browse), by a specific recipe, a recipe category ("class"), a meal type,

readOnlyHint true idempotentHint true
read_meal_plan
annotations: verified low

Read the meal plan: meals grouped by day in ascending date order. Defaults to the next 7 days from

readOnlyHint true idempotentHint true
trash_recipe
annotations: verified low

Soft-delete a recipe by UID, moving it to the Paprika trash.

readOnlyHint false idempotentHint false destructiveHint true
categorize_recipe
annotations: verified low

Add, replace, or remove a recipe's categories by UID. Pass category names or UIDs and a mode:

readOnlyHint false idempotentHint true destructiveHint true
rate_recipe
annotations: verified low

Rate a recipe 0–5 stars by UID. Sets the recipe's star rating; pass 0 to clear it.

readOnlyHint false idempotentHint true destructiveHint false
delete_category
annotations: verified low

Delete a category. Refuses if the category still has child categories or is assigned to any recipe —

readOnlyHint false idempotentHint true destructiveHint true
list_recipes
annotations: verified low

List all recipes with pagination. Returns recipe summaries sorted alphabetically. Use offset/limit to paginate through the full library. Response includes total recipe count.

offset number
readOnlyHint true idempotentHint true
upload_recipe_photo
annotations: verified low

Attach a photo to a recipe from exactly one `source`: a `url` (PREFERRED for web images — the server

readOnlyHint false idempotentHint false destructiveHint false
delete_recipe_photo
annotations: verified low

Delete a photo from a recipe by UID. Idempotent: a second delete on the same UID returns a friendly

readOnlyHint false idempotentHint true destructiveHint true
purge_recipe
annotations: verified low

Permanently delete a recipe that is already in the Paprika trash.

readOnlyHint false idempotentHint false destructiveHint true
cook_recipe
annotations: verified low

Open the interactive step-anchored cooking view for a recipe. FIRST read the recipe (read_recipe), THEN

readOnlyHint true idempotentHint true
search_recipes
annotations: verified low

Search and filter recipes. Use any combination of: free-text query (matches name,

readOnlyHint true idempotentHint true
create_recipe
annotations: verified low

Create a new recipe in the Paprika account. If you built this recipe from a web page,

notes string rating number source string cookTime string prepTime string servings string sourceUrl string totalTime string difficulty string directions string ingredients string nutritionalInfo string
readOnlyHint false idempotentHint false destructiveHint false
create_category
annotations: verified low

Create a new recipe category. Optionally nest it under an existing category by passing that

readOnlyHint false idempotentHint false destructiveHint false
update_category
annotations: verified low

Rename and/or re-parent an existing category. Pass `name` to rename, `parentUid` to move it under

readOnlyHint false idempotentHint true destructiveHint true
read_recipe
annotations: verified low

Read a recipe by UID or title. Title lookup is fuzzy (exact → starts-with → contains)

readOnlyHint true idempotentHint true
restore_recipe
annotations: verified low

Restore a trashed recipe by UID, moving it out of the trash back into the active library.

readOnlyHint false idempotentHint true destructiveHint false
update_recipe
annotations: verified low

Update a recipe's content fields by UID (name, ingredients, directions, description, notes,

readOnlyHint false idempotentHint true destructiveHint true
list_categories
annotations: verified low

List all recipe categories with the number of recipes in each. Categories are sorted alphabetically.

readOnlyHint true idempotentHint true
discover_recipes
annotations: verified low

Discover recipes using semantic search. Finds recipes matching a natural language description of what you're looking for.

readOnlyHint true idempotentHint true
generate_recipe_photo
annotations: verified low

Generate a styled food photo for a recipe with an AI image model and (by default) attach it to the

readOnlyHint false idempotentHint false destructiveHint false
record_widget_timing
annotations: verified low

Internal telemetry sink. A rendered widget reports its own render-timing marks here

readOnlyHint true

Permissions 4

network medium
Server uses network capabilities via: fetch()
filesystem low
Server uses filesystem capabilities via: fs, fs/promises, open()
shell high
Server uses shell capabilities via: child_process
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 0

No scan findings.