AI assistants (MCP)
Food Online Premium 6.1.0 and newer can let an AI assistant read and change your restaurant setup:
- the menu: product categories, products with sizes and prices, product and category images
- product options: sauces, extra toppings, comments, half and half, and their stock
- opening hours and time slot schedules, capacity per time slot, pickup locations
- all Food Online settings, with an explanation and an example for each
- the settings of Food Online blocks on your pages, for example the modes, the mini cart and the recommended products popup
- WooCommerce shipping: shipping zones, delivery rates, Local Pickup and the Eat at Restaurant method
It can also build a whole menu from a PDF or photo of your menu, and copy a restaurant setup to another site. It works through the WordPress Abilities API and the MCP Adapter plugin.
The assistant acts as a WordPress user and can only do what that user is allowed to do. Every saved change is logged.
Requirements
Section titled “Requirements”- Food Online Premium 6.1.0 or newer
- WordPress 6.9 or newer (the Abilities API is part of WordPress core from 6.9)
- WooCommerce 9.8 or newer and PHP 7.4 or newer
- The MCP Adapter plugin, installed and active
- An AI client that supports MCP, for example Claude Desktop, Cursor or VS Code
On older WordPress versions the plugin works as before; the AI functions are simply not available.
Turn it on
Section titled “Turn it on”The function is off by default. Turn on AI assistant access (MCP) under WooCommerce > Settings > Food Online Premium > Advanced. Turning it off again removes all AI functions immediately.
Who can do what
Section titled “Who can do what”- Users who can manage WooCommerce (Shop Manager and Administrator) can read the setup and change settings, schedules, pickup locations, option groups and shipping.
- Creating and changing products, categories and images also needs the right to edit products. Publishing a product needs the right to publish products.
- Creating a menu page or changing block settings on a page needs the right to edit pages. A new menu page is always a draft.
- Deleting a schedule or an option group, importing a whole setup and replacing the regions of a shipping zone also need a site Administrator.
- You always see the change first. The assistant shows you what would change and saves only after you say yes. If you change your request, or wait more than 15 minutes, it shows you the change again. (Behind the scenes it uses a one-time confirmation code; you never need to handle it.)
- New products are always saved as drafts. They appear on the menu only when you ask the assistant to publish them, or publish them yourself.
- The assistant can not delete products, and it never sees customers, orders or addresses. For time slots it only sees how many orders a slot has.
- It can not see or change license keys, API keys or passwords, and it can not change payments.
- Every saved change is logged under WooCommerce > Status > Logs with the source
fdoe-mcp(shipping changes:arosoft-mcp-shipping).
Connect an AI assistant
Section titled “Connect an AI assistant”1. Choose a WordPress user
Section titled “1. Choose a WordPress user”Use a user that can manage WooCommerce. A separate user for the assistant makes it easy to see its changes and to remove its access later.
2. Create an Application Password
Section titled “2. Create an Application Password”- In the WordPress admin, go to Users > Profile (or edit the user).
- Under Application Passwords, enter a name, for example “AI assistant”, and click Add New Application Password.
- Copy the password. WordPress shows it only once.
Application Passwords need HTTPS on a live site.
3. Add the server to your AI client
Section titled “3. Add the server to your AI client”The MCP endpoint of your site is:
https://example.com/wp-json/mcp/mcp-adapter-default-serverReplace https://example.com with the Site Address (URL) from Settings > General.
Most desktop clients connect through the @automattic/mcp-wordpress-remote helper, which needs Node.js. Example configuration for Claude Desktop (Settings > Developer > Edit Config) or Cursor (.cursor/mcp.json):
{ "mcpServers": { "my-restaurant": { "command": "npx", "args": ["-y", "@automattic/mcp-wordpress-remote@latest"], "env": { "WP_API_URL": "https://example.com/wp-json/mcp/mcp-adapter-default-server", "WP_API_USERNAME": "your-username", "WP_API_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx" } } }}Never share the Application Password in support tickets or chats. More connection options are described in the MCP Adapter documentation.
4. Test the connection
Section titled “4. Test the connection”Restart the client and ask the assistant to “get the Food Online status”. A reply with the plugin version means it works.
- 401 / not allowed: wrong username or Application Password, or the user can not manage WooCommerce.
- 404 or no route: MCP Adapter is not active or the URL is wrong.
- No Food Online functions: AI assistant access (MCP) is turned off, or WordPress is older than 6.9.
How the assistant learns the plugin
Section titled “How the assistant learns the plugin”The assistant starts with food-online/get-guide. It explains how Food Online works, the rules (preview first, drafts, what it may not do) and step-by-step recipes: a new restaurant from scratch, a menu from a PDF, opening hours with time slots and capacity, the recommended products popup, product options, copying a setup to another site, and troubleshooting. It links to the matching pages of this documentation and of WooCommerce. Error messages end with a link to the page that explains the problem.
For shipping it starts with arosoft-shipping/get-guide.
food-online/get-status lists setup problems, for example a time picker that is on without a schedule (customers see no times), a checkout engine that does not match the checkout page, or a menu without published products. Ask the assistant to run it before and after changes.
Build a menu from a PDF
Section titled “Build a menu from a PDF”- Give the assistant your menu as a PDF, photo or text. The assistant reads it in the AI client; the file is not uploaded to your site.
- It turns the menu into categories and products: name, ingredients, price, and sizes with their own prices.
- It shows you a preview of everything it will create. Products whose name already exists in the same category are skipped.
- After your yes, it creates the categories and the products as drafts.
- Check the drafts under Products, then ask the assistant to publish them and to set the order of the menu sections.
Images can be added afterwards: give the assistant an image from the media library or a link to an image. Options such as sauces and extra toppings are added as option groups (see below).
Example requests
Section titled “Example requests”- “Create the menu from this PDF: pizzas with sizes, prices and the side dishes as categories.”
- “Pickup 11–21 and delivery 17–21 every day, 15-minute time slots and at most 8 orders per slot.”
- “Show me tomorrow’s pickup times and which are full.”
- “Why do customers see no times at checkout?”
- “Add a pickup location at Storgatan 1, Uppsala.”
- “Raise the price of all large pizzas by 10.” (the assistant shows each change before saving)
- “Add a sauce choice to all pizzas: tomato (default), garlic, and chili for 5 kr. Ask how strong when chili is chosen.”
- “Show recommended drinks in a popup before checkout.”
- “Add delivery for postcodes 75x with a 39 kr fee, free over 300 kr, and add Eat at Restaurant.”
- “Copy the opening hours, settings and option groups to our second restaurant.” (export on one site, import on the other)
Abilities
Section titled “Abilities”All names start with food-online/.
| Ability | Type | What it does |
|---|---|---|
get-guide |
Read | How Food Online works, rules, recipes and links to the documentation. |
get-status |
Read | Versions, checkout engine and checkout page, time pickers and capacity, pages with Food Online blocks, and warnings. |
list-menu / get-product |
Read | Categories in menu order and products with prices, status and variations. |
get-settings |
Read | All Food Online settings, with the current value, allowed values, an example, a tip and a link to the documentation. Can be filtered by section or search word. |
list-schedules |
Read | Availability schedules: time slots, ordering hours and dropdown choices per mode, weekday or date. |
list-pickup-locations |
Read | Pickup locations. |
preview-time-slots |
Read | The time slots of a mode for up to 7 days, with booked and full slots. |
list-block-pages / get-block-settings |
Read | Pages with Food Online blocks, and every setting of a block with its current value and help. |
list-option-groups |
Read | Option groups with their choices, prices, stock and where they are used. |
get-product-addons |
Read | Which options a product shows: Food Online option groups, WooCommerce Product Add-Ons or YITH add-ons. |
export-config |
Read | Settings, schedules, pickup locations, option groups and optionally the menu, ready to import on another site. |
import-menu |
Change | Creates categories and products (drafts) from a whole menu, at most 200 products per request. |
create-category / update-category / set-category-order |
Change | Menu sections and their order. |
create-product / update-product |
Change | Products with a price or with sizes (variations) that have their own prices. |
set-product-status |
Change | Publishes a product or turns it back into a draft. |
set-product-image / set-category-image |
Change | Sets an image from the media library or from a link. |
set-product-addons |
Change | Add-ons of WooCommerce Product Add-Ons, when that plugin is active. |
update-settings |
Change | Any setting listed by get-settings. |
upsert-schedule |
Change | Adds or changes an availability schedule. |
upsert-pickup-location |
Change | Adds or changes a pickup location. |
save-option-group / set-option-stock |
Change | Adds or changes an option group, and the stock of a choice. |
update-block-settings |
Change | Changes the settings of a Food Online block on a page. |
create-menu-page |
Change | Creates a draft page with the Food Online Menu Flow. |
delete-schedule / delete-option-group |
Delete | Deletes a schedule or an option group (Administrator only). |
import-config |
Change | Applies a setup from export-config (Administrator only). |
Shipping
Section titled “Shipping”The shipping abilities are shared with Shipping Zones by Drawing Premium. When both plugins are active they are registered once. All names start with arosoft-shipping/.
| Ability | Type | What it does |
|---|---|---|
get-guide |
Read | Rules and recipes for WooCommerce shipping. |
list-shipping-methods / list-shipping-classes / describe-wc-method |
Read | Shipping zones with their methods and settings, shipping classes, and the settings a method has. |
get-local-pickup |
Read | The Local Pickup settings of the Checkout block. |
create-wc-shipping-zone / update-wc-shipping-zone |
Change | Adds or changes a shipping zone. |
create-wc-method / update-wc-method |
Change | Adds or changes a method in a zone, including Food Online’s Eat at Restaurant method. |
set-shipping-method-enabled / reorder-shipping-methods |
Change | Turns a method on or off, or changes the order. |
update-local-pickup |
Change | Changes the Local Pickup settings. |
replace-wc-zone-regions |
Delete | Replaces the regions of a zone (Administrator only). |