Сервер Shopify MCP
MCP Server для Shopify API, позволяющий взаимодействовать с данными магазина через GraphQL API. Этот сервер предоставляет инструменты для управления продуктами, клиентами, заказами и т. д.
Функции
Управление продуктом : поиск и извлечение информации о продукте
Управление клиентами : загрузка данных клиентов и управление тегами клиентов
Управление заказами : расширенные запросы и фильтрация заказов
Интеграция GraphQL : прямая интеграция с API администратора GraphQL от Shopify
Комплексная обработка ошибок : понятные сообщения об ошибках API и проблемах аутентификации.
Related MCP server: Azure MCP Server
Инструменты
get-productsПолучить все продукты или искать по названию
Входные данные:
searchTitle(необязательная строка): Фильтрация продуктов по названиюlimit(число): максимальное количество возвращаемых товаров
Возврат: отформатированные сведения о продукте, включая название, описание, номер и варианты.
get-products-by-collectionПолучить продукты из определенной коллекции
Входные данные:
collectionId(строка): идентификатор коллекции, из которой нужно получить продуктыlimit(необязательное число, по умолчанию: 10): максимальное количество возвращаемых товаров
Возврат: Отформатированные сведения о продукте из указанной коллекции.
get-products-by-idsПолучить продукты по их идентификаторам
Входные данные:
productIds(массив строк): Массив идентификаторов продуктов для извлечения
Возврат: Отформатированные сведения о продукте для указанных продуктов
update-product-priceОбновить цены на продукцию по ее идентификатору
Входные данные:
productId(строка): идентификатор продукта для обновленияprice(строка): Новая цена на продукт
Возврат: Ответ на обновление
get-variants-by-idsПолучить варианты продукта по их идентификаторам
Входные данные:
variantIds(массив строк): Массив идентификаторов вариантов для извлечения
Возврат: Подробная информация о вариантах, включая сведения о продукте
get-customersПолучите клиентов Shopify с поддержкой пагинации
Входные данные:
limit(необязательное число): максимальное количество клиентов для возвратаnext(необязательная строка): Курсор следующей страницы
Возвращает: данные о клиентах в формате JSON.
tag-customerДобавить теги к клиенту
Входные данные:
customerId(строка): идентификатор клиента для тегаtags(массив строк): теги для добавления клиенту
Возвращает: сообщение об успешном или неудачном выполнении.
get-ordersПолучайте заказы с расширенной фильтрацией и сортировкой
Входные данные:
first(необязательное число): Лимит заказов для возвратаafter(необязательная строка): Курсор следующей страницыquery(необязательная строка): Фильтрация заказов с использованием синтаксиса запросаsortKey(необязательное перечисление): поле для сортировки ('PROCESSED_AT', 'TOTAL_PRICE', 'ID', 'CREATED_AT', 'UPDATED_AT', 'ORDER_NUMBER')reverse(необязательно логическое значение): обратный порядок сортировки
Возврат: Форматированные данные заказа
get-orderПолучить единый заказ по идентификатору
Входные данные:
orderId(строка): идентификатор заказа для извлечения
Возврат: Подробная информация о заказе
create-discount
Создайте базовый код скидки
Входные данные:
title(строка): Название скидкиcode(строка): код скидки, который будут вводить клиентыvalueType(enum): Тип скидки («процент» или «фиксированная_сумма»)value(число): Значение скидки (процент в виде десятичной дроби или фиксированной суммы)startsAt(строка): Дата начала в формате ISOendsAt(необязательная строка): Необязательная дата окончания в формате ISOappliesOncePerCustomer(логическое значение): можно ли использовать скидку только один раз для одного клиента
Возврат: Созданы сведения о скидках
create-draft-order
Создать проект заказа
Входные данные:
lineItems(массив): Массив элементов с вариантомId и количествомemail(строка): Электронная почта клиентаshippingAddress(объект): Детали адреса доставкиnote(необязательная строка): Необязательное примечание к заказу
Возврат: Создан черновик деталей заказа
complete-draft-order
Завершить проект заказа
Входные данные:
draftOrderId(строка): идентификатор черновика заказа для выполненияvariantId(строка): идентификатор варианта в проекте заказа
Возврат: Детали выполненного заказа
get-collections
Получить все коллекции
Входные данные:
limit(необязательное число, по умолчанию: 10): максимальное количество возвращаемых коллекцийname(необязательная строка): Фильтровать коллекции по имени
Возврат: Подробности сбора
get-shop
Получить данные магазина
Входы: нет
Возврат: Основная информация о магазине
get-shop-details
Получите расширенную информацию о магазине, включая страны доставки
Входы: нет
Возврат: расширенная информация о магазине, включая страны доставки
manage-webhook
Подписывайтесь, находите или отписывайтесь от веб-хуков
Входные данные:
action(перечисление): Действие для выполнения («подписаться», «найти», «отписаться»)callbackUrl(строка): URL-адрес обратного вызова Webhooktopic(перечисление): тема веб-перехватчика, на которую нужно подписатьсяwebhookId(необязательная строка): идентификатор веб-перехватчика (требуется для отмены подписки)
Возвращает: сведения о веб-перехватчике или сообщение об успешном выполнении.
Настраивать
Токен доступа Shopify
Чтобы использовать этот MCP-сервер, вам необходимо создать пользовательское приложение в вашем магазине Shopify:
В панели администратора Shopify перейдите в Настройки > Приложения и каналы продаж.
Нажмите «Разработать приложения» (возможно, сначала вам потребуется включить предварительный просмотр для разработчиков).
Нажмите «Создать приложение».
Задайте имя для вашего приложения (например, «Shopify MCP Server»)
Нажмите «Настроить области действия API администратора».
Выберите следующие области:
read_products,write_productsread_customers,write_customersread_orders,write_orders
Нажмите «Сохранить».
Нажмите «Установить приложение».
Нажмите «Установить» , чтобы предоставить приложению доступ к данным вашего магазина.
После установки вы увидите свой токен доступа к API администратора.
Скопируйте этот токен — он вам понадобится для настройки.
Примечание: Храните свой токен доступа в безопасности. Он обеспечивает доступ к данным вашего магазина и никогда не должен передаваться или передаваться в систему контроля версий. Более подробную информацию о том, как создать приложение Shopify, можно найти здесь .
Использование с Claude Desktop
Добавьте в ваш claude_desktop_config.json :
Разработка
Клонировать репозиторий
Установите зависимости:
Создайте файл
.env:
Создайте проект:
Проведите тесты:
Зависимости
@modelcontextprotocol/sdk — реализация протокола MCP
graphql-request — клиент GraphQL для API Shopify
zod - Проверка типа во время выполнения
Внося вклад
Вклады приветствуются! Пожалуйста, сначала прочтите наши Правила по вкладам .
Лицензия
Массачусетский технологический институт
Сообщество
Создано с ❤️ с использованием протокола контекста модели