GrabFood Partner MCP. Control Order Acceptance and Menu Availability in Minutes.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
GrabFood Partner MCP Server connects your AI agent directly to your restaurant operations on GrabFood. Manage order acceptance, update menu pricing in batches, control store status (pause/unpause), and run marketing campaigns—all without logging into the partner portal.
What your AI agents can do
Accept order
Accepts or rejects a specific GrabFood order based on the unique order ID, committing the restaurant to prepare it.
Batch update menu
Updates prices and availability for multiple menu items at once without affecting the rest of the menu structure.
Cancel order
Cancels an already accepted order, requiring a specific reason for audit purposes. Use this sparingly.
Accept, reject, or mark specific orders as ready using unique order IDs.
Perform full menu replacements or make surgical changes to item prices and availability in batches.
Check the real-time operational status of the store, pausing it when overwhelmed or unpausing it when ready.
Create and track marketing campaigns to boost visibility and order volume on the platform.
Ask AI about this MCP
Supported MCP Clients
Waiting for input…
GrabFood Partner MCP Server: 12 Tools for Restaurant Ops
This collection of tools lets your AI client perform specific tasks—from accepting individual orders to updating the entire menu structure—directly against your GrabFood account.
019d75aaaccept order
Accepts or rejects a specific GrabFood order based on the unique order ID, committing the restaurant to prepare it.
019d75aabatch update menu
Updates prices and availability for multiple menu items at once without affecting the rest of the menu structure.
019d75aacancel order
Cancels an already accepted order, requiring a specific reason for audit purposes. Use this sparingly.
019d75aacheck order cancelable
Verifies if an order is still in the system's window to be cancelled before attempting any action.
019d75aacreate campaign
Launches a new marketing campaign, such as a discount or free delivery offer, for the merchant account.
019d75aaget store status
Retrieves the store's current operational status (open/closed/paused) using the merchant ID.
019d75aalist campaigns
Lists all currently active and past marketing campaigns associated with the merchant account.
019d75aalist orders
Fetches a list of orders for a specific date or the most recent incoming orders for auditing.
019d75aamark order ready
Notifies GrabFood that an order is fully prepared and ready for immediate pickup by the driver.
019d75aapause store
Immediately pauses or unpauses the store, controlling whether new orders are accepted from customers.
019d75aaupdate menu
Replaces or modifies the entire menu data set for the merchant account. Use this when changing core seasonal offerings.
019d75aaupdate ready time
Updates the estimated time the order will be ready, helping optimize driver dispatch timing on GrabFood.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with GrabFood Partner, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 4,700+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
What you can do with this MCP connector
This server plugs your AI agent directly into your GrabFood operations, letting you run your restaurant like a pro without ever logging into the partner portal. You manage everything—from accepting an order to launching a big discount—all through conversation.
Managing Your Order Flow
When orders start rolling in, you don't want to be glued to your phone. This lets your agent handle the whole process. Use list_orders to pull up recent or date-specific order lists for quick checks and audits. For incoming requests, you can accept a specific order using its unique ID with accept_order, committing your restaurant right away to prepare it.
If something goes wrong before you commit, you can check if the order is still eligible to be cancelled with check_order_cancelable; if so, you use cancel_order (and make sure you provide a reason for record-keeping).
Once the kitchen finishes up, don't wait for the driver to guess. You tell GrabFood exactly when it’s ready by calling mark_order_ready(order_id) and optimizing their dispatch timing with update_ready_time. These tools keep your whole process moving fast.
Menu and Inventory Control
Changing prices or updating the menu shouldn't be a nightmare. If you're overhauling your core offerings—say, changing seasonal specialties entirely—you use update_menu to replace the entire data set. But if it’s just a couple of items that need a price tweak or availability change across multiple dishes, you don't want to mess with everything else.
That's where batch_update_menu comes in; it lets you surgically update prices and availability for a group of items without touching the rest of your menu structure.
Controlling Store Availability
You gotta control when customers can actually order from you. You check your store’s current operational status anytime using get_store_status. If you get slammed with orders or need a quick break, you use pause_store to immediately stop accepting new customer orders. When things calm down and you're ready for the next wave, you unpause it right through that same function.
Boosting Sales & Tracking Data
Want more customers? You launch promotions using create_campaign, whether it’s a discount or free delivery offer, to boost your visibility on the platform. You can keep track of what worked—or what didn't—by running list_campaigns to view all active and past campaigns.
For record-keeping, you pull order history using list_orders. This server gives you full control over the entire backend workflow: accepting or rejecting orders, updating menu data in bulk, controlling when you’re open for business, and running targeted marketing blasts. It keeps your operation moving without needing manual logins.
How GrabFood Partner MCP Works
- 1 Subscribe to this server and provide your GrabFood Partner OAuth2 access token.
- 2 Direct your AI agent (Claude, Cursor, etc.) to execute a task, like 'Pause the store because we're overwhelmed.'
- 3 The agent calls the appropriate tool (
pause_store), executes the command against the API, and reports the resulting status back to you.
The bottom line is: your AI client acts as an instant ops assistant that runs backend commands without you touching a browser or dashboard.
Who Is GrabFood Partner MCP For?
This isn't for the person who just wants to check today's orders. This is for the Operations Manager, the Restaurant Owner, and the Marketing Lead who gets paid to keep the kitchen running when things get chaotic. You need this if you spend too much time logging into the GrabFood portal during a lunch rush.
Monitoring multiple locations, adjusting store availability via pause_store, and confirming order status using get_store_status on the fly.
Handling unexpected crises—like running out of a core ingredient or getting duplicate orders—by running accept_order or cancel_order immediately.
Launching and tracking promotional campaigns by using create_campaign and reviewing performance data with list_campaigns.
What Changes When You Connect
- Stop manually toggling store status during downtime. Use
pause_storeto immediately hide the store from customers, or use it again later when you're ready for orders. - Eliminate manual order logging. Check incoming orders and manage state using
list_ordersand then runaccept_order, keeping your flow moving without stopping. - Avoid painful full menu replacements. Use
batch_update_menuto change a price or mark three items as sold out, leaving the rest of the menu untouched. - Boost visibility faster than ever. Run new promotions instantly by calling
create_campaignand tracking their performance vialist_campaigns. - Handle unexpected delays professionally. When the kitchen runs behind, use
update_ready_timeto push back the ETA before drivers arrive prematurely. - Audit everything without hassle. Use
list_ordersorlist_campaignsto pull historical data for reporting and performance reviews.
Real-World Use Cases
The Rush Hour Crisis
A manager sees an influx of 20 new orders while the kitchen is short-staffed. Instead of manually accepting them all, they ask their agent: 'Check my store status and pause it if it's open.' The agent runs get_store_status to confirm, then executes pause_store. Orders stop coming in until staff can handle the backlog.
The Ingredient Shortage
A chef realizes the premium side dish ran out. Rather than waiting for a manual update, they ask their agent to mark it unavailable and adjust prices for other items. The agent runs batch_update_menu specifying only the item ID and setting availability to false.
The Promotional Push
A marketing lead needs to run a limited-time 'Weekend Mega Deal.' They tell their AI client, 'Create a 20% discount campaign for this weekend.' The agent uses create_campaign, ensuring the promotion goes live instantly without needing to upload a new banner or configuration file.
The Cleanup Audit
End of day audit time. A supervisor needs to know how many orders came in yesterday and if any were rejected due to issues. They ask their agent to run list_orders for the previous date, getting a full JSON array containing order IDs, items, and customer details.
The Tradeoffs
Full Menu Overwrites
Manually running 'Update Full Menu' every time you change one dish. This risks deleting the price or description for dozens of other, unrelated items.
→
Never use update_menu unless absolutely necessary. For daily changes—like a single item going on sale or being sold out—always use batch_update_menu. It limits your edits to only what you specify.
Ignoring the Order State
Attempting to cancel an order immediately after accepting it, causing a failed API call and losing time.
→
Always run check_order_cancelable first. This tool verifies if the order is still in a state where cancellation is allowed before you try to use cancel_order. It saves headaches.
Prematurely Marking Ready
Marking an order ready for pickup as soon as the first dish comes out, only for the rest of the food to be delayed.
→
Wait until everything is packed and verified. Use mark_order_ready only when 100% complete. Better yet, use update_ready_time if you know there's a delay.
When It Fits, When It Doesn't
Use this server if your process involves constant state changes: accepting/rejecting orders, toggling store status, or adjusting menus daily. It’s designed for operational flow control.
Don't use it if you just need to view a static list of historical data (use list_orders only for reading). Also, don't use this if your primary goal is inventory tracking—that requires dedicated stock management tools. If you are building complex payment logic or highly custom point-of-sale features, check if those specific systems have an API wrapper, as that might be a more modular solution than trying to force it into the order flow.
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by GrabFood Partner. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This server provides 12 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Available Capabilities
Dealing with delivery orders shouldn't feel like running a race through a giant dashboard.
Right now, during peak hours, you have to jump between three different tabs: the incoming order queue, the inventory checklist, and the store status toggle. You copy an ID from one screen, paste it into another to check cancellation eligibility, then manually hit 'Accept' while trying to keep track of which orders are ready versus pending.
With this MCP server, you just talk to your agent. Your AI client handles the sequence: It reads the incoming order list, checks if they can accept it using `check_order_cancelable`, and executes `accept_order`—all in one natural conversation. You get back confirmation, and that's it.
Menu Updates with batch_update_menu: Control what changes.
The old way meant updating the menu required either a full replacement (which risks overwriting your new seasonal items) or navigating through multiple sections just to change one price point. It was slow, error-prone, and involved copy-pasting SKU IDs into forms.
Now you tell your agent exactly what's wrong with the menu. The server runs `batch_update_menu`, hitting only the specific item identifiers you provide. You keep the core structure intact while making surgical, precise changes.
Common Questions About GrabFood Partner MCP
How do I get my GrabFood Merchant ID? +
Your Merchant ID is provided when you register as a GrabFood Partner. You can find it in the GrabFood Partner Portal under your restaurant settings, or in the welcome email you received when your restaurant was onboarded to GrabFood.
Can I use this integration in production, not just sandbox? +
Yes! The integration defaults to the GrabFood sandbox environment for safe testing. To switch to production, you'll need to update the base URL in the engine configuration to the production endpoint. Contact GrabFood Partner support for production API credentials.
What happens if I reject an order? Does it affect my merchant rating? +
Rejecting orders may impact your merchant performance metrics on GrabFood. Frequent rejections can lead to lower visibility in search results. It's recommended to only reject orders when absolutely necessary (e.g., item out of stock, kitchen closure). Always verify order details before making a decision.
Can I update menu items individually without replacing the entire menu? +
Yes! Use the batch_update_menu tool for targeted updates to specific items, prices, or availability. This is safer than a full menu replacement since it only touches the items you specify. Use update_menu only when you need to replace the entire menu structure.
How do I get my OAuth2 access token for the GrabFood Partner API? +
You can obtain your OAuth2 access token through the GrabFood Partner Portal. Log in to your partner account and navigate to API Settings or Developer section to generate or retrieve your token. If you don't have access, contact your GrabFood Partner account manager.
If I try to use `cancel_order`, how do I know if the order is still eligible for cancellation? +
Always run check_order_cancelable first. This tool verifies the order's current lifecycle stage and confirms whether it falls within the window allowed by GrabFood. You shouldn't attempt a cancellation unless this status check passes, otherwise your request will fail with an API error.
What format does `update_ready_time` require for the timestamp? +
It needs to be in ISO 8601 format and must include a timezone offset (e.g., '2024-01-15T14:30:00+07:00'). The inclusion of the time zone is critical; without it, Grab can't accurately dispatch a driver. Always use this standardized format to prevent timing errors.
When I `pause_store`, does it affect orders already being prepared? +
No, pausing only stops new incoming orders from reaching your store. Any active or accepted order that is currently in the kitchen continues its normal process until you mark it ready for pickup. You still need to manage those existing items through standard operational procedures.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
WebHR
Manage employees, attendance, and recruitment on WebHR with AI agents.
TikTok Full Ads
Complete TikTok Ads management � create campaigns, control budgets, analyze performance, track conversions, and manage creative assets via AI.
Ele.me Open Platform / 饿了么
China's massive food delivery API — manage shops, process orders, and track deliveries via AI.
You might also like
TheCocktailDB Alternative
Global cocktail database — search recipes, ingredients, and mixology guides via AI.
Apidog
Sync your Apidog workspace with your AI agent — list projects, fetch endpoint schemas, and export full OpenAPI specifications instantly.
Notesnook (Private Note Taking & E2EE)
Manage encrypted notes via Notesnook — create secure entries, sync your vault, and audit private notebooks.