I Used GitHub Copilot to Order Breakfast on Swiggy
A 21-Minute Journey to Nowhere
You know that feeling when you’re so deep in developer mode that even ordering breakfast becomes a technical challenge? No? Just me? Well, buckle up, because I just spent 21 minutes using GitHub Copilot — a tool designed to help me write code — to order idly and vada from Swiggy. And then I got too hungry and just went to a restaurant.
Let me explain.
The Setup: When Your Hammer Thinks Everything’s a Nail
It started innocently enough. I was in VSCode, working on the copilot-sdk repository, specifically fixing some binary tests (thrilling stuff, I know). My stomach grumbled. A normal person would open their phone and order food. But I looked at my Copilot chat window and thought: “I wonder if...”
Me: “I would like to order my breakfast. Can you help me?”
To Copilot’s credit, it didn’t tell me to fuck off. Instead, it responded with the enthusiasm of a waiter who just got promoted to software engineer:
Copilot: “✅ I can help with breakfast — how would you like to proceed? 💡 🔍 🛵”
It gave me THREE OPTIONS with emojis. This code assistant was ready to pivot its entire career into food delivery.
The Plot Thickens: MCP Enters the Chat
Now here’s where it gets interesting. This wasn’t just Copilot being confused about its job description. It was using MCP (Model Context Protocol) to actually connect to Swiggy’s API. I had installed the Swiggy MCP Server to try it out today :)
Food delivery MCP: https://mcp.swiggy.com/food
Instamart MCP: https://mcp.swiggy.com/instamart
Dineout MCP: https://mcp.swiggy.com/dineout
### There is a reason why I didn't make the above URLs clickable as hyperlinks. Do you know why? Comment if you guessed it :)Think about that. While simultaneously having context about my Git repository, my current branch (fix-binary-tests), and my open pull request, Copilot was also managing my Swiggy session state, saved addresses, and shopping cart.
This is the AI equivalent of your surgeon performing open-heart surgery while also filing your taxes. And somehow making both work.
Act I: The Address Saga
Me: “Idly + Vada from Iyer Idly restaurant”
Copilot: “Great — I found 2 saved delivery addresses. ✅”
It found my addresses. My CODE EDITOR found my FOOD DELIVERY ADDRESSES. I had successfully turned VSCode into a food ordering terminal. The future is beautiful and weird.
I picked address #2 because apparently, I can’t be bothered to type actual addresses when ordering food through my code editor, good UX!
Act II: The Payment Wars
Me: “2 idly, 1 vada. Payment is from credit card”
Copilot: “⚠️ Payment note — quick confirmation needed. I can only place Cash on Delivery (COD) orders here — I cannot place a credit-card payment for you.”
Ah yes, limitations! Swiggy MCP Server had HARD LIMITS:
Orders must be under ₹1000
COD only
Probably not allowed to order Anda Biriyani on Saturdays (I didn’t test this)
It’s like having a very polite, very capable assistant who refuses to touch anything involving credit cards. I respect the boundaries.
Act III: The Cart Synchronization Problem (Or: Distributed Systems Ruins Everything)
This is where it got technical.
Me: “I will complete payment in swiggy app.. But i dont see this cart there.”
Plot twist! The cart existed in Swiggy’s servers (Copilot could see it) but not in my mobile app. We had stumbled into every backend engineer’s nightmare: THE EVENTUAL CONSISTENCY PROBLEM.
What followed was 10 minutes of:
Copilot confirming the cart exists on server
Me not seeing it on mobile
Copilot clearing and re-adding items
Me still not seeing it
Discovering someone else’s cart items (Khara Bath? I didn’t order that!) [Full Disclosure: I later realized that my old cart had Khara Bath in it. So it’s probably that.]
Cache invalidation discussions
Account verification troubleshooting
Me manually clearing the cart
Copilot immediately re-adding items
Classic distributed systems debugging, but for ₹172 worth of breakfast
At one point, my cart contained:
Server-side: 2 Idly + 1 Vada (what I wanted)
Mobile app: Khara Bath + Vada + Shavige Bath (what fresh hell?)
This is literally a CAP theorem violation over breakfast food.
The Technical Breakdown (For the Nerds)
Let me appreciate what actually happened here:
18 exchanges over 21 minutes
18 MCP server initializations
Response times: 6-10 seconds (not bad for cross-protocol wizardry)
Copilot simultaneously managed:
My VSCode workspace context
Git repository state
Swiggy API authentication
Shopping cart state
Delivery address database
Price calculations
Restaurant search
Form submissions
All while maintaining its identity crisis by signing every message with “— GitHub Copilot”
Like a method actor who refuses to break character even when asked to do something completely unrelated to the script.
The Crescendo: Eventual Consistency Achieved
After multiple cart replacements, cache clearing suggestions, and account verification steps, I finally saw my cart... in the Swiggy web app.
Not the mobile app. The web app.
Me: “Nevermind.. I can see it in Swiggy web app though.”
Copilot: “✅ Great — glad you can see it on the web 🎉”
Victory! The cart synced! The distributed system converged! We had achieved eventual consistency! Time to celebrate with some—
The Anticlimax: The Human Element
Me: “However, I am too hungry and cannot wait for another half hour for delivery. I will go out and have food at restaurant near me. Thanks for all the help :)”
After 21 minutes of debugging cart synchronization issues, MCP tool orchestration, and cross-protocol state management, I got too hungry and just... left.
Copilot: “## Enjoy your meal! 🍽️ Glad I could help — would you like me to clear your Swiggy cart so it doesn’t stay open?”
Even in defeat, it offered to clean up. What a professional.
Lessons Learned
MCP is powerful: You can genuinely turn a code editor into a universal agent for any task. Today breakfast, tomorrow probably filing my taxes.
Developer brain is a disease: Normal people don’t turn food ordering into a distributed systems problem. We need help.
CAP theorem applies to everything: You can’t have Consistency, Availability, and Partition tolerance. Sometimes you can’t even have idly and vada.
AI agents are unfazed by absurdity: Copilot never once said “bro this is weird.” It just... did the job. Respect.
Human impatience > Technical achievement: I could’ve walked to the restaurant 3 times in those 21 minutes.
The Post-Credits Scene
Somewhere in GitHub’s telemetry data, there’s a log entry showing:
User: copilot-sdk repository
Action: Used Copilot for food delivery via MCP
Outcome: Ordered ₹172 breakfast, didn't complete order, went to restaurant
Duration: 21 minutes
Efficiency: -∞And some PM at GitHub is looking at this dashboard thinking, “What the hell is happening in Bangalore?”
The Real Takeaway
This entire absurd journey proved something important: MCP works. It genuinely enables AI agents to become universal tools, breaking down the walls between different services and use cases.
But more importantly, it proved that I have a problem. And that problem is that I can’t just order food normally like a normal person.
Next week, I’m going to use Claude to schedule my dentist appointment through VS Code. Stay tuned.
Technical specs for the nerds:
Tool: GitHub Copilot (v0.36.2) via MCP
Protocol: Model Context Protocol
Model: copilot/oswe-vscode-prime (Probably that’s the internal name for Raptor mini)
Exchange count: 18
Total duration: 21 minutes
Cart total: ₹172
Food consumed: 0
Lessons learned: Many
Regrets: None
Disclaimer: No AI agents were harmed in the making of this breakfast order. GitHub Copilot remains emotionally stable and continues to help me write actual code, though I suspect it judges me silently.
Have you used developer tools in completely inappropriate ways? Found yourself debugging distributed systems at 9 AM over breakfast food? Or successfully ordered something via MCP that wasn’t supposed to work? Share your stories in the comments. We need a support (aka therapy) group.










