
cesarjoquin/shopify-mcp
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
Shopify MCP 서버는 Claude Desktop, Claude Code 또는 모든 MCP 호환 클라이언트를 사용하여 제품, 고객, 주문, 재고 및 메타필드를 Shopify MCP의 타입 도구 인터페이스를 통해 관리할 수 있습니다
개요
Shopify Admin GraphQL API를 AI 어시스턴트에 노출하는 운영 지향 모델 컨텍스트 프로토콜 서버입니다. Claude Desktop, Claude Code 또는 MCP 호환 클라이언트를 연결하여 타이핑된 도구 인터페이스를 통해 제품, 고객, 주문, 재고, 메타필드를 관리할 수 있습니다. 이 서버는 MCP 도구 호출을 Shopify Admin GraphQL 작업으로 변환합니다. 정적 접근 토큰과 OAuth 클라이언트 자격 증명(개발 대시보드 앱), 선택적 Redis 지원 토큰 지속성, 구조화된 JSON 로깅, 그리고 우아한 종료를 지원합니다. 모든 목록 도구는 커서 페이지 지정, 정렬, Shopify 검색 문법 필터링을 지원합니다. - 18 이상 - 커스텀 앱과 관리자 API 범위 포함 - (선택 사항) 재시작 간 OAuth 토큰 지속성 read_products, write_products, read_customers, write_customers, read_orders, write_orders (필요에 따라 인벤토리/메타필드 범위도 포함). 설정 위치: - ~/라이브러리/Application Support/Claude/claude_desktop_config.json - %APPDATA%/Claude/claude_desktop_config.
개요(AI 번역)
Shopify Admin GraphQL API를 AI 어시스턴트에 노출하는 운영 지향 모델 컨텍스트 프로토콜 서버입니다. Claude Desktop, Claude Code 또는 MCP 호환 클라이언트를 연결하여 타이핑된 도구 인터페이스를 통해 제품, 고객, 주문, 재고, 메타필드를 관리할 수 있습니다.
목차
- 개요
- 건축
- 특징
- 요구사항
- 설치
- 구성
- 개발
- 시험
- 프로젝트 구조
- 문제 해결
- 기여
- 자주 묻는 질문
- 면허
개요
이 서버는 MCP 도구 호출을 Shopify Admin GraphQL 작업으로 변환합니다. 정적 접근 토큰과 OAuth 클라이언트 자격 증명(개발 대시보드 앱), 선택적 Redis 지원 토큰 지속성, 구조화된 JSON 로깅, 그리고 우아한 종료를 지원합니다.
건축
런타임 레이어
| 계층 | 책임 |
|---|---|
src/index.ts |
프로세스 입력, 오류 경계 |
src/server/ |
부트스트랩, MCP 배선, 차단 후크 |
src/config/ |
환경 및 CLI 구성 |
src/lib/ |
인증, 로깅, 레디스, 공유 유틸리티 |
src/tools/ |
40개의 MCP 도구 (제품, 주문, 고객 등) |
요청 워크플로우
인증 흐름
특징
이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.
README
원문 README의 일부입니다. 원문 보기.
Shopify MCP Server
A production-oriented Model Context Protocol server that exposes the Shopify Admin GraphQL API to AI assistants. Connect Claude Desktop, Claude Code, or any MCP-compatible client to manage products, customers, orders, inventory, and metafields through a typed tool interface.
Table of Contents
- Overview
- Architecture
- Features
- Requirements
- Installation
- Configuration
- Development
- Testing
- Project Structure
- Troubleshooting
- Contributing
- FAQ
- License
Overview
This server translates MCP tool calls into Shopify Admin GraphQL operations. It supports static access tokens and OAuth client-credentials (Dev Dashboard apps), optional Redis-backed token persistence, structured JSON logging, and graceful shutdown.
flowchart LR
Client[MCP Client] -->|stdio JSON-RPC| Server[MCP Server]
Server --> Tools[Tool Registry]
Tools --> GraphQL[Shopify Admin GraphQL]
Server --> Auth[OAuth Token Manager]
Auth --> Redis[(Redis Cache)]
Auth --> GraphQL
Architecture
Runtime layers
| Layer | Responsibility |
|---|---|
src/index.ts |
Process entry, error boundary |
src/server/ |
Bootstrap, MCP wiring, shutdown hooks |
src/config/ |
Environment and CLI configuration |
src/lib/ |
Auth, logging, Redis, shared utilities |
src/tools/ |
40 MCP tools (products, orders, customers, …) |
Request workflow
sequenceDiagram
participant C as MCP Client
participant M as McpServer
participant T as Tool
participant S as Shopify API
C->>M: tools/call
M->>T: execute(args)
T->>T: Zod schema validation
T->>S: GraphQL request
S-->>T: Response
T-->>M: Formatted JSON
M-->>C: MCP content block
Authentication flow
sequenceDiagram
participant S as Server
participant R as Redis
participant SH as Shopify OAuth
S->>R: Check cached token
alt Valid cache hit
R-->>S: access_token
else Cache miss
S->>SH: client_credentials grant
SH-->>S: access_token + expires_in
S->>R: Store token with TTL
end
Note over S: Auto-refresh 5 min before expiry
Features
| Category | Capabilities |
|---|---|
| Products | CRUD, variants, options, collections |
| Customers | CRUD, merge, address management |
| Orders | Query, cancel, fulfill, refund, draft orders |
| Metafields | Read, write, delete on any resource |
| Inventory | Set quantities, read levels and items |
| Discovery | Shop info, locations, markets, price lists |
| Platform | Redis token cache, structured logging, graceful shutdown, strict TypeScript |
All list tools support cursor pagination, sorting, and Shopify search syntax filtering.
설치
npx shopify-mcp --clientId <CLIENT_ID> --clientSecret <CLIENT_SECRET> --domain <store>.myshopify.com설정
{
"mcpServers": {
"shopify": {
"command": "npx",
"args": [
"shopify-mcp",
"--clientId", "<CLIENT_ID>",
"--clientSecret", "<CLIENT_SECRET>",
"--domain", "<store>.myshopify.com"
]
}
}
}