# Grocy (Home ERP) MCP

> Grocy (Home ERP) MCP connects your self-hosted household management system to any AI client. Use it to track pantry inventory, manage grocery lists, organize chores, and plan meals through conversation. It lets you know exactly what supplies you're running low on or if a recipe is even possible tonight.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** home-automation, pantry-tracker, shopping-list, chore-management, self-hosted

## Description

This connector gives your agent full control over your home’s operational data. Instead of jumping between multiple apps—one for inventory, one for lists, another for chores—you just talk to it. Your AI client acts like a personal manager, reading your Grocy data and handling the logistics. Need to know if you have enough eggs for breakfast? Just ask. Want to add milk to the list while standing in the store? Tell your agent. It manages everything from consuming ingredients when you cook to marking chores as done. Because it's hosted through Vinkius, you connect once from any MCP-compatible client and get instant access to this entire suite of home tools.

## Tools

### add_product_stock
Increase the count of a specific product in your inventory.

### add_shopping_list_item
Add one or more items to the list of groceries you need to buy.

### charge_battery
Mark a battery as having been fully charged and ready for use.

### clear_shopping_list
Remove every item from your current shopping list, typically after you've bought everything.

### consume_product_stock
Decrease the stock amount for a product because it was used or consumed.

### consume_recipe
Automatically deducts all required ingredients from your pantry when you decide to cook a meal.

### create_task
Adds a brand new, specific chore or task to your household to-do list.

### delete_task
Removes an existing, unnecessary chore or general task from the system records.

### execute_chore
Marks a pending household chore as completed so it disappears from your list.

### get_batteries
Lists all batteries currently tracked in the system, including their status.

### get_chores
Retrieves a full list of household chores that still need attention.

### get_product
Fetches detailed information about one specific product by its ID or name.

### get_recipe
Gets the full details, including ingredients, for a single recipe you want to make.

### get_recipes
Retrieves a list of all available recipes in your collection.

### get_shopping_list
Displays every item currently sitting on your shopping list.

### get_stock
Shows a comprehensive list of all products and their current count in the pantry.

### get_tasks
Retrieves a full, organized list of general household tasks and reminders.

### inventory_product_stock
Sets or resets the total stock amount for any given product to a defined number.

### remove_purchased_shopping_list
Clears all items from your shopping list that have already been bought at the store.

### transfer_product_stock
Changes a product's location or count by moving it between different storage areas.

### update_task
Modifies the details, due date, or priority of an existing task on your list.

## Prompt Examples

**Prompt:** 
```
What products do I currently have in stock?
```

**Response:** 
```
I've checked your Grocy inventory. You currently have 12 items in stock, including Milk (2L), Eggs (12 units), and Flour (1kg). Would you like the full list?
```

**Prompt:** 
```
Add 2 units of Coffee to my shopping list.
```

**Response:** 
```
Success! I've added 2 units of Coffee (Product ID: 5) to your shopping list. Is there anything else you need to buy?
```

**Prompt:** 
```
Show me my pending chores and mark 'Vacuuming' as done.
```

**Response:** 
```
You have 3 pending chores: Vacuuming, Watering Plants, and Dusting. I have successfully executed 'Vacuuming' (ID: 2) for you.
```

## Capabilities

### Track Pantry Stock
You can list all products currently in your pantry or check the current stock level of a specific item.

### Manage Shopping Lists
The agent adds new items, removes purchased ones, or retrieves everything you still need to buy.

### Plan and Consume Recipes
It lets you view recipes and automatically subtracts all necessary ingredients from your current stock count when a meal is cooked.

### Organize Chores and Tasks
You can retrieve pending household chores, create new to-dos, or mark maintenance items as completed.

### Update Supplies
The system allows you to add stock for new products or transfer existing supplies between storage locations.

## Use Cases

### The End-of-Month Pantry Audit
The user asks their agent: 'What supplies do we need to buy next month?' The agent runs `get_stock`, finds low counts, and generates a preliminary shopping list using `add_shopping_list_item`.

