MCP App Store
by KeenEthics

Overview

Kraut is a shopping list app for households. Connect it to ChatGPT to see your lists with product photos, add several items at once (for example a recipe's ingredients), check items off, and ask about past purchases: when you last bought something, at which store, and what you usually buy at a chain like Whole Foods or Costco. Generic names like "butter" add the product you usually buy. Removing several items always shows a preview first and needs your confirmation. Kraut only sees the lists and purchases in your own Kraut account and the lists others share with you.

Tools

add_item

ChatGPT
Add a product to a list by name. For a generic name ("Butter", "milk") it adds the matching product the user buys most, from their purchase history, and says which; otherwise the product they already have with that name, or a new one. Pass the product name as the user would say it, with the brand when it matters ("Kerrygold Butter"). To REPLACE an item with another variant ("the 5% one"), remove it and add brand plus the distinguishing words ("Fage 5%") without exact, so the variant the user already has is found. Before creating a new product it checks for products of the same brand the user has bought: if there are any, nothing is added and the answer lists them; pick one by its name, or use new_product: true only after the user confirms they want a new one. Use list name or id.

add_items

ChatGPT
Add several products to one list in a single call, e.g. a recipe's ingredients or "eggs, milk and bread". Use this instead of repeated add_item calls whenever there is more than one product. Each item works like add_item: a generic name adds the matching product the user buys most, a brand narrows it ("Kerrygold Butter"), and an item whose brand the user already has in other variants is not created but listed (see add_item). Returns one line per item.

create_list

ChatGPT
Create a new shopping list with the given name.

get_item_details

ChatGPT
Used by the Kraut list card: details of one item (photo, who added it, recent purchases with shop and buyer, product page).

get_list_items

ChatGPT
Look up the items on a list for your own use: to answer a question about the list, or to find an item before removing or checking it off. Not for displaying the list: when the user asks to see, show or look at a list, call show_list instead. Use list name or id (from get_lists; "today" works). Each item comes with its category emoji and, where Kraut has one, the URL of Kraut's own product photo.

get_list_page

ChatGPT
Used by the Kraut list card: one page of a list's items ("Show more"), and the first page again after a change.

get_lists

ChatGPT
List all of the user's lists with item counts. Marks the user's TODAY list (the one the Kraut app shows as today's shopping list), saved lists and the purchase history. Call this first to resolve list names.

get_purchase_history

ChatGPT
Answers QUESTIONS about purchases in text; to SHOW purchases to the user ("show me what I bought on September 19", "show my purchases from last week"), call show_list with the purchase history and since/until instead, which renders a card. When, how much, where (shop name and address) and by whom products were bought. Use for questions like "when did I last buy milk and where?" or "what did I buy at Rewe last month?". Pass product to search names, brands and categories (German or English, e.g. "Milch" or "milk"); store to filter by chain across all its branches ("Rewe", "Edeka", "Whole Foods"); since and until for a date range (a plain date in until covers that whole day; since and until on the same date = that day). Omit product and store for the latest purchases, or with since/until for everything bought in that range. When the answer says it shows the newest N of more, raise limit or narrow the dates. Dates are ISO 8601 in UTC.

preview_remove_items

ChatGPT
First step for removing several items from a list, or emptying it ("remove all items", "empty my shopping list"): shows what would be removed and returns a confirmation code. Removes nothing. Show the preview to the user and ask them to confirm, then call remove_items with the same arguments and the code. For a single item use remove_item.

purchase_item

ChatGPT
Mark an item as purchased: records the purchase and adds it to purchase history. Use the list and item name; add the brand when several items share a name. If a name fits several different items nothing is changed and the answer lists them. When the user says where they bought it, pass store (chain plus street, postcode or city); it must be one of their places (a store they bought at or selected in the Kraut app). If the store fits none or several, nothing is changed and the answer lists their stores of that chain with addresses: call again with the right street or postcode (you may know which postcode a district has), or ask the user.

remove_item

ChatGPT
Remove an item from a list. Use the item name as get_list_items shows it; when several items share a name, add the brand ("Kerrygold Butter"). If a name fits several different items nothing is removed and the answer lists them, so ask the user which.

remove_items

ChatGPT
Second step: removes the items shown by preview_remove_items. Needs the confirmation code from that preview, and call it only after the user has confirmed the preview in the conversation. If the list changed since, nothing is removed and a new preview is needed.

set_active_list

ChatGPT
Make a shopping list the user's Today list (what the Kraut app shows as today's shopping list). Only shopping lists qualify, not saved lists. Use list name or id from get_lists.

share_list

ChatGPT
Create an invite link for one of the user's lists ("share my family shopping list", "invite Anna to the list"). Returns a link the user sends to the other people themselves; Kraut does not send anything and needs no email address or name. Up to 5 people can join with one link in the Kraut app and edit the list. Only lists the user created can be shared; the purchase history cannot. Use list name or id from get_lists.

show_list

ChatGPT
Show a Kraut list to the user as a visual card: each item with Kraut's own product photo (or its category emoji when there is none), brand and quantity. Always use this when the user asks to see, show, open or look at a list, or asks what is on it (e.g. "show me my shopping list", "what's on my list?"), also when the list was already shown earlier in the conversation. Use get_list_items instead only when you need the items yourself (e.g. before removing or checking one off). Use list name or id from get_lists; "today" works. For the purchase history, since/until show only purchases in that range, grouped by day: use this (not get_purchase_history) whenever the user asks to see or show purchases, e.g. "show me what I bought on September 19" (since and until 2026-09-19, or exact times such as local midnight to midnight). get_purchase_history answers questions about purchases; this shows them.

suggest_items

ChatGPT
What the user usually buys and is due to buy again, from their purchase history: product types (milk, bananas, eggs) with how often they buy them, when they last did and the products they usually take, leaving out what is already on the list. Use it whenever the user asks what to buy or get ("what should I get from the grocery store today?", "what do I need?", "what am I missing?", "what should I buy at Edeka?"), together with the Today list (get_list_items or show_list): the list holds what they wrote down, this adds what they usually need. Pass store when the user names a store chain (or several): each category then names the product they usually buy at that chain. Offer to add suggestions with add_items.

Capabilities

InteractiveWrites

Example Prompts

Click any prompt to copy it.

App Stats

16

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily