Integration

Grocy integration

Grocy is a self-hosted groceries and household management server, built around stock keeping, chores, tasks and batteries. Read and write any of its master-data entities (products, locations, quantity units, product groups, shopping lists and list items, recipes and their ingredients, meal plan entries, chores, batteries, tasks, equipment, userentities and more) through one generic object API, plus the user fields attached to any record. Track stock: read current stock and volatile stock (expiring, expired, missing, overdue), add, consume, transfer, open and inventory a product by id or by barcode, read a product's stock entries, locations and price history, edit a single stock entry, and undo a booking or a whole transaction. Manage the shopping list: add a single product, clear it, or bulk-add missing, overdue and expired products, and add a recipe's unfulfilled ingredients. Check recipe fulfillment, consume a recipe, copy one. Execute and undo chores, calculate the next chore assignments, merge two chores or two products. Track and undo battery charge cycles. Complete and undo tasks. Render thermal-printer and label output, look a barcode up against the configured external provider, upload, download and delete files in the server's storage groups, manage users, their permissions and their settings, and read the server config, version, time and localization strings. The host is part of the credential because every install is its own deployment. Authentication is an API key sent in the GROCY-API-KEY header.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Grocy.Built from the 84 Grocy tools below, on the connection you add once.

What you can do with Grocy

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Object, 5 operations

  • create_objectCreate objectPOSTAdds a single object of the given entity.
  • delete_objectDelete objectDELETEDeletes a single object of the given entity.
  • get_objectGet objectGETReturns a single object of the given entity.
  • list_objectsList objectsGETReturns all objects of the given entity.
  • update_objectUpdate objectPUTEdits the given object of the given entity.

Printlabel, 5 operations

  • get_battery_labelGet battery labelGETPrints the Grocycode label of the given battery on the configured label printer.
  • get_chore_labelGet chore labelGETPrints the Grocycode label of the given chore on the configured label printer.
  • get_product_labelGet product labelGETPrints the Grocycode label of the given product on the configured label printer.
  • get_recipe_labelGet recipe labelGETPrints the Grocycode label of the given recipe on the configured label printer.
  • get_stock_entry_labelGet stock entry labelGETPrints the Grocycode / stock entry label of the given entry on the configured label printer.

Undo, 5 operations

  • undo_battery_charge_cycleUndo battery charge cyclePOSTUndoes a battery charge cycle.
  • undo_chore_executionUndo chore executionPOSTUndoes a chore execution.
  • undo_stock_bookingUndo stock bookingPOSTUndoes a booking.
  • undo_stock_transactionUndo stock transactionPOSTUndoes a transaction.
  • undo_task_completionUndo task completionPOSTMarks the given task as not completed.

User, 5 operations

  • create_userCreate userPOSTCreates a new user.
  • delete_userDelete userDELETEDeletes the given user.
  • get_current_userGet current userGETReturns the currently authenticated user.
  • list_usersList usersGETReturns all users.
  • update_userUpdate userPUTEdits the given user.

Setting, 4 operations

  • delete_user_settingDelete user settingDELETEDeletes the given setting of the currently logged in user.
  • get_user_settingGet user settingGETReturns the given setting of the currently logged in user.
  • list_user_settingsList user settingsGETReturns all settings of the currently logged in user.
  • set_user_settingSet user settingPUTSets the given setting of the currently logged in user.

Consume, 3 operations

  • consume_product_stockConsume product stockPOSTRemoves the given amount of the given product from stock.
  • consume_product_stock_by_barcodeConsume product stock by barcodePOSTRemoves the given amount of the by its barcode given product from stock.
  • consume_recipeConsume recipePOSTConsumes all in stock ingredients of the given recipe (for ingredients that are only partially in stock, the in stock amount will be consumed).

File, 3 operations

  • delete_fileDelete fileDELETEDeletes the given file.
  • download_fileDownload fileGETServes the given file.
  • upload_fileUpload filePUTUploads a single file.

Permission, 3 operations

  • add_user_permissionAdd user permissionPOSTAdds a permission to the given user.
  • list_user_permissionsList user permissionsGETReturns the assigned permissions of the given user.
  • set_user_permissionsSet user permissionsPUTReplaces the assigned permissions of the given user.

Add, 2 operations

  • add_product_stockAdd product stockPOSTAdds the given amount of the given product to stock.
  • add_product_stock_by_barcodeAdd product stock by barcodePOSTAdds the given amount of the by its barcode given product to stock.

Batterie, 2 operations

  • get_batteryGet batteryGETReturns details of the given battery.
  • list_batteriesList batteriesGETReturns all batteries incl. the next estimated charge time per battery.

Chore, 2 operations

  • get_choreGet choreGETReturns details of the given chore.
  • list_choresList choresGETReturns all chores incl. the next estimated execution time per chore.

Entrie, 2 operations

  • list_location_stock_entriesList location stock entriesGETReturns all stock entries of the given location.
  • list_product_stock_entriesList product stock entriesGETReturns all stock entries of the given product in order of next use (Opened first, then first due first, then first in first out).

Entry, 2 operations

  • get_stock_entryGet stock entryGETReturns details of the given stock.
  • update_stock_entryUpdate stock entryPUTEdits the stock entry.

Fulfillment, 2 operations

  • get_recipe_fulfillmentGet recipe fulfillmentGETGet stock fulfillment information for the given recipe.
  • list_recipes_fulfillmentList recipes fulfillmentGETGet stock fulfillment information for all recipe.

