Skip to main content
Glama
Ichibu013

Agentic Swiggy MCP Server

by Ichibu013

Agentic Swiggy MCP Server

Python LangChain LangGraph FastMCP ChromaDB

Un servidor de Model Context Protocol (MCP) agéntico, altamente modular y no determinista que simula un asistente de entrega de comida (como Swiggy). Construido con LangGraph, FastMCP y ChromaDB, este servidor aprovecha un agente ReAct inteligente para enrutar tareas dinámicamente, responder preguntas, ofrecer recomendaciones y ejecutar pedidos de comida de forma segura mediante un flujo de trabajo Human-in-the-Loop (HITL).


Funciones Principales

  • Agente ReAct No Determinista: El agente decide dinámicamente qué herramientas usar según el contexto conversacional, sin flujos de trabajo codificados de forma rígida.

  • Human-In-The-Loop (HITL): Los pedidos se interceptan de forma segura. El agente interrumpe su ejecución para pedir autorización humana antes de finalizar cualquier transacción real.

  • Ingesta RAG de Múltiples Formatos: Un pipeline de ingesta desacoplado que universalmente agrega, parsea y procesa archivos .json, .csv, .md, .txt y .pdf en un almacén vectorial local de ChromaDB.

  • Recomendaciones Contextuales: Recomienda el top 3 de platos evaluados dinámicamente según la ubicación geográfica actual del usuario y la hora del día.

  • Model Context Protocol (MCP): Expone las capacidades del agente como herramientas MCP estandarizadas, haciéndolas detectables y utilizables por clientes LLM modernos (como Claude Desktop).

  • Embeddings 100% Locales: Soporte integrado para los sentence-transformers de HuggingFace, lo que permite obtener embeddings vectoriales sin costo ni conexión.


Related MCP server: Food402

Estructura del Proyecto

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

Configuración e Instalación

1. Instalar Dependencias

Asegúrate de tener instalado Python 3.10+. Instala los paquetes requeridos:

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. Configurar Variables de Entorno

Crea un archivo .env en el directorio raíz y añade tus claves de API de LLM (p. ej., Google Gemini, OpenAI o 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_here

3. Inicializar la Base de Datos Vectorial

Antes de ejecutar el agente, ingilla los datos sintéticos para construir el almacén vectorial local de ChromaDB:

python src/ingestion.py

Uso

Opción 1: Ejecutar la Demo Interactiva del Agente

Prueba el agente de LangGraph y el flujo de trabajo de pedidos Human-in-the-Loop a través de la terminal:

python main.py

Prueba un prompt como: "Hola, soy USR_500 en Koramangala a las 21:00. ¿Qué hay algo bueno por aquí? Revisa las reseñas para ver qué opina la gente y, si está bien valorado, pide 1 porción para 5th Block."

Opción 2: Iniciar el Servidor MCP

Para exponer las herramientas a un cliente compatible con MCP (como Claude Desktop o una aplicación externa):

python src/mcp_server.py

Referencia de Herramientas

Herramienta

Descripción

Salida

order_food

Hace un pedido de comida. Activa una interrupción en el gradofed que requiere una autorización "yes" del usuario.

Confirmación JSON

get_top_3_food

Evalúa restaurantes locales basados en location y current_time para sugerir las mejores opciones.

Matriz JSON

get_order_status_and_history

Recupera datos de pedidos activos y pasados para un ID de usuario concreto.

Diccionario JSON

query_food_reviews_and_policies

Realiza una búsqueda semántica RAG en reseñas, menús y políticas de la plataforma.

Texto Markdown


Licencia

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