In today’s fast-evolving AI landscape, integrating cutting-edge generative AI models into real-world applications is no longer an innovation— it’s a necessity. In this blog, we will cover a full proof PoC on how to integrate Zomato’s MCP (Model Context Protocol) server with Google’s Gemini model using the Google Gemini CLI. We will simulate an end to end conversational commerce and order some food from Zomato. The POC is interactive and as always I will cover each and every step along with the concepts of MCP server and Gemini LLM. First, let us start with some basics.
What are LLMs ?
By now we all know LLMs are Large Language models trained on massive amounts of text data to understand and generate human-like language. LLMs are smart enough to answer questions, write content, summarize documents, even generate code — just by understanding prompts.
What is MCP (Model Context Protocol) server ?
When working with LLMs locally or in enterprise environments, we need a way to talk to the LLMs — send prompts, get responses, and manage context, sessions, etc. That’s where MCP comes in. MCP is a lightweight server layer that acts as a bridge between your application and the LLM. MCPs are more than APIs in terms of capacbilities. A few to list are:
- Maintains session state and context across multiple interactions.
- Supports streaming responses, making interactions feel faster
- Allows fine-grained control over how prompts are structured and how models respond.
In short, MCP is like a smart middleman that understands both your app and the model, making sure they talk smoothly and efficiently.
MCP vs APIs — The Memory Layer of AI
The greatest strength of MCP is its memory. Unlike traditional APIs that are stateless, MCP maintains context and session history across interactions. This means your AI doesn’t just respond to isolated prompts — it remembers previous queries, understands the flow, and delivers answers that feels natural and connected.
Google Gemini CLI
The Gemini CLI is a command-line interface tool provided by Google that lets you:
- Run prompts directly against Gemini models
- Test and iterate quickly without writing full application code
- Manage context and sessions when paired with MCP
- Access multimodal capabilities (text, images, etc.) in a developer-friendly way
- Local Development: Perfect for PoCs and testing before deploying to production
With this basics let us start with our PoC. We will use Google Gemini CLI with the Zomato MCP server as the interaction layer, which in turn orchestrates calls to various Zomato service APIs like restaurant discovery, food ordering, and payment processing, etc.
Step 1: Install Google Gemini CLI locally
Make sure you have node.js version 18 or higher.
node -vOutput:
v22.11.0
Install Google Gemini CLI using the following command
npm install -g @google/gemini-cli
Verfiy the installation
gemini -vOutput:
0.11.3
Step 2: Configure Gemini to use Zomato’s MCP server
Add the following content inside .gemini/settings.json
This file is the configuration backbone for the Gemini CLI. It tells the Gemini CLI how to authenticate and which MCP servers to connect to.
{
"security": {
"auth": {
"selectedType": "oauth-personal"
}
},
"mcpServers": {
"zomato-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp-server.zomato.com/mcp"
]
}
}
}
Signifiance:
security.auth.selectedType— This defines the authentication method. Here, oauth-personal means the CLI will use your personal OAuth token to securely interact with Gemini services.mcpServers— This section lists all MCP servers the CLI can talk to. zomato-mcp is the name of our custom MCP server.commandandargstells the CLI how to start the MCP server. In this case, it uses npx to run mcp-remote and connect to the Zomato MCP endpoint.
Step 3: Restart Gemini and connect to the MCP server
Restart the Gemini CLI
gemini
Output:
You will see Gemini will ask for personal OAuth login.
Then it will ask to login to Zomato, redirecting a link to Zomato’s OAuth. Sign in to Zomato App login with your phone number or email. You will receive a code on mobile phone for authentication.
Step 4: Interacting with Zomato with Gemini CLI
Start using friendly prompts to interact with Zomato. The user experience will be confined to you as you authenticated with your account.
Address Discovery
> hi✦ Hello! How can I assist you today?
> I want to order pizza
✦ I can help with that. First, I need to know your location. Let me check if you have any saved addresses.
✦ I found the following saved addresses:
1. XYZ Apartment, ABC, Pune, Maharashtra, India
2. XYZ Road, Goregaon, Mumbai, Maharashtra, India
3. Radisson Blu Towers Kaushambi Delhi NCR, Distt, CK II, Sector 14, Kaushambi, Ghaziabad, Uttar Pradesh, India
4. Food Corporation of India Warehouse, Borivali East, Mumbai
Please select a delivery address by entering the corresponding number.
Restaurant Discovery
Once you confirm your address, it will display the nearest restaurants to you
✦ Here are some pizza restaurants near you:1. Domino's Pizza (Rating: 3.9, Votes: 2361, Distance: 1.8km, ETA: 25–30 min)
2. 1441 Pizzeria (Rating: 4.2, Votes: 4903, Distance: 1.6km, ETA: 30–35 min)
3. Smokin' Joe's (Rating: 4.0, Votes: 6468, Distance: 1.7km, ETA: 25–30 min)
4. Pizza Hut (Rating: 3.9, Votes: 9717, Distance: 1.6km, ETA: 30–35 min)
5. 63 BY-LANE (Rating: 4.2, Votes: 11112, Distance: 1.8km, ETA: 30–35 min)
6. La Pino'z Pizza (Rating: 4.0, Votes: 6882, Distance: 2.5km, ETA: 30–35 min)
7. MOJO Pizza - 2X Toppings (Rating: 4.0, Votes: 8943, Distance: 1.6km, ETA: 25–30 min)
8. Pop Tate's (Rating: 4.3, Votes: 281, Distance: 5.9km, ETA: 40–45 min)
9. LeanCrust Pizza - ThinCrust Experts (Rating: 4.2, Votes: 1113, Distance: 1.6km, ETA: 25–30 min)
10. Aromas Cafe & Lounge (Rating: 4.2, Votes: 363, Distance: 2.3km, ETA: 30–35 min)
Say, we select one of our preferred restaurant.
Menu Browsing
Now, it will list the variety of pizzas available to selecgt
✦ Here's the menu for MOJO Pizza - 2X Toppings:1. Veggies Volcano Pizza [Big 10"] + Garlic Bread & Cheesy Dip - ₹349.0
Description: [Serves 2-3] Tomato | Onion | Spicy Jalapenos Combo contains Pizza & Garlic Breadsticks with Cheesy Dip.
2. Tandoori Chicken Pizza [Big 10"] + Garlic Bread & Cheesy Dip - ₹414.0
Description: [Serves 2-3] Chicken Tikka | Tomato | Onion Combo contains Pizza & Garlic Breadsticks with Cheesy Dip.
3. 2 Value Pizzas @ 99 each - ₹199.0
Description: Pick any 2 Value Pizzas at a steal deal. Irresistible in every way!
4. Tandoori Paneer Pizza [Big 10"]+ Chocolava+ Nachos+ Thums Up - ₹399.0
Description: Combo contains Pizza, Chocolava, Nachos & Thums Up. [Serves 2-3] Paneer Tikka | Onion
5. 2X Cheese Pizza [7" Regular] + Garlic Bread & Cheesy Dip - ₹199.0
Description: Mozzarella Cheese | Serves 1. Combo includes Pizza & Garlic Breadsticks with Cheesy Dip.
Please tell me the number of the item you'd like to order and the quantity (e.g., "1, 2" for two "Veggies Volcano Pizza").
Cart Creation
We can add our favourite pizza and create our cart
> 4✦ You selected "Tandoori Paneer Pizza [Big 10"]+ Chocolava+ Nachos+ Thums Up". How many of these would you like to add to your cart?
> what are tha available offers for me on this
✦ I can check for offers, but first, I need to add the item to your cart. How many "Tandoori Paneer Pizza [Big 10"]+ Chocolava+ Nachos+
Thums Up" would you like?
> only 1
✦ Your cart has been created with pay_later
✦ There is one offer available for you:
TRYNEW: Get 50% off up to ₹100 on orders above ₹159.
Would you like to apply this offer to your cart?
Food Ordering
Proceed to order the food with promo code
> yes, apply it and select payment via UPI✦ It appears that "TRYNEW" is the only promo code available, but it's currently showing as not meeting the requirements, even though your
cart value should be sufficient. I apologize for this inconsistency.
Would you like to proceed with the order without any discount, or would you prefer to cancel?
> ok make it 2 pizzas
✦ Your cart has been created with upi_qr
Your cart now contains 2 "Tandoori Paneer Pizza [Big 10"]+ Chocolava+ Nachos+ Thums Up" for a total of ₹909.95.
Would you like to checkout?
> which promo code is appliacable
╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ ✓ get_cart_offers (zomato-mcp MCP Server) {"cart_id":"291dd296-a17a-48fa-8a15-969f5fef1cbb","location":{"short_name":"Food Corpor… │
│ │
│ [{"offer_id":"2332447303","code_name":"TRYNEW","value":50.0,"discount_type":"percentage","max_value":100.0,"mov":159.0,"recommen │
│ dation_status":"requirements_not_met"}] │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
✦ I've checked again, and "TRYNEW" is the only available promo code. Unfortunately, it seems there's a technical issue that's preventing
it from being applied to your cart.
Would you like to proceed with the order without a discount, or would you like to cancel?
Payment and checkout
We will now proceed to checkout and payment
> ok proceed for upi qr payment✦ thought
The user has successfully checked out the cart, and the checkout_cart tool returned a QR code for payment.
I need to inform the user that the order has been placed and provide them with the QR code for payment.
1. Inform User: State that the order has been placed.
2. Provide QR Code: Display the QR code image.
3. Final Confirmation: Ask the user if there's anything else I can help them with.Your order has been placed! Please use the QR code
below to complete your UPI payment.
> yes summarize and generate the QR
✦ Here is a summary of your order:
You ordered 2 "Tandoori Paneer Pizza [Big 10"]+ Chocolava+ Nachos+ Thums Up" from MOJO Pizza - 2X Toppings for a total of ₹909.95.
Your payment method is UPI QR.
Here is your QR code for payment:
[Tool 'checkout_cart' provided the following image data with mime-type: image/png]
> status of the order
✦ Your order from MOJO Pizza - 2X Toppings has the status: "Your order's payment is incomplete". Food preparation will begin shortly once
the payment is complete.
That’s it, we simulated a complete customer journey on Zomato from browsing the nearby restaurants, its menu and placing a order with payment options.
The MCP server was the glue between Gemini and our prompts to the backend Zomato APIs.
Conclusion:
Our Zomato MCP + Gemini PoC wasn’t just a technical experiment — it was a glimpse into the future of personalized, AI-driven customer journeys. Imagine a user asking, just using friendly prompts can simulate the entire end to end commerce journey .
This approach unlocks huge potential for retail and commerce:
- Personalized Shopping: AI can recommend products based on context and preferences and also on proximity.
- Conversational Ordering: Customers interact naturally, without navigating complex menus.
- Smart Payments & Offers: Integrated flows for secure transactions and dynamic discounts.
The Model Context Protocol is the unsung hero here. It acts as the intelligent layer between your app and the LLM, maintaining context, orchestrating API calls, and enabling a smooth, interactive experience. Unlike traditional APIs, MCP gives you stateful, context-aware communication, which is critical for real-world AI applications.
DevOps vision on MCP
MCP servers can be securely deployed on cloud platforms like Google Cloud, Microsoft Azure — be it on their Kubernetes cluster or serverless container platforms. MCPs can be scaled for production, and even integrated with multiple LLMs for different use cases —e.g. Gemini for multimodal tasks, others for domain-specific needs. MCPs can be integrated with multiple backend databases, RAG systems as well. In short, MCPs deployed on cloud platforms will be an intelligent way to deploy, manage conversational commerce at scale.
Source Credit: https://medium.com/google-cloud/ordering-food-using-zomatos-mcp-server-with-google-gemini-cli-e80c0f86ef30?source=rss—-e52cf94d98af—4
