Skip to main content
Glama
diogoferacruz-dev

Hey Harper multi-store Shopify MCP server

Hey Harper 다중 스토어 Shopify MCP 서버

Hey Harper의 5개 스토어 전체의 영구 Shopify Admin API 토큰을 보유하고, 단일 연결로 모든 스토어에서 미처리(fulfillment 대기) / 주의 필요 후보 주문을 가져오는 소형 원격 MCP 서버입니다 — switch-shop도, 스토어별 OAuth 재인증도 필요 없습니다. 이것이 매일 "주의 필요 주문" 보고서를 무인으로 실행 가능하게 만드는 핵심입니다.

왜 필요한가

공식 Shopify 커넥터는 한 번에 하나의 스토어만 보유하며, 스토어를 전환할 때마다 OAuth 재인증을 강제합니다 — 예약 작업에는 자동화가 불가능합니다. 이 서버는 사용자 지정 앱 Admin API 토큰(영구, OAuth 불필요)을 사용하고 모든 스토어를 직접 쿼리하여 이 문제를 완전히 우회합니다.

Related MCP server: Shopify MCP

노출되는 도구

도구

기능

heyharper_list_stores

현재 구성된 스토어 목록 표시(도메인 + 토큰 모두 설정된 스토어).

heyharper_pull_store_orders

단일 스토어의 미처리 주문 가져오기(store, since_days).

heyharper_pull_all_stores

핵심 도구. 단일 호출로 모든 스토어의 미처리 주문을 가져오며, 스토어별 오류 격리를 제공합니다.

각 주문은 정규화 및 강화된 형태로 반환되지만(파싱된 released_hold_at, Everstox 태그 플래그, 라인별 oos), "주의 필요" 여부를 판단하는 것은 의도적으로 하지 않습니다 — 영업일 지연 임계값, OOS 규칙(EU/UK/BR/MX만), Everstox 제외 항목은 Cowork 작업에 유지되어, 재배포 없이 임계값을 조정하고 휴일 달력을 추가할 수 있습니다.


설정 — 단계별 가이드

1. 각 스토어에서 사용자 지정 앱 + 토큰 생성

모든 Hey Harper 스토어 관리자(US, EU, UK, BR, MX)에서:

  1. 설정 → 앱 및 판매 채널 → 앱 개발앱 생성(예: cowork-unfulfilled-reader로 이름 지정).

  2. Admin API 범위 구성 및 활성화(읽기 전용이면 충분):

    • read_orders

    • read_all_orders (60일 이상 지난 주문 쿼리 허용)

    • read_products

    • read_inventory

    • read_fulfillments

    • read_merchant_managed_fulfillment_orders

  3. 앱 설치, API 자격 증명에서 Admin API 액세스 토큰(shpat_…)을 표시하고 복사합니다.

  4. 스토어의 myshopify 도메인을 기록합니다(예: hey-harper-shop-uk.myshopify.com).

결과적으로 5개의 (도메인, 토큰) 쌍이 생성됩니다. 이것들을 커밋하거나 채팅에 붙여넣지 마세요 — 3단계에서 호스트의 시크릿 저장소에 직접 입력합니다.

2. 서버 배포

리포지토리에는 Dockerfile이 포함되어 있어 모든 컨테이너 호스트(Render, Railway, Fly.io, VPS)에서 작동합니다. 일반적인 인터넷 액세스와 공개 HTTPS URL이 필요합니다.

Render(예시, 가장 간단):

  • 새로 만들기 → 웹 서비스 → 이 리포지토리 연결(또는 "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/health

3. 호스트에 환경 시크릿 설정

참고용으로 .env.example을 복사하고 호스트의 env/시크릿 UI에 다음을 설정합니다:

  • 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 → 설정 → 커넥터 → 사용자 지정 커넥터 추가에서:

  • URL: https://<your-host>/mcp

  • 인증: bearer 토큰(MCP_AUTH_TOKEN)을 제공하여 요청이 Authorization: Bearer <token>을 전송하도록 합니다.

커넥터 UI가 해당 플랜에서 정적 헤더를 첨부할 수 없는 경우, 대안으로 MCP_PATH를 추측 불가능한 경로(예: /mcp/9f3c…)로 설정하고 이를 URL로 사용하는 방법이 있습니다 — 비밀 경로가 자격 증명 역할을 합니다. 지원되는 곳에서는 bearer 토큰이 선호됩니다.

연결되면 heyharper_list_stores, heyharper_pull_store_orders, heyharper_pull_all_stores가 도구로 표시됩니다.

5. 일일 보고서 연결

매일 오전 9시 Cowork 작업을 heyharper_pull_all_stores에 연결한 후 분류 로직(핸드오프 사양에 따라 작업에 유지)을 적용합니다:

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에 게시합니다.


보안 참고 사항

  • 토큰은 호스트의 env/시크릿에만 저장됩니다 — 리포지토리에는 절대 저장하지 않습니다(.env는 gitignore 처리됨).

  • URL을 공개하기 전에 항상 MCP_AUTH_TOKEN을 설정하세요. 누락된 경우 서버가 경고를 기록합니다.

  • 모든 도구는 읽기 전용(read_* 범위만)입니다 — 서버는 스토어를 수정할 수 없습니다.

환경 변수

변수

필수 여부

기본값

참고

MCP_AUTH_TOKEN

권장

엔드포인트용 bearer 토큰. 설정하지 않으면 엔드포인트가 공개됩니다.

MCP_PATH

아니요

/mcp

엔드포인트 경로.

PORT

아니요

3000

일반적으로 호스트가 설정합니다.

SHOPIFY_API_VERSION

아니요

2024-10

Admin API 버전.

HH_<KEY>_DOMAIN

스토어별

KEY ∈ US, EU, UK, BR, MX.

HH_<KEY>_TOKEN

스토어별

shpat_… Admin API 액세스 토큰.

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    B
    maintenance
    A 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
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for Shopify Admin API. Enables product, order, customer, and inventory management via natural language.
    8
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Hosted 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.

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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