Agentic Retail MCP System
Агентная розничная MCP-система
Полнофункциональное приложение с искусственным интеллектом, реализующее сервер протокола контекста модели (MCP), безопасно подключенный к базе данных Firebase Firestore, управляемое через чат-интерфейс Streamlit и работающее на базе gpt-4o от OpenAI.
Архитектура системы
Этот проект построен с использованием паттерна разделенных микросервисов:
Сервер MCP-бэкенда (
src/server.py): Python-сервер на базеfastmcp, предоставляющий инструменты для розничной торговли:['check_inventory', 'calculate_elasticity', 'get_demand_forecast']. Подключается напрямую к Google Cloud Firestore.ИИ-фронтенд на Streamlit (
src/client.py): Асинхронный веб-интерфейс, который взаимодействует с вашим бэкенд-сервером с использованием постоянных событий, отправляемых сервером (Server-Sent Events, SSE). Анализирует входные данные инструментов и динамически включает их в вызовы функций OpenAI.
Related MCP server: E-commerce MCP Server
Предварительные требования и конфигурация
Перед запуском любых скриптов необходимо настроить файл .env в корне проекта.
Создайте файл .env и определите следующие переменные:
# Your OpenAI API Key for the GPT-4o Agent
OPENAI_API_KEY="sk-proj-YOUR-KEY-HERE"
# The absolute path to your Firebase Service Account JSON key
FIREBASE_CREDENTIALS_PATH="./firebase-key.json"(Если оставить FIREBASE_CREDENTIALS_PATH пустым, система попытается использовать учетные данные Google Cloud по умолчанию).
Установка
В этом проекте используется uv — молниеносно быстрый менеджер зависимостей Python.
Запустите следующую команду в корневом каталоге, чтобы убедиться, что зависимости сопоставлены с Python >= 3.11:
uv init
uv add mcp pydantic firebase-admin python-dotenv openai streamlitИнициализация базы данных (тестовые данные)
Если у вас есть чистый экземпляр Firebase Firestore, вы можете использовать встроенные инструменты для заполнения базы данных 100 образцами розничных товаров.
Создайте статические структуры тестовых данных в формате CSV:
uv run python generate_data.pyЗагрузите сгенерированные данные CSV напрямую в вашу NoSQL-базу данных Firebase:
uv run python seed_db.py
Запуск приложения
Поскольку веб-интерфейс и сервер инструментов взаимодействуют через изолированный локальный сетевой цикл, вы должны запускать оба процесса параллельно в двух отдельных вкладках терминала.
1. Запуск бэкенд-сервера инструментов
Это запускает приложение ASGI Uvicorn на порту 8000, обрабатывающее все запросы на выполнение инструментов через HTTP Server Sent Events.
uv run python src/server.py2. Запуск клиента Streamlit
В новом окне терминала запустите диалогового агента Streamlit:
uv run streamlit run src/client.py Вкладка веб-браузера автоматически откроется по адресу http://localhost:8501. Теперь вы можете задавать вопросы, например: "Каков уровень запасов товара P1002?" или "Проанализируй прогнозы эластичности цен для P1100".
Развертывание в облаке (Google Cloud Run)
Если вы хотите перенести своего ИИ-агента и бэкенд-инфраструктуру в облако на постоянной основе, я настроил расширенные Docker-файлы, разработанные специально для бессерверного развертывания в Google Cloud Run.
Пожалуйста, обратитесь к полному руководству в документации DEPLOYMENT.md для получения инструкций по отправке обоих контейнеров в сеть.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP for e-commerce: live product catalog, stock, and pricing for AI agents.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables large language models like Claude to perform comprehensive interactions with Firebase Firestore databases, supporting full CRUD operations, complex queries, and advanced features like transactions and TTL management.44 npm4MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides real-time access to MongoDB product data, enabling sophisticated e-commerce queries with price range filters, category searching, and product recommendations through a conversational interface.-
- FlicenseNot gradedqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server for product inventory management with PostgreSQL database backend, enabling natural language queries for product information across multiple AI platforms.-
- AlicenseAqualityDmaintenanceA Model Context Protocol server that exposes Firebase Firestore and Authentication to AI agents, supporting multi-project configurations and read operations.574 npmMIT