ifood_customer_meLABSCO SUMMARY
Checkout is a real order, and the API is unofficial.
The last tool in the chain places the order and charges your saved payment method, so it is worth being deliberate about how much of the sequence the assistant runs unattended. The OAuth mode is the better setup for more than one reason: real login rather than tokens scraped from DevTools, and tokens that never touch disk. Expect breakage when iFood changes its site, since there is no published API here to depend on.
What it is
An unofficial MCP server for iFood, wrapping the consumer website's API. It goes the whole way from discovery to checkout: an assistant can find açaí near your coordinates, read the menu and the reviews, build a cart and place the order. Not affiliated with iFood, and the endpoints it uses can change without notice.
What you get
- Discovery —
ifood_searchby term and location,ifood_filter_optionsfor the available filters,ifood_homefor the localized feed,ifood_browse_page,ifood_categories - Merchants —
ifood_merchant_infofor fees, hours, rating and address,ifood_merchant_catalogfor the full menu with prices and add-ons,ifood_item_detail,ifood_reviews,ifood_merchant_payment_methods, andifood_customer_merchant_itemsfor what you have ordered there before - Your account —
ifood_customer_me,ifood_addresses(which carry coordinates),ifood_contact_methods,ifood_external_identities - Orders —
ifood_orders_list,ifood_order_detail,ifood_reorderto pre-fill a cart from a past order - Loyalty and money —
ifood_loyalty_cards,ifood_benefitsfor coupons and promotions near a location,ifood_payment_methods - Cart and checkout —
ifood_cart_create,ifood_cart_set_delivery_methodfor DEFAULT, PRIORITY or TAKEOUT,ifood_cart_set_payment_method,ifood_checkoutas the final step - 25 tools in total, backing both transports identically
Requirements
An active iFood account and Node.js ≥ 20; clone the repository and npm run build. Two ways to authenticate. The HTTP mode runs an OAuth 2.1 flow with iFood's real OTP login — generate an MCP_JWT_SECRET of at least 32 characters, set PORT, start it, and register http://localhost:3001/mcp as an HTTP server; the browser handles the six-digit code that arrives by WhatsApp, SMS or email. The stdio mode instead needs four values you copy out of browser DevTools — IFOOD_ACCESS_TOKEN, IFOOD_ACCOUNT_ID, IFOOD_DEVICE_ID and IFOOD_SESSION_ID. In HTTP mode the iFood tokens stay in memory and are refreshed in the background, so a process restart means logging in again. Package @aol/ifood-mcp, MIT.
Setup effort
Build from source — git clone https://github.com/AriOliv/ifood-mcp.git
USE CASES
Finding something to eat near where you are
Search by term and coordinates, then read the top-rated merchant's menu without opening the app.
Ordering the same thing as last time
Pull the past order and let it pre-fill the cart instead of rebuilding it item by item.
Checking whether a coupon applies before ordering
Read the wallet benefits and promotions for your location alongside the merchant's accepted payment methods.
Placing an order end to end
Create the cart, choose delivery or takeout, apply the payment method, and check out as the deliberate last step.
Deciding whether a restaurant is any good
Read the recent reviews and rating together with fees and delivery time.
25 tools
Listed in project docs. Your client may show a different list.
ifood_addressesifood_contact_methodsifood_external_identitiesifood_orders_listifood_order_detailifood_reorderifood_searchifood_filter_optionsifood_homeifood_browse_pageifood_categoriesifood_merchant_infoifood_merchant_catalogifood_item_detailifood_customer_merchant_itemsifood_reviewsifood_merchant_payment_methodsifood_loyalty_cardsifood_benefitsifood_payment_methodsifood_cart_createifood_cart_set_delivery_methodifood_cart_set_payment_methodifood_checkoutBEFORE YOU INSTALL
What to know first
Tools you get
25 tools named in the project's documentation.
Requires
- IFOOD_ACCESS_TOKEN in your environment
- IFOOD_ACCOUNT_ID in your environment
- IFOOD_DEVICE_ID in your environment
- IFOOD_SESSION_ID in your environment
Where it runs
All 5 documented setups run the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/AriOliv/ifood-mcp.git
cd ifood-mcp
npm install
npm run buildMCP Clients
Claude Code — HTTP
claude mcp add --transport http ifood http://localhost:3001/mcpCursor
{
"mcpServers": {
"ifood": {
"type": "http",
"url": "http://localhost:3001/mcp"
}
}
}Codex
codex mcp add --transport http ifood http://localhost:3001/mcpClaude Desktop
{
"mcpServers": {
"ifood": {
"command": "node",
"args": [
"<YOUR_PATH_TO_IFOOD_MCP>/build/index.js"
],
"env": {
"IFOOD_ACCESS_TOKEN": "<YOUR_IFOOD_ACCESS_TOKEN>",
"IFOOD_ACCOUNT_ID": "<YOUR_IFOOD_ACCOUNT_ID>",
"IFOOD_DEVICE_ID": "1141f82b-...",
"IFOOD_SESSION_ID": "97fe984b-..."
}
}
}
}Claude Code — stdio
claude mcp add --transport stdio ifood --env IFOOD_ACCESS_TOKEN=<YOUR_IFOOD_ACCESS_TOKEN> --env IFOOD_ACCOUNT_ID=<YOUR_IFOOD_ACCOUNT_ID> --env IFOOD_DEVICE_ID=1141f82b-... --env IFOOD_SESSION_ID=97fe984b-... -- node <YOUR_PATH_TO_IFOOD_MCP>/build/index.js