Inventory, 2 operations

  • set_product_inventorySet product inventoryPOSTInventories the given product (adds/removes based on the given new amount).
  • set_product_inventory_by_barcodeSet product inventory by barcodePOSTInventories the by its barcode given product (adds/removes based on the given new amount).

Merge, 2 operations

  • merge_choresMerge choresPOSTMerges two chores into one.
  • merge_productsMerge productsPOSTMerges two products into one.

Open, 2 operations

  • open_productOpen productPOSTMarks the given amount of the given product as opened.
  • open_product_by_barcodeOpen product by barcodePOSTMarks the given amount of the by its barcode given product as opened.

Transfer, 2 operations

  • transfer_product_stockTransfer product stockPOSTTransfers the given amount of the given product from one location to another (this is currently not supported for tare weight handling enabled products).
  • transfer_product_stock_by_barcodeTransfer product stock by barcodePOSTTransfers the given amount of the by its barcode given product from one location to another (this is currently not supported for tare weight handling enabled products).

Userfield, 2 operations

  • get_userfieldsGet userfieldsGETReturns all userfields with their values of the given object of the given entity.
  • update_userfieldsUpdate userfieldsPUTEdits the given userfields of the given object of the given entity.

Add expired product, 1 operation

  • add_expired_products_to_shopping_listAdd expired products to shopping listPOSTAdds expired products to the given shopping list.

Add missing product, 1 operation

  • add_missing_products_to_shopping_listAdd missing products to shopping listPOSTAdds currently missing products (below defined min. stock amount) to the given shopping list.

Add not fulfilled products to shoppinglist, 1 operation

  • add_recipe_missing_products_to_shopping_listAdd recipe missing products to shopping listPOSTAdds all missing products for the given recipe to the shopping list.

Add overdue product, 1 operation

  • add_overdue_products_to_shopping_listAdd overdue products to shopping listPOSTAdds overdue products to the given shopping list.

Add product, 1 operation

  • add_product_to_shopping_listAdd product to shopping listPOSTAdds the given amount of the given product to the given shopping list.

Booking, 1 operation

  • get_stock_bookingGet stock bookingGETReturns the given stock booking.

By barcode, 1 operation

  • get_product_stock_details_by_barcodeGet product stock details by barcodeGETReturns details of the given product by its barcode.

Calculate next assignment, 1 operation

  • calculate_next_chore_assignmentsCalculate next chore assignmentsPOST(Re)calculates all next user assignments of all chores.

Charge, 1 operation

  • track_battery_charge_cycleTrack battery charge cyclePOSTTracks a charge cycle of the given battery.

Clear, 1 operation

  • clear_shopping_listClear shopping listPOSTRemoves all items from the given shopping list.

Complete, 1 operation

  • complete_taskComplete taskPOSTMarks the given task as completed.

Config, 1 operation

  • get_system_configGet system configGETReturns all config settings.

Copy, 1 operation

  • copy_recipeCopy recipePOSTCopies a recipe.

Db changed time, 1 operation

  • get_db_changed_timeGet db changed timeGETReturns the time when the database was last changed.

Execute, 1 operation

  • track_chore_executionTrack chore executionPOSTTracks an execution of the given chore.

External lookup, 1 operation

  • lookup_barcode_externallyLookup barcode externallyGETExecutes an external barcode lookoup via the configured plugin with the given barcode.

Info, 1 operation

  • get_system_infoGet system infoGETReturns information about the installed Grocy version, PHP runtime and OS.

Localization string, 1 operation

  • get_localization_stringsGet localization stringsGETReturns all localization strings (in the by the user desired language).

Location, 1 operation

  • list_product_stock_locationsList product stock locationsGETReturns all locations where the given product currently has stock.

Price history, 1 operation

  • list_product_price_historyList product price historyGETReturns the price history of the given product.

Product, 1 operation

  • get_product_stock_detailsGet product stock detailsGETReturns details of the given product.

Remove product, 1 operation

  • remove_product_from_shopping_listRemove product from shopping listPOSTRemoves the given amount of the given product from the given shopping list, if it is on it.

Sharing link, 1 operation

  • get_calendar_sharing_linkGet calendar sharing linkGETReturns a (public) sharing link for the calendar in iCal format.

Stock, 1 operation

  • list_stockList stockGETReturns all products which are currently in stock incl. the next due date per product.

Task, 1 operation

  • list_tasksList tasksGETReturns all tasks which are not done yet.

Thermal, 1 operation

  • print_shopping_list_thermalPrint shopping list thermalGETPrints the shoppinglist with a thermal printer.

Time, 1 operation

  • get_system_timeGet system timeGETReturns the current server time.

Transaction, 1 operation

  • get_stock_transactionGet stock transactionGETReturns all stock bookings of the given transaction id.

Volatile, 1 operation

  • get_volatile_stockGet volatile stockGETReturns all products which are due soon, overdue, expired or currently missing.

Use Grocy from Claude Code, Cursor or Codex

Connect Grocy in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Grocy operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Grocy

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Grocy once

    Add your Grocy connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Grocy integration FAQ

What can you do with the Grocy integration?

LiveContext exposes 84 operations on Grocy, covering object, printlabel, undo and user.

Popular integrations

Browse the whole catalog