### Dinner Dilemma
The user says: 'What can we make tonight with what's in stock?' The agent checks recipes via `get_recipes`, identifies a match, and then confirms the ingredients are available by checking `get_stock`.

### Post-Grocery Cleanup
The user asks: 'I finished shopping. Update my lists.' The agent first runs `remove_purchased_shopping_list`, clearing purchased items, and then optionally calls `add_product_stock` for bulk goods.

### Catching Up on Life Admin
The user asks: 'Show me what's pending in the house.' The agent displays all chores via `get_chores`, and upon confirmation, marks a chore as done using `execute_chore`.

## Benefits

- Stop guessing if you have enough ingredients. By calling `get_stock` or using the agent to check your pantry, you know exactly what’s available before starting dinner prep.
- Never forget an item on a grocery run. The MCP lets you manage your list by adding items with `add_shopping_list_item` and clearing out purchased goods with `remove_purchased_shopping_list`.
- Meal planning just got smart. When you cook, the system runs `consume_recipe`, automatically draining ingredients from stock so you never over-purchase or realize a vital component is missing.
- Keep household maintenance organized. You can retrieve pending chores with `get_chores` and then mark them done immediately using `execute_chore`. It’s simple accountability.
- Full control over your data, no vendor lock-in. Since this MCP connects to your self-hosted Grocy instance via Vinkius, you keep all the data where it belongs—with you.

## How It Works

The bottom line is you talk to a single interface that manages all of your household logistics.

1. Subscribe to the Grocy MCP and provide your API Key and Base URL.
2. Your AI agent accesses the connection, giving it read/write permissions for your home data.
3. You interact with your agent using natural language commands (e.g., 'What do I need for lasagna?').

## Frequently Asked Questions

**How does Grocy (Home ERP) MCP handle ingredients for recipes?**
The agent checks your stock using `get_stock` and, when you confirm a meal, it automatically deducts all used items by calling `consume_recipe`. You don't have to update anything manually.

**Can I use Grocy (Home ERP) MCP to manage my shopping list?**
Yep. The agent lets you add things with `add_shopping_list_item` and clear the list entirely once you've done your shopping using `clear_shopping_list`.

**What if I move product stock locations?**
You don't need to update multiple records. Use the `transfer_product_stock` tool, and the agent manages moving the count between different defined storage areas.

**Does Grocy (Home ERP) MCP track general tasks or just chores?**
It tracks both. You can use `get_chores` for maintenance items, but you also have the ability to create and manage general to-dos using `create_task`.

**When I use the add_product_stock tool, what format does the Grocy API key need?**
The MCP requires a read/write API key with full inventory permissions. You must ensure this key is generated within your Grocy settings and passed to Vinkius during setup. It's crucial that the key has proper scope access for stock modification.

**If I try to consume product stock using consume_product_stock, what prevents negative inventory?**
The tool checks current levels before execution and will throw an error if consumption exceeds available stock. This built-in validation protects your data integrity, preventing you from recording items that don't exist physically.

**How can I query the get_stock tool to find only low-level supplies?**
You must pass specific filtering parameters to the API call. While basic calls list everything, you can specify a minimum threshold (e.g., quantity < 5) in your prompt's context for accurate results.

**Is there a rate limit when using get_tasks or updating tasks frequently?**
The API handles high request volumes, but excessive calls within seconds may trigger throttling. For continuous monitoring, consider batching your task checks into single workflows rather than rapid succession.

**Can I update the stock level of a product if the current count is wrong?**
Yes! You can use the `inventory_product_stock` tool to set a specific new amount, or `add_product_stock` to increase the current count by a specific value.

**How do I mark a household chore as completed?**
Simply use the `execute_chore` tool with the specific Chore ID. This will record the execution time and update the next scheduled date in Grocy.

**Can I see what ingredients I need to buy for my recipes?**
You can use `get_recipe` to see the required ingredients for a specific dish, and then use `get_shopping_list` to see if they are already listed for purchase.