Install
$ agentstack add mcp-rusty4444-grocy-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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}entity - Create/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.
Installation
pipx install git+https://github.com/rusty4444/grocy-mcp.git
Or 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 | |---|---:|---|---| | GROCY_BASE_URL | No | https://demo.grocy.info | Grocy base URL, with or without /api | | GROCY_API_KEY | No for public/demo read-only instances, yes for private/write access | unset | Grocy API key sent as GROCY-API-KEY | | GROCY_TIMEOUT | No | 20 | 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_system_info | Grocy version and runtime details | | grocy_list_products | List configured products | | grocy_search_products | Search products by name/description | | grocy_get_product | Fetch one product object | | grocy_lookup_product_by_barcode | Resolve a barcode/Grocycode | | grocy_stock_overview | Current stock rows | | grocy_volatile_stock | Due, overdue, expired, or missing products | | grocy_product_stock_details | Detailed stock state for one product | | grocy_product_stock_entries | Individual stock entries in next-use order | | grocy_common_entities | Common generic entity names useful with CRUD tools | | grocy_list_shopping_lists | Configured shopping lists | | grocy_list_shopping_list_items | Current shopping list rows, optionally filtered by list id | | grocy_list_entity | List any generic Grocy entity | | grocy_get_entity_object | Fetch any generic entity object | | grocy_create_entity_object | POST a generic entity object from JSON | | grocy_update_entity_object | PUT a generic entity object from JSON | | grocy_add_stock | Add product amount to stock | | grocy_consume_stock | Consume/remove product amount from stock | | grocy_inventory_product | Set product inventory amount | | grocy_add_product_to_shopping_list | Add a product to a shopping list | | grocy_remove_product_from_shopping_list | Remove a product from a shopping list |
Development and validation
python -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'
ruff check .
pytest
python scripts/live_readonly_test.py
The 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.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: rusty4444
- Source: rusty4444/grocy-mcp
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.