Multi-service voice AI agent for Swiggy that handles food delivery, grocery shopping (Instamart), and restaurant table bookings (Dineout) via natural voice conversation. Integrates with VideoSDK AI Agents framework and Swiggy's MCP endpoints.
This server has 27 tools with basic descriptions and partial input schemas. Most tools lack comprehensive parameter documentation and output schema definitions. Naming is generally clear (verb_noun pattern), but descriptions are often generic (10-50 chars) and do not explain WHEN to use each tool or what it returns. No error handling guidance, no output schemas documented, and no tool annotations (readOnlyHint/destructiveHint). The instructions.py file shows good conversational guidance but does not translate to tool-level metadata. Many tools are READ_ONLY or WRITE, but this risk classification is not exposed in the tool definitions themselves.
Apply a discount coupon to the food delivery order
Book a table at a restaurant via Dineout
Complete the Instamart grocery order checkout
Clear all items from the Instamart grocery cart
Create a cart for Dineout table booking
Fetch available discount coupons for food delivery orders
Clear all items from the food delivery cart
Fetch user's saved delivery addresses for food delivery and grocery services
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., restaurant_id, order_id) without knowing response structure.
Descriptions are too generic and lack WHEN/WHY guidance. E.g., 'Retrieve the current food delivery cart contents' (35 chars) does not explain when to call it vs update_food_cart, or what fields are returned.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | <=2025-11-25 | v2 |
Get available table booking time slots for a restaurant on a specific date
Get the status of a Dineout table booking
Retrieve the current Instamart grocery cart contents
Retrieve the current food delivery cart contents
Get detailed information about a specific food delivery order
Retrieve user's food delivery order history
Retrieve user's Instamart grocery order history
Get detailed information about a Dineout restaurant including ambiance, cuisine, and offers
Get the full menu of a specific restaurant
Fetch user's saved location coordinates for Dineout restaurant search
Place a food delivery order with the current cart contents
Search for a specific dish across multiple restaurants
Search for grocery products in Instamart by name or category
Search for restaurants by dish/cuisine and area for food delivery
Search for restaurants available for table booking via Dineout
Track the real-time status and location of a food delivery order
Track the real-time status of an Instamart grocery order
Add grocery products to the Instamart cart
Add items to the food delivery cart
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (READ_ONLY, WRITE, IRREVERSIBLE). Agents cannot distinguish safe vs destructive operations.
No error handling guidance. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next (e.g., 'Restaurant not found, try search_restaurants').
Parameters lack descriptions for several tools. E.g., get_addresses has no parameters documented; search_restaurants parameters lack format/constraint guidance (what is a valid 'area'?).