Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
Crystallize MCP
개요
제작자가 쓴 설명(영어 원문)
Crystallize headless commerce tools for AI agents via Model Context Protocol
PopNx MCP의 세 기둥
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
- 사용자 의견i아직 리뷰가 없어요리뷰는 다음 단계에서 계정 기능과 함께 열려요
- 우리의 기본 점검i1개 중 1개 통과공개된 정보로 점검했으며, 코드는 아직 스캔하지 않았어요
- 사용 정도i아직 측정 안 함★ –
할 수 있는 일
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
- 연결 방식: 내 컴퓨터에서 실행
- 전송 방식: stdio
- 카테고리: 온라인 쇼핑몰 및 결제
설치
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
설치하기 전에
- 기본 점검: 1개 중 1개 통과
- 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
- 직접 입력할 값:
CRYSTALLIZE_TENANT_IDENTIFIER,CRYSTALLIZE_ACCESS_TOKEN_ID,CRYSTALLIZE_ACCESS_TOKEN_SECRET,CRYSTALLIZE_STATIC_AUTH_TOKEN,CRYSTALLIZE_ACCESS_MODE
필요한 것
- npmNode.js 설치(npx 명령어용)
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"crystallize": {
"command": "npx",
"args": [
"-y",
"@hayodev/crystallize-mcp"
],
"env": {
"CRYSTALLIZE_TENANT_IDENTIFIER": "your-value",
"CRYSTALLIZE_ACCESS_TOKEN_ID": "your-value",
"CRYSTALLIZE_ACCESS_TOKEN_SECRET": "your-value",
"CRYSTALLIZE_STATIC_AUTH_TOKEN": "your-value",
"CRYSTALLIZE_ACCESS_MODE": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add crystallize --env CRYSTALLIZE_TENANT_IDENTIFIER=your-value --env CRYSTALLIZE_ACCESS_TOKEN_ID=your-value --env CRYSTALLIZE_ACCESS_TOKEN_SECRET=your-value --env CRYSTALLIZE_STATIC_AUTH_TOKEN=your-value --env CRYSTALLIZE_ACCESS_MODE=your-value -- npx -y @hayodev/crystallize-mcp실행하기 전에 빈 값을 채워 주세요.
또는 설정을 직접 복사하기
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"crystallize": {
"command": "npx",
"args": [
"-y",
"@hayodev/crystallize-mcp"
],
"env": {
"CRYSTALLIZE_TENANT_IDENTIFIER": "your-value",
"CRYSTALLIZE_ACCESS_TOKEN_ID": "your-value",
"CRYSTALLIZE_ACCESS_TOKEN_SECRET": "your-value",
"CRYSTALLIZE_STATIC_AUTH_TOKEN": "your-value",
"CRYSTALLIZE_ACCESS_MODE": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
또는 설정을 직접 복사하기
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"crystallize": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@hayodev/crystallize-mcp"
],
"env": {
"CRYSTALLIZE_TENANT_IDENTIFIER": "your-value",
"CRYSTALLIZE_ACCESS_TOKEN_ID": "your-value",
"CRYSTALLIZE_ACCESS_TOKEN_SECRET": "your-value",
"CRYSTALLIZE_STATIC_AUTH_TOKEN": "your-value",
"CRYSTALLIZE_ACCESS_MODE": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
직접 입력할 값
CRYSTALLIZE_TENANT_IDENTIFIERenvYour Crystallize tenant identifier (e.g. 'my-store'). Find it in your Crystallize dashboard URL: app.crystallize.com/{tenant}CRYSTALLIZE_ACCESS_TOKEN_IDenvAccess Token ID for authenticated API access. Create one at Settings > Access Tokens in your Crystallize dashboard. Optional — public catalogue and Discovery API work without auth.CRYSTALLIZE_ACCESS_TOKEN_SECRETenvAccess Token Secret (paired with Access Token ID).CRYSTALLIZE_STATIC_AUTH_TOKENenvStatic auth token (alternative to token ID/secret pair). Read-only.CRYSTALLIZE_ACCESS_MODEenvControls which tools are available: 'read' (default, safe), 'write' (can create/update items), 'admin' (full access including webhooks).
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
할 수 있는 일
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
기본 점검i
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
- ✓ 통과
제작자와 저장소 일치
레지스트리 이름이 GitHub 계정 HayoDev 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
- … 아직 점검 안 함
계속 관리되고 있음
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
- … 아직 점검 안 함
라이선스 있음
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
- – 해당 없음
엔드포인트 응답
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
- – 해당 없음
OAuth로 로그인
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
- … 아직 점검 안 함
도구 설명에 숨겨진 지시 없음
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
온라인 쇼핑몰 및 결제 카테고리의 다른 서버와 비교i
- 이 카테고리의 다른 서버 1745개 중 0%보다 스타가 많아요
- 이 카테고리의 다른 서버 1745개 중 5%보다 최근에 레지스트리에 공개됐어요
- 기본 점검 결과가 이 카테고리의 다른 서버 1745개 중 100%와 같거나 더 좋아요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
자주 묻는 질문
Crystallize MCP, 안전한가요?
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
어떤 키나 코드가 필요한가요?
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
아직 관리되고 있나요?
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.2.0)은 7개월 전 레지스트리에 올라왔어요.
어떤 앱에서 쓸 수 있나요?
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
대신 쓸 수 있는 건 뭐가 있나요?
같은 카테고리에는: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
대안
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Stripe MCP
MCP server integrating with Stripe - tools for customers, products, payments, and more.
MCP Cn Commerce
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
제작자의 README
README 열기
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Crystallize MCP
MCP server for Crystallize headless commerce. Gives AI agents read and write access to your catalogue, products, shapes, orders, customers, and tenant config — with deep links back to the Crystallize UI, dry-run safety for mutations, and PII masking for customer data.
Works with Claude Code, Claude Desktop, Cursor, Windsurf, Copilot, and any MCP-compatible client.
Getting started
Setup wizard
The interactive wizard handles config, auth tokens, keychain storage, and PII mode in one step:
# Project-level — writes .mcp.json in the current directory (shared with your team)
npx @hayodev/crystallize-mcp --setup
Global — registers via claude mcp add (Claude Code) or writes Claude Desktop config
npx @hayodev/crystallize-mcp --setup --global
Manual config
Standard MCP config (works in any client):
{
"mcpServers": { "crystallize": { "command": "npx", "args": ["-y", "@hayodev/crystallize-mcp@latest"], "env": { "CRYSTALLIZE_TENANT_IDENTIFIER": "your-tenant" } } } }
Add CRYSTALLIZE_ACCESS_TOKEN_ID and CRYSTALLIZE_ACCESS_TOKEN_SECRET to the env block for PIM tools (shapes, orders, customers). See Authentication.
Claude Code (CLI)
claude mcp add crystallize \
-e CRYSTALLIZE_TENANT_IDENTIFIER=your-tenant \ -e CRYSTALLIZE_ACCESS_TOKEN_ID=your-token-id \ -e CRYSTALLIZE_ACCESS_TOKEN_SECRET=your-token-secret \ -- npx -y @hayodev/crystallize-mcp@latest
Use --scope project to write to .mcp.json (shared with your team) or --scope user for personal use across all projects.
Claude Desktop
Add the standard config to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows).
Cursor
Add the standard config to your Cursor MCP settings (~/.cursor/mcp.json or the project-level .cursor/mcp.json).
VS Code / GitHub Copilot
Add the standard config to .vscode/mcp.json in your project root.
{
"servers": { "crystallize": { "command": "npx", "args": ["-y", "@hayodev/crystallize-mcp@latest"], "env": { "CRYSTALLIZE_TENANT_IDENTIFIER": "your-tenant", "CRYSTALLIZE_ACCESS_TOKEN_ID": "your-token-id", "CRYSTALLIZE_ACCESS_TOKEN_SECRET": "your-token-secret" } } } }
Windsurf
Add the standard config to ~/.codeium/windsurf/mcp_config.json.
Gemini CLI
Add the standard config to ~/.gemini/settings.json.
JetBrains AI Assistant
Add the standard config to .junie/mcp.json in your project root.
Warp
Add the standard config to ~/.warp/mcp.json.
Raycast
Open "Install MCP Server" in Raycast and fill in:
- Command:
npx - Arguments:
-y @hayodev/crystallize-mcp@latest - Environment: add
CRYSTALLIZE_TENANT_IDENTIFIERand your token vars
Or copy the standard config JSON above before opening the command — Raycast will auto-fill the form.
From source (maintainers)
The --local flag is for developing crystallize-mcp itself. It writes .mcp.json pointing to the local build output — run this from the repo root only:
git clone https://github.com/HayoDev/crystallize-mcp.git
cd crystallize-mcp npm install && npm run build npx . --setup --local # writes .mcp.json pointing to ./build/
Or point your MCP client directly at the built entry point:
{
"mcpServers": { "crystallize": { "command": "node", "args": ["/path/to/crystallize-mcp/build/src/bin/crystallize-mcp.js"], "env": { "CRYSTALLIZE_TENANT_IDENTIFIER": "your-tenant" } } } }
Tools (16)
Catalogue (4 tools)
| Tool | Description |
|---|---|
browse_catalogue | Traverse the item tree by path |
get_item | Fetch an item by path or ID with full component data |
search_catalogue | Keyword search across all items |
get_product_variants | List variants with pricing and stock |
Discovery (3 tools)
| Tool | Description |
|---|---|
list_discovery_shapes | List all shapes with their queryable fields |
browse_shape | Browse items of a shape with filters, pagination, and field selection |
get_shape_fields | Detailed field info for a specific shape |
Shapes & Tenant (3 tools, requires auth)
| Tool | Description |
|---|---|
list_shapes | All shapes with component summaries |
get_shape | Full component definition for a shape |
get_tenant_info | Tenant configuration and available languages |
Orders (2 tools, requires auth)
| Tool | Description |
|---|---|
list_orders | List orders for a customer with pagination |
get_order | Full order details — cart, payments, customer, totals |
Customers (2 tools, requires auth)
| Tool | Description |
|---|---|
list_customers | Search and list customers with pagination |
get_customer | Full customer profile — addresses, meta, external references |
Content (2 tools, requires auth + write mode)
| Tool | Description |
|---|---|
create_item | Create a new item (product, document, or folder) with components |
update_component | Update a single component value — supports nested content chunks via dot notation (e.g. hero.title) |
Write tools
Write tools require CRYSTALLIZE_ACCESS_MODE=write (or admin) and a token with write permissions.
Dry-run mode
Set CRYSTALLIZE_DRY_RUN=true to preview mutations without executing them. The response shows exactly what would change — the mutation payload, before/after values, and a deep link to the item:
"env": {
"CRYSTALLIZE_ACCESS_MODE": "write", "CRYSTALLIZE_DRY_RUN": "true" }
Example prompts
Create an item:
"Create a new blog post under /blog using the article shape with title 'Getting Started'"
Update a top-level component:
"Find the item at /products/summer-collection and update its description to 'New summer arrivals'"
Update a component inside a content chunk:
"Get the item at /articles/my-post, then update hero.title to 'Updated Headline' and give me the deep link to review the draft"
Update with change summary:
"Get the item at /articles/guides/my-guide, update its title component to 'New Guide Title', give me the deep link, and show a table of which fields in the chunk changed vs remained unchanged with before/after values"
The agent will update the target component in draft only, preserve all sibling components in the chunk, and return a summary like:
| Component | Status | Before | After |
|---|---|---|---|
| title | ✏️ Updated | Old Guide Title | New Guide Title |
| image | Unchanged | _(existing image)_ | _(existing image)_ |
| description | Unchanged | _(existing text)_ | _(existing text)_ |
No publishing happens — you review the change in the Crystallize UI via the deep link and publish when ready.
Authentication
Catalogue and Discovery tools work without auth — just set CRYSTALLIZE_TENANT_IDENTIFIER.
For PIM tools (shapes, tenant info, orders, customers), create an access token at: https://app.crystallize.com/{tenant}/en/settings/access-tokens
Note: Crystallize tokens inherit permissions from the user who created them. To restrict an agent to read-only access, generate the token under a user with a read-only role. See Crystallize Roles.
Environment variables
| Variable | Required | Description |
|---|---|---|
CRYSTALLIZE_TENANT_IDENTIFIER | Yes | Your tenant identifier from app.crystallize.com/{tenant} |
CRYSTALLIZE_ACCESS_TOKEN_ID | No | Access token ID for PIM API |
CRYSTALLIZE_ACCESS_TOKEN_SECRET | No | Access token secret (paired with token ID) |
CRYSTALLIZE_STATIC_AUTH_TOKEN | No | Static auth token (alternative to ID/secret pair) |
CRYSTALLIZE_ACCESS_MODE | No | read (default), write, or admin — controls which tools are registered |
CRYSTALLIZE_DRY_RUN | No | true to preview write operations without executing — see Write tools |
CRYSTALLIZE_PII_MODE | No | full (default), masked, or none — controls PII in customer/order responses |
CRYSTALLIZE_AUDIT_LOG | No | Path to write an audit log — ~ is expanded (e.g. ~/.crystallize-mcp/audit.log) |
PII mode (opt-in)
By default all customer and order data is returned as-is (full). Set CRYSTALLIZE_PII_MODE to opt in to data minimisation:
| Mode | Behaviour |
|---|---|
full | Default — all fields returned unchanged |
masked | Emails → h***@example.com, phones → ***-1234, addresses → city + country only |
| none | Contact/PII fields stripped — names, emails, phones, addresses, meta
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요