# Shopify MCP

Безопасный доступ к данным Shopify Admin GraphQL только на чтение. Позволяет запрашивать товары, аналитику ShopifyQL и собирать выгрузки без риска случайно изменить витрину.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 1
- Автор: scalably-io
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/scalably-io/shopify-mcp
- Обновлён: 2026-09-09
- HTML: https://affpapa.org/nevibecode/mcp/shopify-mcp

## Что делает

Сервер открывает ИИ-агентам чтение данных через Shopify Admin API версии 2026-04. Для защиты от случайных правок парсер `graphql-core` проверяет входящие запросы прямо на стороне сервера и отсекает любые мутации до обращения к API. Блокируются подписки, синтаксические ошибки и тела запросов свыше 100 КБ. Единственное исключение для мутаций сделано только для отмены запущенного экспорта через `bulkOperationCancel`.

Набор включает 6 инструментов для интроспекции схемы, выполнения запросов, работы с аналитикой ShopifyQL и выгрузки массивов данных через bulk-операции. Архитектура поддерживает сразу несколько магазинов через конфиг `SHOPIFY_STORES`. При превышении лимитов Shopify сервер автоматически выдерживает паузу и повторяет попытку до трёх раз.

Для запуска понадобятся `uvx`, домен магазина и один из вариантов авторизации: постоянный токен `SHOPIFY_ACCESS_TOKEN` либо пара `SHOPIFY_CLIENT_ID` и `SHOPIFY_CLIENT_SECRET`.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `SHOPIFY_STORES`, `SHOPIFY_SHOP_DOMAIN`, `SHOPIFY_CLIENT_ID`, `SHOPIFY_CLIENT_SECRET`, `SHOPIFY_ACCESS_TOKEN` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env SHOPIFY_STORES=<SHOPIFY_STORES> --env SHOPIFY_SHOP_DOMAIN=<SHOPIFY_SHOP_DOMAIN> --env SHOPIFY_CLIENT_ID=<SHOPIFY_CLIENT_ID> --env SHOPIFY_CLIENT_SECRET=<SHOPIFY_CLIENT_SECRET> --env SHOPIFY_ACCESS_TOKEN=<SHOPIFY_ACCESS_TOKEN> --transport stdio shopify-mcp -- uvx scalably-shopify-mcp
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from scalably-shopify-mcp <команда>

### Codex

**Командой платформы**
```bash
codex mcp add shopify-mcp --env SHOPIFY_STORES=<SHOPIFY_STORES> --env SHOPIFY_SHOP_DOMAIN=<SHOPIFY_SHOP_DOMAIN> --env SHOPIFY_CLIENT_ID=<SHOPIFY_CLIENT_ID> --env SHOPIFY_CLIENT_SECRET=<SHOPIFY_CLIENT_SECRET> --env SHOPIFY_ACCESS_TOKEN=<SHOPIFY_ACCESS_TOKEN> -- uvx scalably-shopify-mcp
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from scalably-shopify-mcp <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "shopify-mcp": {
            "command": "uvx",
            "args": [
                "scalably-shopify-mcp"
            ],
            "env": {
                "SHOPIFY_STORES": "<SHOPIFY_STORES>",
                "SHOPIFY_SHOP_DOMAIN": "<SHOPIFY_SHOP_DOMAIN>",
                "SHOPIFY_CLIENT_ID": "<SHOPIFY_CLIENT_ID>",
                "SHOPIFY_CLIENT_SECRET": "<SHOPIFY_CLIENT_SECRET>",
                "SHOPIFY_ACCESS_TOKEN": "<SHOPIFY_ACCESS_TOKEN>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from scalably-shopify-mcp <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "shopify-mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "scalably-shopify-mcp"
            ],
            "env": {
                "SHOPIFY_STORES": "<SHOPIFY_STORES>",
                "SHOPIFY_SHOP_DOMAIN": "<SHOPIFY_SHOP_DOMAIN>",
                "SHOPIFY_CLIENT_ID": "<SHOPIFY_CLIENT_ID>",
                "SHOPIFY_CLIENT_SECRET": "<SHOPIFY_CLIENT_SECRET>",
                "SHOPIFY_ACCESS_TOKEN": "<SHOPIFY_ACCESS_TOKEN>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from scalably-shopify-mcp <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e SHOPIFY_STORES=<SHOPIFY_STORES> -e SHOPIFY_SHOP_DOMAIN=<SHOPIFY_SHOP_DOMAIN> -e SHOPIFY_CLIENT_ID=<SHOPIFY_CLIENT_ID> -e SHOPIFY_CLIENT_SECRET=<SHOPIFY_CLIENT_SECRET> -e SHOPIFY_ACCESS_TOKEN=<SHOPIFY_ACCESS_TOKEN> shopify-mcp uvx scalably-shopify-mcp
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from scalably-shopify-mcp <команда>

## Когда брать
- Запросить каталог товаров и остатки на складе через GraphQL
- Выгрузить заказы и клиентов через асинхронные bulk-операции без риска изменений
- Построить аналитический отчёт с помощью запросов ShopifyQL
- Подключить одного ассистента к нескольким магазинам Shopify одновременно

## Примеры запросов агенту
- Покажи список подключённых магазинов через `shopify_list_stores`
- Сделай GraphQL-запрос через `shopify_graphql_query`, чтобы найти последние 10 заказов со статусом оплаты
- Запусти асинхронный экспорт каталога через `shopify_bulk_query` и проверь его статус

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
