Skip to main content
Glama
Rubio-Enterprises

grocy-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GROCY_URLYesThe base URL of your Grocy instance (e.g. https://grocy.example.com). Required to connect to the Grocy server.
GROCY_API_KEYYesYour Grocy API key for authentication.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
stock_overview_toolA

List all products currently in stock with their quantities.

Returns each product with its ID, name, and amount. Use this to see what is available before adding, consuming, or transferring stock.

stock_expiring_toolA

List products that are expiring soon, already expired, or below minimum stock.

Useful for daily checks or deciding what to consume or restock first.

stock_product_info_toolA

Get detailed stock information for a single product.

Returns current amount, best-before date, and product metadata.

stock_add_toolB

Add stock for a product (e.g. after a purchase).

stock_consume_toolA

Consume stock for a product (reduces the quantity on hand).

stock_transfer_toolC

Move stock of a product to a different storage location.

stock_inventory_toolA

Correct the stock level for a product by setting an absolute quantity.

Use this when the actual count differs from what Grocy shows — e.g. after a manual count. This replaces the current amount, not adds to it.

stock_open_toolB

Mark stock units as opened (e.g. an opened bottle of milk).

stock_search_toolA

Search for products by name substring or barcode.

Returns matching product names and IDs. Use this when you are not sure of the exact product name. For a direct barcode lookup with stock details, use stock_barcode_lookup_tool instead.

stock_barcode_lookup_toolA

Look up a product and its current stock level by exact barcode.

Returns the product name and quantity in stock. For partial or name-based searches, use stock_search_tool instead.

shopping_list_view_toolA

View all items on a shopping list.

Returns each item with its ID, product name, quantity, and optional note. Item IDs are needed for update and remove operations.

shopping_list_add_toolC

Add a product to the shopping list.

shopping_list_update_toolB

Update fields on an existing shopping list item.

Use shopping_list_view_tool first to find the item_id.

shopping_list_remove_toolA

Remove a single item from the shopping list.

Use shopping_list_view_tool first to find the item_id.

shopping_list_clear_toolA

Remove ALL items from a shopping list. This cannot be undone.

shopping_list_add_missing_toolA

Add all products that are below their minimum stock level to the shopping list.

This is a bulk operation — it scans all products and adds any that are below their configured minimum stock quantity.

shopping_list_set_amount_toolA

Change the quantity for a shopping list item.

A simpler alternative to shopping_list_update_tool when you only need to change the amount.

shopping_list_set_note_toolA

Set or update the note on a shopping list item.

A simpler alternative to shopping_list_update_tool when you only need to change the note.

recipes_list_toolA

List all recipes with their IDs and descriptions.

Use this to discover available recipes before checking fulfillment or consuming ingredients.

recipe_details_toolA

Show full details for a recipe including all ingredients and amounts.

recipe_fulfillment_toolA

Check whether a recipe can be made with current stock.

Reports whether all ingredients are available and how many are missing.

recipe_consume_toolA

Consume stock for all ingredients of a recipe (as if you cooked it).

This deducts each ingredient amount from stock. Check fulfillment first to make sure all ingredients are available.

recipe_add_to_shopping_toolA

Add only the missing ingredients for a recipe to the shopping list.

Does not add ingredients that are already sufficiently in stock.

recipe_create_toolC

Create a new recipe in Grocy.

recipe_create_by_name_toolA

Create a recipe with ingredients specified by product name instead of ID.

This is the easier alternative to recipe_create_tool — you can use product names directly, and they will be resolved automatically.

recipe_update_toolA

Update a recipe's name or description.

recipe_add_ingredient_toolB

Add an ingredient to an existing recipe using the product name.

recipe_remove_ingredient_toolB

Remove an ingredient from a recipe.

Use recipe_details_tool to see ingredient position IDs.

recipe_consume_preview_toolA

Preview what stock would be consumed without actually consuming.

Shows each ingredient, the amount needed, and whether there is enough in stock. Use this before recipe_consume_tool to verify.

chores_list_toolA

List all chores with their IDs and next scheduled execution time.

Use this to see what chores exist and when they are due next.

chores_overdue_toolA

List chores that are past their scheduled execution time.

Returns only chores where the next execution time is in the past.

chore_execute_toolA

Mark a chore as done.

This records an execution and advances the next scheduled time.

chore_undo_toolA

Undo the most recent execution of a chore.

Removes the last recorded execution and reverts the schedule.

chore_create_toolB

Create a new chore in Grocy.

locations_list_toolA

List all storage locations in Grocy.

Shows location names, IDs, and whether each is a freezer.

location_create_toolA

Create a new storage location.

stock_journal_toolA

View recent stock transaction history.

Shows the 50 most recent stock changes (purchases, consumption, transfers, inventory corrections). Optionally filter by product.

tasks_list_toolA

List tasks (to-do items separate from chores).

By default shows only incomplete tasks.

task_create_toolB

Create a new task.

task_complete_toolB

Mark a task as done.

task_undo_toolA

Mark a task as not completed.

task_delete_toolA

Delete a task. This cannot be undone.

meal_plan_list_toolA

List all meal plan entries sorted by date.

Shows scheduled meals with their dates, recipe names, and notes.

meal_plan_add_toolA

Add an entry to the meal plan.

Either specify a recipe or a free-text note (or both).

meal_plan_remove_toolB

Remove an entry from the meal plan.

meal_plan_shopping_toolA

Add missing ingredients for all planned recipes to the shopping list.

Scans the meal plan (optionally filtered by date range), finds all scheduled recipes, and adds their unfulfilled ingredients to the shopping list. This is the "plan meals → shop" workflow in one step.

meal_plan_summary_toolB

Return a structured meal-plan summary with recipe and section names.

catalog_list_toolA

List first-class catalog and metadata entities.

Supported entities include shopping_lists, shopping_locations, quantity_units, quantity_unit_conversions, product_groups, task_categories, meal_plan_sections, products_last_purchased, and products_average_price.

catalog_details_toolC

Return details for a first-class catalog entity record.

catalog_create_toolC

Create a record in a writable first-class catalog entity.

catalog_update_toolC

Update a record in a writable first-class catalog entity.

batteries_list_toolA

List batteries with next estimated charge times.

battery_details_toolB

Return detailed information for a battery by name or ID.

batteries_due_toolB

Return batteries due within the next given number of days.

batteries_overdue_toolA

Return batteries that are already overdue for charging.

battery_charge_toolC

Track a battery charge cycle.

battery_history_toolC

Return charge-cycle history for a battery.

battery_undo_cycle_toolC

Undo a tracked battery charge cycle.

battery_create_toolC

Create a battery object.

battery_update_toolD

Update a battery object.

equipment_list_toolA

List equipment with linked battery visibility where available.

equipment_details_toolA

Return details for an equipment item by name or ID.

equipment_create_toolC

Create an equipment item.

equipment_update_toolD

Update an equipment item.

calendar_summary_toolC

Return a read-only planning summary across tasks, chores, batteries, and meal plan.

calendar_ical_toolA

Return the raw Grocy iCal export.

calendar_sharing_link_toolB

Return the public Grocy iCal sharing link.

file_download_toolB

Download a Grocy-managed file as base64 content.

file_upload_toolC

Upload a Grocy-managed file from base64 content.

file_delete_toolC

Delete a Grocy-managed file.

print_stock_entry_label_toolC

Trigger printing of a stock-entry label.

print_product_label_toolC

Trigger printing of a product label.

print_recipe_label_toolD

Trigger printing of a recipe label.

print_chore_label_toolC

Trigger printing of a chore label.

print_battery_label_toolC

Trigger printing of a battery label.

print_shopping_list_thermal_toolA

Trigger thermal printing of the shopping list.

discover_candidates_toolC

Search products, recipes, chores, locations, tasks, or supported metadata domains.

describe_entity_toolC

Describe a Grocy entity and its discovered fields.

discover_fields_toolC

Return discovered sample fields for a Grocy entity.

workflow_match_products_preview_toolA

Preview product matches for normalized external items.

Use this when an LLM or another client has already converted a receipt, chat message, or image into a normalized item list and you need Grocy product IDs before applying stock changes.

workflow_stock_intake_preview_toolA

Preview Grocy stock additions for normalized external items.

This uses the same matching contract as workflow_match_products_preview_tool, but is named for the common "I bought these groceries" workflow.

workflow_stock_intake_apply_toolA

Apply confirmed stock additions using explicit Grocy product IDs.

Apply only confirmed IDs from a prior preview step. This tool does not resolve names implicitly.

workflow_shopping_reconcile_preview_toolA

Preview shopping-list removals and amount updates after a purchase.

Provide confirmed Grocy product IDs for what was purchased and this tool will propose explicit shopping-item actions without applying them.

workflow_shopping_reconcile_apply_toolB

Apply explicit shopping-list reconciliation actions from a preview step.

system_info_toolA

Show Grocy server version, PHP version, and SQLite version.

Useful for verifying connectivity and checking compatibility.

entity_list_toolA

List all objects of a Grocy entity type.

This is a generic tool for browsing any Grocy data table.

entity_create_toolA

Create a new object of any Grocy entity type.

This is a low-level tool — prefer the domain-specific create tools (recipe_create_tool, chore_create_tool) when available.

entity_update_toolB

Update an existing Grocy entity object by its ID.

Only the fields provided in data are changed; other fields are left as-is.

entity_delete_toolA

Delete a Grocy entity object by its ID. This cannot be undone.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.9/5.0

Scored across 89 tools

Disambiguation4/5

Most tools have distinct scopes with clear descriptions and cross-references (e.g., stock_search vs stock_barcode_lookup). Some overlap exists between recipe_fulfillment and recipe_consume_preview, and between shopping_list_set_amount and shopping_list_update, but descriptions help disambiguate. Overall, an agent can generally tell tools apart despite the large set.

Naming Consistency4/5

The dominant pattern is <domain>_<action>_tool, which is predictable and readable. However, singular/plural prefixes are inconsistent (chores_list vs chore_execute, batteries_list vs battery_details), and a few tools like discover_candidates_tool break the pattern. Still, the convention is mostly consistent.

Tool Count2/5

89 tools is far above the typical well-scoped range and feels excessive. Many tools are near-duplicates (six print label tools, multiple shopping-list population tools, and generic entity CRUD alongside domain-specific CRUD). This could be consolidated with parameterized tools, making the surface heavy and harder to navigate.

Completeness3/5

Core workflows (stock, shopping list, recipes, chores, tasks, meal plans, batteries, equipment) are well covered. However, there are notable lifecycle gaps: recipe deletion, chore update, location update/delete, battery delete, equipment delete, and file listing are missing. Generic entity tools partially mask these gaps but require low-level knowledge, so agents may hit dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues