🛒 Сервер Kroger MCP 🛍️ -- FastMCP для Kroger Shopping
Сервер FastMCP , который предоставляет помощникам ИИ, таким как Клод, бесперебойный доступ к функционалу покупок продуктов Kroger через Model Context Protocol ( MCP ). Этот сервер позволяет помощникам ИИ находить магазины, искать продукты, управлять корзинами покупок и получать доступ к полным данным о продуктах Kroger через библиотеку Python kroger-api .
📺 Демо
Использование Claude с этим MCP-сервером для поиска магазинов, поиска товаров и добавления товаров в корзину:
Related MCP server: Agora MCP
🚀 Быстрый старт
Предпосылки
Вам понадобятся учетные данные Kroger API (бесплатно с портала разработчиков Kroger ). Посетите портал разработчиков Kroger , чтобы:
Создать учетную запись разработчика
Зарегистрируйте свою заявку
Получите ваш
CLIENT_ID,CLIENT_SECRETи установите вашREDIRECT_URI
При первом запуске инструмента, требующего аутентификации пользователя, вам будет предложено авторизовать свое приложение через веб-браузер. Вы предоставляете разрешение своему зарегистрированному приложению , а не какой-либо третьей стороне.
Установка
Вариант 1: Использование uvx с Claude Desktop (рекомендуется)
После публикации в PyPI вы можете использовать uvx для непосредственного запуска пакета без клонирования репозитория:
Отредактируйте файл конфигурации Claude Desktop:
macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
Linux : ~/.config/Claude/claude_desktop_config.json
Windows : %APPDATA%/Claude/claude_desktop_config.json
Преимущества этого метода:
При необходимости автоматически устанавливает пакет из PyPI
Создает изолированную среду для работы сервера
Позволяет легко оставаться в курсе последних версий
Не требует поддержания локального клона репозитория.
Вариант 2: Использование UV с локальным клоном
Сначала клонируем локально:
Затем отредактируйте файл конфигурации Claude Desktop:
Вариант 3: Установка из PyPI
Вариант 4: Установка из исходного кода
Конфигурация
Создайте файл .env в корневом каталоге проекта или передайте значения env через конфигурацию JSON:
Запуск сервера
🛠️ Особенности
💬 Встроенные подсказки MCP
Путь покупок : найдите оптимальный путь по магазину для списка покупок
Проверка аптеки : проверьте, открыта ли аптека в выбранном вами месте.
Выбор магазина : Помогите пользователю выбрать предпочтительный магазин Kroger.
Покупка рецептов : найдите рецепты и добавьте ингредиенты в корзину
📚 Доступные инструменты
Инструменты определения местоположения
Инструмент | Описание | Требуется аутентификация |
| Найти магазины Kroger рядом с почтовым индексом | Нет |
| Получите подробную информацию о конкретном магазине | Нет |
| Установите предпочтительный магазин для будущих операций | Нет |
| Получить текущий предпочитаемый магазин | Нет |
| Проверьте, действителен ли идентификатор местоположения | Нет |
Инструменты продукта
Инструмент | Описание | Требуется аутентификация |
| Поиск продуктов по названию, бренду или другим критериям | Нет |
| Получите подробную информацию о продукте, включая цены | Нет |
| Найти продукты по их конкретному идентификатору продукта | Нет |
| Получите изображения продукта с определенной точки зрения (спереди, сзади и т. д.) | Нет |
Инструменты для корзины
Инструмент | Описание | Требуется аутентификация |
| Добавить один товар в корзину | Да |
| Добавьте несколько товаров в корзину за одну операцию | Да |
| Просмотр товаров, которые в данный момент находятся в вашей локальной корзине для отслеживания | Нет |
| Удалить элементы из локального отслеживания корзины | Нет |
| Удалить все товары из локального отслеживания корзины | Нет |
| Переместить текущую корзину в историю заказов | Нет |
| Посмотреть историю размещенных заказов | Нет |
Информационные инструменты
Инструмент | Описание | Требуется аутентификация |
| Получить все сети, принадлежащие Kroger | Нет |
| Получить подробную информацию о конкретной сети | Нет |
| Проверить, существует ли цепочка | Нет |
| Получить все отделы магазина | Нет |
| Получить подробную информацию о конкретном отделе | Нет |
| Проверьте, существует ли отдел | Нет |
Инструменты профиля
Инструмент | Описание | Требуется аутентификация |
| Получить информацию о профиле аутентифицированного пользователя | Да |
| Проверьте, действителен ли токен аутентификации. | Да |
| Получить подробный статус аутентификации | Да |
| Очистить токены и принудительно провести повторную аутентификацию | Нет |
Вспомогательные инструменты
Инструмент | Описание | Требуется аутентификация |
| Получить текущую системную дату и время | Нет |
🧰 Локальное отслеживание корзины
Поскольку API Kroger не предоставляет функциональность просмотра корзины, этот сервер поддерживает локальное отслеживание:
Локальное хранилище корзины
Файл :
kroger_cart.jsonСодержимое : Текущие товары в корзине с временными метками
Автоматически : Создается и обновляется автоматически
История заказов
Файл :
kroger_order_history.jsonСодержание : Исторические заказы с отметками времени размещения
Использование : Переместить заполненные корзины в историю с помощью
mark_order_placed
🚧 Ограничения публичного API Kroger
Только просмотр : инструменты
remove_from_cartиclear_current_cartвлияют ТОЛЬКО на локальное отслеживание, а не на фактическую корзину Kroger.Локальная синхронизация : используйте эти инструменты только в том случае, если пользователь уже удалил товары из своей корзины в приложении/на сайте Kroger.
Односторонний : предметы можно добавлять в корзину Kroger, но нельзя удалять через Public API. API-интерфейс Partner позволяет это делать, но для этого требуется заключить контракт с Kroger.
API | Версия | Ограничение скорости | Примечания |
Авторизация | 1.0.13 | Нет определенного ограничения | Управление токенами |
Продукция | 1.2.4 | 10 000 звонков/день | Поиск и сведения о продукте |
Места | 1.2.2 | 1600 вызовов/день на конечную точку | Расположение и подробности магазинов |
Корзина | 1.2.3 | 5000 звонков/день | Добавить/управлять товарами в корзине |
Личность | 1.2.3 | 5000 звонков/день | Информация профиля пользователя |
Примечание: Ограничения скорости применяются к конечной точке, а не к операции. Вы можете распределять вызовы между операциями, используя ту же конечную точку по мере необходимости.
🏫 Базовый рабочий процесс
Укажите предпочтительное местоположение :
User: "Find Kroger stores near 90274" Assistant: [Uses search_locations tool] User: "Set the first one as my preferred location" Assistant: [Uses set_preferred_location tool]Поиск и добавление продуктов :
User: "Add milk to my cart" Assistant: [Uses search_products, then add_items_to_cart] User: "Add bread, eggs, and cheese to my cart" Assistant: [Uses search_products for each, then bulk_add_to_cart]Управление корзиной и заказами :
User: "What's in my cart?" Assistant: [Uses view_current_cart tool to see local memory] User: "I placed the order on the Kroger website" Assistant: [Uses mark_order_placed tool, moving current cart to the order history]
🤝 Вклад
Вклады приветствуются! Не стесняйтесь отправлять запрос на извлечение. Для крупных изменений сначала откройте тему, чтобы обсудить, что вы хотели бы изменить.
📄 Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .
⚠️ Отказ от ответственности
Это неофициальный сервер MCP для Kroger Public API. Он не связан, не одобрен и не спонсируется Kroger.
Если у вас есть вопросы по API Kroger, посетите портал разработчиков Kroger или ознакомьтесь с документацией по пакету kroger-api .