Skip to main content
Glama
Ichibu013

Agentic Swiggy MCP Server

by Ichibu013

Agentic Swiggy MCP Server

Python LangChain LangGraph FastMCP ChromaDB

Это высокомодульный, недетерминированный агентный сервер Model Context Protocol (MCP), имитирующий ассистента по доставке еды (например, Swiggy). Он построен на LangGraph, FastMCP и ChromaDB и использует интеллектуальный ReAct-агент для динамической маршрутизации задач, ответов на вопросы, предоставления рекомендаций и безопасного выполнения заказов еды с помощью рабочего процесса Human-in-the-Loop (HITL).


Ключевые возможности

  • Недетерминированный ReAct-агент: агент динамически решает, какие инструменты использовать, исходя из контекста диалога, без жёстко заданных сценариев.

  • Human-in-the-Loop (HITL): размещение заказов безопасно перехватывается. Агент приостанавливает выполнение и запрашивает подтверждение у человека перед финализацией любой реальной транзакции.

  • Мультиформатная загрузка RAG: независимый конвейер приёма данных, который универсально разбирает файлы .json, .csv, .md, .txt и .pdf в локальное векторное хранилище ChromaDB.

  • Контекстные рекомендации: рекомендует топ-3 блюда с динамической оценкой на основе текущего географического местоположения пользователя и времени суток.

  • Model Context Protocol (MCP): предоставляет возможности агента в виде стандартизированных MCP-инструментов, что делает их доступными и обнаруживаемыми для современных LLM-клиентов (например, Claude Desktop).

  • 100% локальные эмбеддинги: встроена поддержка HuggingFace sentence-transformers для бесплатных офлайн-векторных эмбеддингов.


Related MCP server: Food402

Структура проекта

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

Установка и настройка

1. Установка зависимостей

Убедитесь, что установлен Python 3.10+. Установите необходимые пакеты:

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. Настройка переменных окружения

Создайте файл .env в корневой директории и добавьте ключи API для LLM (например, Google Gemini, OpenAI или 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. Инициализация векторной базы данных

Перед запуском агента загрузите синтетические данные для формирования локального векторного хранилища ChromaDB:

python src/ingestion.py

Использование

Вариант 1: Запуск интерактивной демонстрации агента

Протестируйте агента LangGraph и процесс заказов с Human-in-the-Loop через терминал:

python main.py

Попробуйте такой запрос: "Я USR_500 в Корамангале в 21:00. Что здесь хорошего поесть? Посмотри отзывы, что говорят люди, и если рейтинг хороший, закажи 1 порцию в 5-й блок".

Вариант 2: Запуск MCP-сервера

Чтобы предоставить инструменты MCP-совместимому клиенту (например, Claude Desktop или внешнему приложению):

python src/mcp_server.py

Справочник инструментов

Название инструмента

Описание

Выход

order_food

Размещает заказ еды. Вызывает прерывание графа, требующее подтверждения "yes" от пользователя.

JSON-подтверждение

get_top_3_food

Оценивает местные рестораны на основе location и current_time, чтобы предложить лучшие варианты.

JSON-массив

get_order_status_and_history

Получает данные о текущих и исторических заказах для конкретного ID пользователя.

JSON-словарь

query_food_reviews_and_policies

Выполняет семантический поиск RAG по отзывам, меню и политикам платформы.

Markdown-текст


Лицензия

Лицензия MIT

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