# GoFood MCP

> GoFood MCP gives you complete command over your restaurant's operations directly from your AI client. Manage everything related to your GoBiz merchant account—from listing outlets and updating inventory levels to accepting orders, creating promotions, and tracking payments. It puts the power of a dedicated POS manager right into your conversation.

## Overview
- **Category:** ecommerce
- **Price:** Free
- **Tags:** food-delivery, pos-integration, menu-management, outlet-operations, restaurant-tech

## Description

Connect your GoFood/GoBiz merchant account to any AI agent for full control over your food delivery operations through natural talk. Instead of jumping between multiple dashboards just to check an order status or adjust menu availability, your AI acts as a single, centralized operations manager. You can retrieve detailed outlet information and list all linked locations with simple prompts. Need to update inventory? Tell it to manage stock levels for specific items across various menus. The agent handles the complexity of accepting orders, marking them prepared, or canceling them if needed. Furthermore, you can set up real-time notifications by configuring webhooks, which is huge for multi-location setups. When managing promotions, you don't need to manually create campaigns; just ask it to generate a new promo code. This MCP makes sure that no matter how many moving parts your restaurant has—menus, orders, inventory, payments—you manage them all from one place, accessible through the Vinkius catalog.

## Tools

### accept_order
Tells your agent to accept a pending GoFood delivery order that has arrived at the restaurant.

### cancel_order
Allows you to cancel an existing GoFood order if it needs to be stopped or redirected.

### create_promo
Generates a new promotional discount campaign and makes it active for a specific outlet.

### get_catalog
Retrieves the complete, current menu catalog for any linked GoFood location.

### get_outlet_info
Pulls detailed configuration and property data for a specific GoFood outlet.

### link_outlet
Connects an existing GoFood location to the system, making it manageable through this MCP.

### list_linked_outlets
Displays a list of all merchant outlets that are currently connected and managed by your account.

### list_promos
Retrieves a list of all active or inactive promotional campaigns for a specific outlet.

### mark_order_prepared
Signals that an accepted GoFood order is finished cooking and ready for pickup or dispatch.

### unlink_outlet
Disconnects a specific GoFood location from the integration, preventing future changes.

### update_catalog
Replaces or modifies the entire menu catalog for an outlet to reflect new items or categories.

### update_menu_stocks
Changes the stock count for specific menu items, preventing overselling of low-inventory goods.

## Prompt Examples

**Prompt:** 
```
List all my linked GoFood outlets.
```

**Response:** 
```
I've fetched your linked outlets. You currently have 3 outlets connected: 'Nasi Goreng Sudirman' (ID: out_001), 'Bakso Senayan' (ID: out_002), and 'Mie Ayam Thamrin' (ID: out_003). Which outlet would you like to manage?
```

**Prompt:** 
```
Show me the full menu catalog for outlet out_001.
```

**Response:** 
```
Retrieving catalog... The outlet 'Nasi Goreng Sudirman' has 24 menu items across 5 categories. Top sellers include 'Nasi Goreng Spesial' (Rp 25,000) and 'Ayam Geprek' (Rp 20,000). Would you like to check stock levels or update any item?
```

**Prompt:** 
```
Accept order ORD-12345 for outlet out_001, type food.
```

**Response:** 
```
Order ORD-12345 has been successfully accepted and is now being processed at 'Nasi Goreng Sudirman'. The kitchen has been notified. Would you like me to mark it as prepared once cooking is done?
```

**Prompt:** 
```
Create a 20% discount promo for outlet out_001 valid this weekend.
```

**Response:** 
```
Promo created successfully! The 20% discount campaign is now active for 'Nasi Goreng Sudirman' and will run through the weekend. Customers will see the offer when browsing your GoFood listing.
```

## Capabilities

### Manage Outlets
List, link, or unlink specific merchant locations and retrieve their full configuration details.

### Control Menu Inventory
Fetch complete menu catalogs for any outlet, or update stock counts for individual items and variants.

### Process Order Lifecycle
Accept incoming orders, mark them as prepared, or cancel them entirely with specific order type support.

### Run Promotions
List existing promotions and create new discount campaigns for any specific outlet.

### Track Payments & Events
Create payment transactions with reference tracking, or set up webhooks to monitor real-time system events.

## Use Cases

### The sudden rush of orders
An Ops Manager gets a flurry of new delivery pings. Instead of opening the GoBiz portal and clicking 'Accept' 30 times, they prompt their agent: 'Accept all pending food-type orders for out_001.' The agent uses `accept_order` repeatedly until the entire batch is processed.

### The inventory mismatch problem
It's 4 PM, and a popular dish runs out. Instead of calling maintenance or manually updating spreadsheets, the manager simply asks: 'Update the stock for Nasi Goreng Spesial to zero.' The agent executes `update_menu_stocks` instantly.

### The holiday discount push
The marketing team needs a flash sale. They instruct their agent: 'Create a 25% off promo for the entire weekend at out_001.' The agent runs `create_promo`, activating it instantly and showing customers the offer.

### Opening a new branch
A POS Integrator needs to add a satellite store. Instead of filling out complex forms, they prompt: 'Link this new location using its ID.' The agent runs `link_outlet` and syncs the initial catalog.

## Benefits

- You stop juggling dashboards. Instead of manually logging into the GoBiz portal to see an order, you just ask your agent to accept it or mark it prepared using `accept_order` and `mark_order_prepared`.
- Inventory tracking becomes real-time. When a chef runs low on ingredients, you don't wait for manual counts; you tell the system to update stock levels immediately using `update_menu_stocks`.
- Promotions are instant. Need a weekend sale? You create the entire campaign and activate it instantly by calling `create_promo`, without touching a single web form.
- Outlets stay connected. If you open a new branch, you don't have to manually sync it. Use `link_outlet` once, and your agent manages its data flow forever.
- Order tracking is simplified. You can get the full menu catalog using `get_catalog`, ensuring that any changes reflect instantly when processing an order.

## How It Works

The bottom line is you get a single, conversational interface that manages every part of your GoFood business without opening any separate dashboards.

1. First, subscribe to this MCP and enter your GoBiz OAuth 2.0 JWT Bearer token.
2. Your AI client connects the credentials and authenticates with your merchant account data.
3. You then talk to your agent—asking it to list linked outlets or accept an order—and it executes the required actions.

## Frequently Asked Questions

**How do I manage my outlets using GoFood MCP?**
You use `list_linked_outlets` to see what you have connected. You can also use `link_outlet` if you open a new location that needs syncing.

**Can I update the menu without using GoFood MCP?**
Yes, but it's manual. Using `update_catalog` through this MCP means your changes are immediately reflected and tied to your operational workflow.

**What is the best way to handle incoming orders with GoFood MCP?**
Just tell your agent which order needs attention. You can use `accept_order` to accept it, or if it's finished, you mark it prepared using `mark_order_prepared`.

**Does GoFood MCP help with payment tracking?**
Yes. The agent handles creating and recording payment transactions using the tool that manages payments references.

**Do I need to worry about inventory when running promotions?**
No. You can run `create_promo` for a discount, but you still maintain control over stock levels by calling `update_menu_stocks`, ensuring the promo doesn't sell out-of-stock items.