grocy-mcp
Provides tools for interacting with a Grocy instance, including product management, stock operations, shopping list management, barcode lookup, and generic entity CRUD.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@grocy-mcpWhat's on my shopping list?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Grocy MCP
A Model Context Protocol (MCP) server for Grocy, the self-hosted household ERP for groceries, inventory, chores, batteries, recipes, tasks, and shopping lists.
This server focuses on AI-friendly household operations that are awkward through generic REST clients:
Inspect Grocy system/version status
List, search, and inspect products
Read current stock, volatile stock, product stock details, and individual stock entries
List current shopping list items and add/remove products from shopping lists
Look up products by barcode/Grocycode
List and inspect any
/api/objects/{entity}entityCreate/update generic entity objects from JSON
Add, consume, and inventory product stock
Add/remove product amounts from shopping lists
Why this exists
Grocy has a strong REST API, but MCP coverage is sparse and usually either incomplete or tightly coupled to one client's workflow. This package gives Hermes, Claude Desktop, Cursor, and other MCP clients a small, explicit, documented tool surface.
Related MCP server: MCP Grocy API
Installation
pipx install git+https://github.com/rusty4444/grocy-mcp.gitOr from a checkout:
python -m venv .venv
source .venv/bin/activate
pip install -e .Configuration
The server reads configuration from environment variables:
Variable | Required | Default | Description |
| No |
| Grocy base URL, with or without |
| No for public/demo read-only instances, yes for private/write access | unset | Grocy API key sent as |
| No |
| HTTP timeout in seconds |
Grocy API keys are managed in Grocy under Manage API keys. The API accepts the GROCY-API-KEY header.
MCP client config
{
"mcpServers": {
"grocy": {
"command": "grocy-mcp",
"env": {
"GROCY_BASE_URL": "https://grocy.example.com",
"GROCY_API_KEY": "your-api-key"
}
}
}
}Tools
Tool | Purpose |
| Grocy version and runtime details |
| List configured products |
| Search products by name/description |
| Fetch one product object |
| Resolve a barcode/Grocycode |
| Current stock rows |
| Due, overdue, expired, or missing products |
| Detailed stock state for one product |
| Individual stock entries in next-use order |
| Common generic entity names useful with CRUD tools |
| Configured shopping lists |
| Current shopping list rows, optionally filtered by list id |
| List any generic Grocy entity |
| Fetch any generic entity object |
| POST a generic entity object from JSON |
| PUT a generic entity object from JSON |
| Add product amount to stock |
| Consume/remove product amount from stock |
| Set product inventory amount |
| Add a product to a shopping list |
| Remove a product from a shopping list |
| Set userfield values on an entity object |
| List chores including computed next-due times |
| Execute (mark done) a chore, optionally backdated |
| List tasks |
Development and validation
python -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'
ruff check .
pytest
python scripts/live_readonly_test.pyThe live read-only test defaults to https://demo.grocy.info, avoiding mutations on shared infrastructure. It has been validated against Grocy API 4.6.0. Use a private Grocy instance plus GROCY_API_KEY for write-path testing.
Safety
Write-capable tools directly mutate Grocy data. Prefer read-only tools when using public demos. Keep GROCY_API_KEY in MCP client environment config or a secret manager, never in source control.
This server cannot be deployed
Maintenance
Related MCP Connectors
AI-powered kitchen management — pantry, recipes, meal plans, shopping lists
Household-aware cooking brain: pantry, meal suggestions, dietary safety, recipes, shopping lists.
Scraps Kitchen gives any AI agent a persistent, household-aware kitchen memory. Unlike generic chatbot recall, Scraps maintains structured cooking data: what's in your fridge (with freshness tracking), who you cook for (with allergens, dietary restrictions, and preferences), your recipe collection (with cook notes and per-diner ratings), your shopping list, and your kitchen equipment. 27 tools across 6 domains let agents read kitchen context, suggest meals that respect dietary safety, update the pantry after cooking, and build a history of what works for your household. Every interaction makes the data richer. Cooking history, preference signals, kitchen awareness = better suggestions next time. All tools work via oAuth and a free scraps.kitchen account.
Persistent shopping memory for AI assistants. The AI reasons; Kaufliste stores and executes.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with Mealie recipe databases, allowing users to manage and query their recipes through natural language conversations.16MIT
- AlicenseNot gradedqualityFmaintenanceEnables interaction with Grocy's API through MCP, allowing management of grocery inventory, shopping lists, and household tasks via natural language.8829MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI-powered household management including inventory tracking, restock predictions, meal planning from available ingredients, and baby supply monitoring through natural language commands.Apache 2.0
- AlicenseAqualityDmaintenanceEnables AI assistants to manage recipes, meal plans, and shopping lists in Mealie through natural language, supporting CRUD operations and URL-based recipe imports.278738MIT