Agentic Swiggy MCP Server
Provides food delivery assistant capabilities in the style of Swiggy, including order placement, food recommendations based on location/time, order status/history, and semantic search over reviews and policies.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Agentic Swiggy MCP ServerI'm in Koramangala at 9pm, recommend top 3 food options and order one if reviews are good."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Agentic Swiggy MCP Server
A highly modular, non-deterministic agentic Model Context Protocol (MCP) server that mimics a food delivery assistant (like Swiggy). Built with LangGraph, FastMCP, and ChromaDB, this server leverages an intelligent ReAct agent to dynamically route tasks, answer questions, provide recommendations, and safely execute food orders using a Human-in-the-Loop (HITL) workflow.
Core Features
Non-Deterministic ReAct Agent: The agent dynamically decides which tools to use based on the conversational context without hardcoded workflows.
Human-In-The-Loop (HITL): Order placements are securely intercepted. The agent pauses execution to ask for human authorization before finalizing any real transactions.
Multi-Format RAG Ingestion: A decoupled ingestion pipeline that universally parses
.json,.csv,.md,.txt, and.pdffiles into a local ChromaDB vector store.Contextual Recommendations: Recommends the top 3 food items dynamically evaluated against the user's current geographic location and time of day.
Model Context Protocol (MCP): Exposes the agent's capabilities as standardized MCP tools, making them discoverable and usable by modern LLM clients (like Claude Desktop).
100% Local Embeddings: Built-in support for HuggingFace
sentence-transformersfor cost-free, offline vector embeddings.
Related MCP server: Food402
Project Structure
swiggy_agent/
├── data/
│ ├── restaurants_menu.json # Restaurant catalog & timings
│ ├── order_history.json # Past & active order records
│ ├── food_reviews.csv # Customer reviews & sentiment
│ └── platform_policies.md # Packaging & late-night guidelines
├── src/
│ ├── ingestion.py # Multi-format universal data ingestor
│ ├── tools/
│ │ ├── __init__.py
│ │ ├── order_tool.py # Tool 1: Order Food (HITL sensitive)
│ │ ├── recommendation_tool.py # Tool 2: Geo/Time Recommendations
│ │ ├── history_tool.py # Tool 3: Order tracking & history
│ │ └── rag_tool.py # Tool 4: Review retrieval RAG
│ ├── agent.py # Non-deterministic LangGraph agent + HITL
│ └── mcp_server.py # FastMCP Server exposing tools
├── requirements.txt
├── .env # Environment variables (API Keys)
└── main.py # Entry point for interactive CLI testingSetup & Installation
1. Install Dependencies
Ensure you have Python 3.10+ installed. Install the required packages:
pip install -r requirements.txt
# Alternatively, install manually:
pip install mcp langchain langchain-openai langchain-huggingface langchain-chroma langgraph chromadb sentence-transformers python-dotenv2. Configure Environment Variables
Create a .env file in the root directory and add your LLM API keys (e.g., Google Gemini, OpenAI, or Groq):
# Example using Google Gemini (Recommended for free tier)
GEMINI_API_KEY=your_api_key_here
# Example using OpenAI (If applicable)
# OPENAI_API_KEY=your_api_key_here3. Initialize the Vector Database
Before running the agent, ingest the synthetic data to build the local ChromaDB vector store:
python src/ingestion.pyUsage
Option 1: Run the Interactive Agent Demo
Test the LangGraph agent and the Human-in-the-Loop order workflow via the terminal:
python main.pyTry a prompt like: "Hi, I'm USR_500 in Koramangala at 21:00. What's good to eat around here? Check reviews for what people say, and if it's rated well, order 1 portion to 5th Block."
Option 2: Start the MCP Server
To expose the tools to an MCP-compatible client (like Claude Desktop or an external app):
python src/mcp_server.pyTools Reference
Tool Name | Description | Output |
| Places a food order. Triggers a graph interrupt requiring a | JSON confirmation |
| Evaluates local restaurants based on | JSON array |
| Retrieves active and historical order data for a specific user ID. | JSON dict |
| Performs RAG semantic search over reviews, menus, and platform policies. | Markdown text |
License
MIT License
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP Server for an Agent Task Marketplace
Human-in-the-loop for AI agents over MCP: durable approvals with a hosted review page & audit trail
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA proof-of-concept Model Context Protocol server that enables LLM applications to interact with Uber Eats, allowing AI agents to browse and order food through natural language.238-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI assistants to order food from TGO Yemek by browsing restaurants, managing carts, and completing checkouts. It allows users to handle address selection and order tracking directly through natural language interactions.29 npm13MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI agents to discover restaurants and place food delivery orders on Uber Eats and Thuisbezorgd (Just Eat Takeaway). It provides tools for restaurant discovery and order management through normalized platform APIs.8 npm2MIT
- AlicenseAqualityDmaintenanceMCP server for Chipotle — let AI agents find locations, browse menus, build custom orders, and checkout for pickup or delivery.1822 npmMIT