Skip to main content
Glama
Ichibu013

Agentic Swiggy MCP Server

by Ichibu013

Agentic Swiggy MCP Server

Python LangChain LangGraph FastMCP ChromaDB

Ein hochmodularer, nicht-deterministischer agentischer Model Context Protocol (MCP)-Server, der einen Essenslieferassistenten (wie Swiggy) nachbildet. Erstellt mit LangGraph, FastMCP und ChromaDB, nutzt dieser Server einen intelligenten ReAct-Agenten, um Aufgaben dynamisch zu steuern, Fragen zu beantworten, Empfehlungen zu geben und Essensbestellungen mithilfe eines Human-in-the-Loop (HITL)-Workflows sicher auszuführen.


Kernfunktionen

  • Nicht-deterministischer ReAct-Agent: Der Agent entscheidet anhand des Gesprächskontexts dynamisch, welche Tools verwendet werden, ohne fest codierte Workflows.

  • Human-in-the-Loop (HITL): Bestellvorgänge werden sicher unterbrochen. Der Agent pausiert die Ausführung und fordert vor Abschluss echter Transaktionen eine menschliche Autorisierung an.

  • Multi-Format-RAG-Erfassung: Eine entkoppelte Erfassungspipeline, die .json, .csv, .md, .txt und .pdf-Dateien universell in einen lokalen ChromaDB-Vektor-Store lädt.

  • Kontextbezogene Empfehlungen: Empfiehlt die Top-3-Gerichte, die dynamisch anhand des aktuellen geografischen Standorts und der Uhrzeit des Benutzers bewertet werden.

  • Model Context Protocol (MCP): Stellt die Funktionen des Agenten als standardisierte MCP-Tools bereit und macht sie für moderne LLM-Clients (wie Claude Desktop) auffindbar und nutzbar.

  • 100 % lokale Embeddings: Integrierte Unterstützung für HuggingFace sentence-transformers für kostenlose, offline nutzbare Vektor-Embeddings.


Related MCP server: Food402

Projektstruktur

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 testing

Einrichtung und Installation

1. Abhängigkeiten installieren

Stellen Sie sicher, dass Python 3.10+ installiert ist. Installieren Sie die erforderlichen Pakete:

pip install -r requirements.txt
# Alternatively, install manually:
pip install mcp langchain langchain-openai langchain-huggingface langchain-chroma langgraph chromadb sentence-transformers python-dotenv

2. Umgebungsvariablen konfigurieren

Erstellen Sie eine .env-Datei im Hauptverzeichnis und fügen Sie Ihre LLM-API-Schlüssel (z. B. Google Gemini, OpenAI oder Groq) hinzu:

# 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_here

3. Vektordatenbank initialisieren

Laden Sie vor dem Ausführen des Agenten die synthetischen Daten, um den lokalen ChromaDB-Vektor-Store aufzubauen:

python src/ingestion.py

Verwendung

Option 1: Interaktive Agent-Demo ausführen

Testen Sie den LangGraph-Agenten und den Human-in-the-Loop-Bestellworkflow über das Terminal:

python main.py

Versuchen Sie zum Beispiel einen Prompt wie: „Hi, ich bin USR_500 in Koramangala um 21:00 Uhr. Was gibt es hier Gutes zu essen? Schau dir die Bewertungen an, was die Leute sagen, und wenn es gut bewertet ist, bestelle 1 Portion an den 5th Block.“

Option 2: MCP-Server starten

Um die Tools für einen MCP-kompatiblen Client (wie Claude Desktop oder eine externe App) verantwortlich zu machen:

python src/mcp_server.py

Tool-Referenz

Tool-Name

Beschreibung

Ausgabe

order_food

Gibt eine Essensbestellung auf. Löst eine Graph-Unterbrechung aus, die eine "yes"-Genehmigung des Benutzers erfordert.

JSON-Bestätigung

get_top_3_food

Bewertet lokale Restaurants anhand von location und current_time, um die besten Optionen vorzuschlagen.

JSON-Array

get_order_status_and_history

Ruft aktive und vergangene Bestelldaten für eine bestimmte Benutzer-ID ab.

JSON-dict

query_food_reviews_and_policies

Führt eine semantische RAG-Suche über Bewertungen, Kunden und Plattformrichtlinien durch.

Markdown-Text


Lizenz

MIT License

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.

  • MCP server for AI dialogue using various LLM models via AceDataCloud

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ichibu013/Swiggy-Agentic-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server