Spree Commerce developer docs for AI agents
Spree Commerce docs for AI coding agents: build headless B2B and marketplace ecommerce on its APIs.
ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ
Crystallize headless commerce tools for AI agents via Model Context Protocolเลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผลตรวจผ่าน 2/3 · ทำงานบนเครื่องคุณ
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
วิธีขอคีย์อยู่ใน README ของผู้ทำด้านล่าง
SettingsDeveloperEdit Config
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ Crystallize MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ Crystallize MCP หรือมีชื่อเครื่องมือของ Crystallize MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ChatGPT ยังต่อ Crystallize MCP ไม่ได้
Crystallize MCP ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ
ก · ใช้แอปที่ต่อ Crystallize MCP ได้
ข · ตัวอื่นในหมวด ร้านค้าออนไลน์และรับเงิน ที่ต่อกับ ChatGPT ได้
เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์
ต่อกับ Claude Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Crystallize MCP (สร้างที่เว็บของผู้ทำ) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
วิธีขอคีย์อยู่ใน README ของผู้ทำด้านล่าง
Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
แก้ “ใส่ค่าของคุณ” เป็นคีย์ของคุณก่อนกด Enter
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ต้องเห็น Crystallize MCP ในรายการและขึ้นว่าเชื่อมต่อแล้ว
ใช้ Crystallize MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude Code บอกว่ากำลังใช้ Crystallize MCP หรือมีชื่อเครื่องมือของ Crystallize MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Cursor ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Crystallize MCP (สร้างที่เว็บของผู้ทำ) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
วิธีขอคีย์อยู่ใน README ของผู้ทำด้านล่าง
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
ในค่าตั้งของ Crystallize MCP ช่อง CRYSTALLIZE_TENANT_IDENTIFIER, CRYSTALLIZE_ACCESS_TOKEN_ID, CRYSTALLIZE_ACCESS_TOKEN_SECRET, CRYSTALLIZE_STATIC_AUTH_TOKEN, CRYSTALLIZE_ACCESS_MODE ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ Crystallize MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Cursor บอกว่ากำลังใช้ Crystallize MCP หรือมีชื่อเครื่องมือของ Crystallize MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ VS Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ Crystallize MCP (สร้างที่เว็บของผู้ทำ) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
วิธีขอคีย์อยู่ใน README ของผู้ทำด้านล่าง
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
ในค่าตั้งของ Crystallize MCP ช่อง CRYSTALLIZE_TENANT_IDENTIFIER, CRYSTALLIZE_ACCESS_TOKEN_ID, CRYSTALLIZE_ACCESS_TOKEN_SECRET, CRYSTALLIZE_STATIC_AUTH_TOKEN, CRYSTALLIZE_ACCESS_MODE ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ Crystallize MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า VS Code บอกว่ากำลังใช้ Crystallize MCP หรือมีชื่อเครื่องมือของ Crystallize MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
โปรแกรมอื่นที่ใช้ MCP ได้ เช่น Windsurf, Zed หรือ Gemini CLI มีวิธีเพิ่มต่างกัน ดูวิธีของแต่ละตัวในหน้ารวมโปรแกรม
ค่าตั้งแบบไฟล์ JSON อยู่ในหัวข้อ “สำหรับคนเขียนโค้ด” ด้านล่าง
Claude Code
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
Claude Desktop (claude_desktop_config.json)
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
Cursor (~/.cursor/mcp.json)
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
VS Code (mcp.json)
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
CRYSTALLIZE_TENANT_IDENTIFIER envCRYSTALLIZE_ACCESS_TOKEN_ID envCRYSTALLIZE_ACCESS_TOKEN_SECRET envCRYSTALLIZE_STATIC_AUTH_TOKEN envCRYSTALLIZE_ACCESS_MODE envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 13 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub HayoDev ซึ่งเป็นเจ้าของ repo
แก้โค้ดล่าสุด 7 เดือนที่ผ่านมา นานกว่า 6 เดือน
ใช้ MIT
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
ยังไม่มีรีวิว
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 2 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด 7 เดือนที่ผ่านมา และส่งรุ่นล่าสุด (0.2.0) เข้า registry 7 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spree Commerce developer docs for AI agents, Stripe MCP, Sessy — Amazon SES observability
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Spree Commerce docs for AI coding agents: build headless B2B and marketplace ecommerce on its APIs.
server ทางการของ Stripe ให้ AI ดูและจัดการลูกค้า สินค้า การชำระเงิน และใบแจ้งหนี้ ต่อผ่านคลาวด์ของ Stripe และล็อกอินแบบ OAuth
Read-only Amazon SES observability: search events, inspect bounces, pull delivery stats.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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.
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
claude mcp add (Claude Code) or writes Claude Desktop confignpx @hayodev/crystallize-mcp --setup --global
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:
npx-y @hayodev/crystallize-mcp@latestCRYSTALLIZE_TENANT_IDENTIFIER and your token varsOr 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" } } } }
| 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 |
| 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 |
| 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 |
| Tool | Description |
|---|---|
list_orders | List orders for a customer with pagination |
get_order | Full order details — cart, payments, customer, totals |
| Tool | Description |
|---|---|
list_customers | Search and list customers with pagination |
get_customer | Full customer profile — addresses, meta, external references |
| 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 require CRYSTALLIZE_ACCESS_MODE=write (or admin) and a token with write permissions.
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" }
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.
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.
| 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) |
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