Hey Harper multi-store Shopify MCP server
Сервер Hey Harper multi-store Shopify MCP
Крошечный удалённый MCP-сервер, хранящий постоянные токены Admin API всех пяти магазинов Hey Harper и получающий невыполненные / требующие внимания заказы-кандидаты из каждого магазина за одно подключение — без switch-shop и без повторной авторизации через OAuth для каждого магазина. Именно это позволяет ежедневному отчёту «заказы, требующие внимания» выполняться без участия человека.
Зачем это нужно
Официальный коннектор Shopify работает с одним магазином за раз и требует повторной авторизации через OAuth при каждом переключении магазина — это невозможно автоматизировать для плановой задачи. Этот сервер полностью обходит это, используя токены Admin API из кастомных приложений (постоянные, без OAuth) и напрямую запрашивая все магазины.
Related MCP server: Shopify MCP
Доступные инструменты
Инструмент | Что делает |
| Показывает список настроенных магазинов (domain + token заданы). |
| Получает невыполненные заказы для одного магазина ( |
| Главный. Получает невыполненные заказы из ВСЕХ магазинов одним вызовом, с изоляцией ошибок по каждому магазину. |
Каждый заказ возвращается нормализованным и обогащённым (парсинг released_hold_at, флаги тегов Everstox, oos по каждой строке), но сервер намеренно не решает, «требует ли внимания» — порог задержки по рабочим дням, правило OOS (только EU/UK/BR/MX) и исключения Everstox остаются в вашей задаче Cowork, чтобы вы могли менять пороги и добавлять календари праздников без повторного развёртывания.
Настройка — пошагово
1. Создайте кастомное приложение + токен в КАЖДОМ магазине
В админке каждого магазина Hey Harper (US, EU, UK, BR, MX):
Settings → Apps and sales channels → Develop apps → Create an app (назовите его, например,
cowork-unfulfilled-reader).Настройте Admin API scopes и включите (достаточно только чтения):
read_ordersread_all_orders(позволяет запрашивать заказы старше 60 дней)read_productsread_inventoryread_fulfillmentsread_merchant_managed_fulfillment_orders
Установите приложение, затем в разделе API credentials откройте Admin API access token (
shpat_…). Скопируйте его.Запишите домен
myshopifyмагазина (например,hey-harper-shop-uk.myshopify.com).
В итоге у вас будет пять пар (domain, token). Никогда не коммитьте их и не вставляйте в чат — они попадают прямо в хранилище секретов хостинга на шаге 3.
2. Разверните сервер
В репозитории есть Dockerfile, поэтому подойдёт любой контейнерный хостинг (Render, Railway, Fly.io, VPS). Нужен обычный доступ в интернет и публичный HTTPS URL.
Render (пример, самый простой):
Web Service → New → подключите этот репозиторий (или «Deploy from a Dockerfile»).
Render автоматически определяет Dockerfile. Команды сборки/запуска не нужны.
Он сам предоставляет HTTPS и публичный URL.
Fly.io / Railway: укажите им Dockerfile аналогично.
Локальный тест:
npm install
npm run build
MCP_AUTH_TOKEN=$(openssl rand -hex 32) HH_UK_DOMAIN=hey-harper-shop-uk.myshopify.com HH_UK_TOKEN=shpat_xxx npm start
# health check:
curl localhost:3000/health3. Задайте секреты окружения на хостинге
Скопируйте .env.example для справки и задайте эти переменные в env/секретах вашего хостинга:
MCP_AUTH_TOKEN— длинная случайная строка (openssl rand -hex 32). Обязательно задайте — это bearer-токен, защищающий вашу конечную точку.HH_US_DOMAIN/HH_US_TOKEN,HH_EU_*,HH_UK_*,HH_BR_*,HH_MX_*— пары из шага 1.
Магазин становится активным только когда оба его параметра (домен и токен) заданы, так что можно начать с UK, а остальные добавлять по мере создания токенов.
4. Добавьте его в Claude как кастомный коннектор
В claude.ai → Settings → Connectors → Add custom connector:
URL:
https://<your-host>/mcpAuth: укажите bearer-токен (
MCP_AUTH_TOKEN), чтобы запросы отправлялись с заголовкомAuthorization: Bearer <токен>.
Если интерфейс коннектора не позволяет прикрепить статический заголовок, установите MCP_PATH на непредсказуемый путь (например, /mcp/9f3c…) — тогда секретный путь выступает в роли учётных данных. После подключения инструменты heyharper_list_stores, heyharper_pull_store_orders и heyharper_pull_all_stores появятся как доступные.
5. Подключите к ежедневной задаче
Направьте ежедневную задачу Cowork на 9 утра на heyharper_pull_all_stores, затем примените логику классификации (порог опоздания по рабочим дням, правило OOS (только EU/UK/BR/MX), исключения Everstox) в соответствии со спецификацией передачи задач:
clock = releasedHoldAt if hasReleasedHold else processedAt
late = business_days_since(clock) >= 2 (weekends excluded, warehouse TZ)
shop_oos = anyLineOos (only where storeAppliesOos)
excluded = hasOosEverstox OR (hasHoldEverstox AND NOT hasReleasedHold)
OR (hasSetOnHold AND NOT hasReleasedHold)
needs_attention = (late OR shop_oos) AND NOT excludedОтправляйте результат в #daily-unfulfilled.
Переменные окружения
Переменная | Обязательна | По умолчанию | Примечания |
| желательно | — | Bearer-токен для эндпоинта. Если не задан, эндпоинт открыт. |
| нет |
| Путь к эндпоинту. |
| нет |
| Порт. |
| нет |
| Версия Admin API. |
| для каждого | — | Домен магазина, где KEY ∈ US, EU, UK, BR, MX. |
| для каждого | — | Admin API access token ( |
Локальный запуск
npm install
npm run build
MCP_AUTH_TOKEN=$(openssl rand -hex 32) HH_UK_DOMAIN=hey-harper-shop-uk.myshopify.com HH_UK_TOKEN=shpat_xxx npm start
# health check:
curl localhost:3000/health3. Задайте секреты окружения на хостинге
Скопируйте .env.example для справки и задайте в окружении хостинга (секреты):
MCP_AUTH_TOKEN— длинная случайная строка (openssl rand -hex 32). Обязательно задайте — это bearer-токен для вашей конечной точки.HH_US_DOMAIN/HH_US_TOKEN,HH_EU_*,HH_UK_*,HH_BR_*,HH_MX_*— пары из шага 1.
Магазин становится активным только когда заданы оба его домен и токен, так что можно начать с UK, а остальные добавить по мере генерации токенов.
4. Добавьте в Claude как пользовательский коннектор
В claude.ai → Settings → Connectors → Add custom connector:
URL:
https://<ваш-хост>/mcpAuth: укажите bearer-токен (
MCP_AUTH_TOKEN).
Если в вашем тарифе интерфейс коннектора не позволяет прикрепить статический заголовок, задайте
MCP_PATH— непредсказуемый путь (например,/9f3c…), и тогда секретный путь выступит как учётные данные.
После подключения инструменты heyharper_list_stores, heyharper_pull_store_orders и heyharper_pull_all_stores появятся в Claude.
5. Настройте ежедневный отчёт
Укажите в задаче вызов heyharper_pull_all_stores и примените логику классификации (она лежит в задаче Cowork, не в сервере), чтобы решить, какие заказы требуют внимания. Затем опубликуйте результат в канале.
Зачем это нужно
Официальный коннектор Shopify держит один магазин за раз и требует повторной OAuth-авторизации при каждом переключении — это делает невозможной автоматическую ежедневную выгрузку. Данный сервер полностью обходит это, используя токены Admin API кастомного приложения и запрашивая все магазины напрямую.
Переменные окружения
Переменная | Обязательна | По умолчанию | Описание |
| рекомендовано | — | Bearer-токен для конечной точки. Если не задан, эндпоинт открыт. |
| нет |
| Путь конечной точки. |
| нет |
| Порт для HTTP-сервера. |
| нет |
| Версия Admin API. |
| для каждого | — | Домен магазина (KEY = US, EU, UK, BR, MX). |
| для каждого | — | Admin API access token магазина. |
Требования к хостингу
Обычный доступ в интернет.
Публичный HTTPS URL.
Возможность запуска Docker-контейнера.
Render (пример, самый простой): New → Web Service → подключите репозиторий (или "Deploy from a Dockerfile"). Render сам определит Dockerfile, выдаст HTTPS и публичный URL.
Fly.io / Railway: укажите Dockerfile так же, как обычно.
This server cannot be installed
Maintenance
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
- FlicenseNot gradedqualityCmaintenanceMCP server exposing Shopify commerce backend with ~22 typed tools for orders, inventory, logistics, and fulfillment, including read/write separation and structured errors.
- AlicenseNot gradedqualityBmaintenanceA read-only MCP server that exposes the full Shopify Admin GraphQL API through 6 universal tools, with multi-store support and mutation rejection at the parser level for safety.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Shopify Admin API. Enables product, order, customer, and inventory management via natural language.81MIT
- FlicenseNot gradedqualityCmaintenanceHosted MCP server connecting Shopify, Klaviyo, GA4, Meta Ads, Google Ads, Xero, Gorgias and 20+ e-commerce data sources so AI assistants can answer merchant questions that span every source at once.
Related MCP Connectors
Official remote MCP server for Color Me Shop.
MCP server for interacting with the Supabase platform
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/diogoferacruz-dev/heyharper-shopify-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server