Human- and agent-friendly CLI for the official Swiggy MCP servers (Food, Instamart, Dineout): 51 tools, UPI/Swiggy Money payments, stable JSON envelope, bundled agent skills and plugin manifests.
swiggy-cli exposes 8 tools with consistent naming (verb_noun pattern) and reasonable descriptions (avg ~80 chars). All tools have input schemas with typed parameters and descriptions. However, output schemas are not documented, LLMs cannot predict response structure for downstream chaining. Error handling is minimal; no recovery guidance or actionable error messages visible. Parameter descriptions lack format constraints (e.g., date format, coordinate ranges). No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Composition is sound (single responsibility per tool), but missing pagination details and field-level documentation.
Create a delivery address (coordinates optional — Swiggy geocodes the address)
Create a booking cart: DEAL_TICKET_PURCHASE for a paid prebook deal (returns cartKey), DINEOUT for bill payment
Delete a saved address (destructive)
List saved delivery addresses (most recently used first)
Available booking slots for up to 7 days from a date
Restaurant details: deals, menu images, amenities, timings
Output schemas not documented. LLMs cannot predict response structure, breaking tool chaining and forcing exploratory calls.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). delete_address and create_cart are marked DESTRUCTIVE/WRITE but lack protocol-level hints.
Parameter descriptions lack format constraints. 'date' in get_available_slots says 'YYYY-MM-DD or epoch seconds' but no validation guidance. 'latitude'/'longitude' lack range hints (±90, ±180).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2025-06-18+ | v2 |
Your saved locations for 'near me' searches (use # or id as --address-id)
Find restaurants to book near a saved location or coordinates
create_cart has complex conditional parameters (slotId/itemId/reservationTime only for DEAL_TICKET_PURCHASE; billAmount only for DINEOUT). Dependencies undocumented; LLMs will pass invalid combinations.
No error handling guidance. No recovery hints (e.g., 'If address not found, call get_addresses() first'). Agents cannot self-correct on failures.