Spree Commerce: open-source B2B and marketplace ecommerce
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server for the Shopify Admin API: products, orders, customers, inventory, discounts.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
SHOPIFY_STORE_DOMAIN, SHOPIFY_ACCESS_TOKEN, SHOPIFY_CLIENT_ID, SHOPIFY_CLIENT_SECRET, SHOPIFY_API_VERSION, SHOPIFY_API_BASE, SHOPIFY_TIMEOUT_MS, SHOPIFY_MAX_RETRIES, SHOPIFY_TOKEN_LEEWAY_SECONDSค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"shopify-admin": {
"command": "npx",
"args": [
"-y",
"mcp-shopify-admin"
],
"env": {
"SHOPIFY_STORE_DOMAIN": "ใส่ค่าของคุณ",
"SHOPIFY_ACCESS_TOKEN": "ใส่ค่าของคุณ",
"SHOPIFY_CLIENT_ID": "ใส่ค่าของคุณ",
"SHOPIFY_CLIENT_SECRET": "ใส่ค่าของคุณ",
"SHOPIFY_API_VERSION": "ใส่ค่าของคุณ",
"SHOPIFY_API_BASE": "ใส่ค่าของคุณ",
"SHOPIFY_TIMEOUT_MS": "ใส่ค่าของคุณ",
"SHOPIFY_MAX_RETRIES": "ใส่ค่าของคุณ",
"SHOPIFY_TOKEN_LEEWAY_SECONDS": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add shopify-admin --env SHOPIFY_STORE_DOMAIN='ใส่ค่าของคุณ' --env SHOPIFY_ACCESS_TOKEN='ใส่ค่าของคุณ' --env SHOPIFY_CLIENT_ID='ใส่ค่าของคุณ' --env SHOPIFY_CLIENT_SECRET='ใส่ค่าของคุณ' --env SHOPIFY_API_VERSION='ใส่ค่าของคุณ' --env SHOPIFY_API_BASE='ใส่ค่าของคุณ' --env SHOPIFY_TIMEOUT_MS='ใส่ค่าของคุณ' --env SHOPIFY_MAX_RETRIES='ใส่ค่าของคุณ' --env SHOPIFY_TOKEN_LEEWAY_SECONDS='ใส่ค่าของคุณ' -- npx -y mcp-shopify-adminเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"shopify-admin": {
"command": "npx",
"args": [
"-y",
"mcp-shopify-admin"
],
"env": {
"SHOPIFY_STORE_DOMAIN": "ใส่ค่าของคุณ",
"SHOPIFY_ACCESS_TOKEN": "ใส่ค่าของคุณ",
"SHOPIFY_CLIENT_ID": "ใส่ค่าของคุณ",
"SHOPIFY_CLIENT_SECRET": "ใส่ค่าของคุณ",
"SHOPIFY_API_VERSION": "ใส่ค่าของคุณ",
"SHOPIFY_API_BASE": "ใส่ค่าของคุณ",
"SHOPIFY_TIMEOUT_MS": "ใส่ค่าของคุณ",
"SHOPIFY_MAX_RETRIES": "ใส่ค่าของคุณ",
"SHOPIFY_TOKEN_LEEWAY_SECONDS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"shopify-admin": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-shopify-admin"
],
"env": {
"SHOPIFY_STORE_DOMAIN": "ใส่ค่าของคุณ",
"SHOPIFY_ACCESS_TOKEN": "ใส่ค่าของคุณ",
"SHOPIFY_CLIENT_ID": "ใส่ค่าของคุณ",
"SHOPIFY_CLIENT_SECRET": "ใส่ค่าของคุณ",
"SHOPIFY_API_VERSION": "ใส่ค่าของคุณ",
"SHOPIFY_API_BASE": "ใส่ค่าของคุณ",
"SHOPIFY_TIMEOUT_MS": "ใส่ค่าของคุณ",
"SHOPIFY_MAX_RETRIES": "ใส่ค่าของคุณ",
"SHOPIFY_TOKEN_LEEWAY_SECONDS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
SHOPIFY_CLIENT_ID envSHOPIFY_API_VERSION envSHOPIFY_API_BASE envSHOPIFY_TIMEOUT_MS envSHOPIFY_MAX_RETRIES envSHOPIFY_TOKEN_LEEWAY_SECONDS envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub A1-x-Tech ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: SHOPIFY_STORE_DOMAIN, SHOPIFY_ACCESS_TOKEN, SHOPIFY_CLIENT_SECRET
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.2.2) เข้า registry 7 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
server ทางการของ Stripe ให้ AI ดูและจัดการลูกค้า สินค้า การชำระเงิน และใบแจ้งหนี้ ต่อผ่านคลาวด์ของ Stripe และล็อกอินแบบ OAuth
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
English | Русский
A1 Shopify Admin MCP connects AI applications to one Shopify store through the Admin GraphQL API. Ask in plain language about products, orders, customers, inventory, discounts, and shop data; the assistant uses the server's ready-made tools and shows the result.
userErrors and rejects empty or malformed GraphQL responses.Start with a read-only request:
Show the latest orders and the products that currently have inventory.
Connect the server · Explore use cases · Open technical documentation
You: Show the latest orders and the products that currently have inventory.
Assistant: Shows recent orders with their statuses and totals, then products with prices and inventory. Nothing changes.
You: Prepare a 20% discount code called
SUMMERfor two weeks.
Assistant: Shows the proposed code, percentage, dates, and limits, then asks for confirmation before creating it.
You: Confirm.
You need Node.js 20+, a store domain such as my-store.myshopify.com, and Admin API credentials. The recommended set is the client ID and secret of a Shopify Dev Dashboard app: the server exchanges them for an access token itself and keeps that token fresh, which matters because the token Shopify issues for this grant expires after 24 hours. The app and the store must belong to the same Shopify organization.
The server runs locally over stdio through npx. Browser-only ChatGPT and Claude web sessions cannot start a local stdio process directly.
Every snippet below uses that pair. If your store still holds a ready-made token from an admin-created custom app, replace SHOPIFY_CLIENT_ID and SHOPIFY_CLIENT_SECRET with a single SHOPIFY_ACCESS_TOKEN — see Getting access.
Codex
Through the app:
npx -y mcp-shopify-admin@latest and set SHOPIFY_STORE_DOMAIN, SHOPIFY_CLIENT_ID, and SHOPIFY_CLIENT_SECRET.Through the CLI:
codex mcp add shopify-admin \
--env SHOPIFY_STORE_DOMAIN=my-store.myshopify.com \ --env SHOPIFY_CLIENT_ID=your_client_id \ --env SHOPIFY_CLIENT_SECRET=your_client_secret \ -- npx -y mcp-shopify-admin@latest
codex mcp list
Claude Code
claude mcp add \
--env SHOPIFY_STORE_DOMAIN=my-store.myshopify.com \ --env SHOPIFY_CLIENT_ID=your_client_id \ --env SHOPIFY_CLIENT_SECRET=your_client_secret \ --transport stdio --scope user shopify-admin \ -- npx -y mcp-shopify-admin@latest
claude mcp list
Claude Desktop
The current official path is Settings → Extensions. For a custom desktop extension, open Advanced settings → Extension Developer → Install Extension…, select a .mcpb file and follow the prompts.
This repository currently publishes an npm stdio package and does not contain a .mcpb bundle. For Claude Desktop builds that still support local configuration, use the following JSON stdio configuration as a fallback:
{
"mcpServers": { "shopify-admin": { "command": "npx", "args": ["-y", "mcp-shopify-admin@latest"], "env": { "SHOPIFY_STORE_DOMAIN": "my-store.myshopify.com", "SHOPIFY_CLIENT_ID": "your_client_id", "SHOPIFY_CLIENT_SECRET": "your_client_secret" } } } }
In those builds, save it to ~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows.
Claude Desktop MCP documentation
Cursor
Add this server to ~/.cursor/mcp.json on macOS/Linux or %USERPROFILE%\.cursor\mcp.json on Windows:
{
"mcpServers": { "shopify-admin": { "type": "stdio", "command": "npx", "args": ["-y", "mcp-shopify-admin@latest"], "env": { "SHOPIFY_STORE_DOMAIN": "my-store.myshopify.com", "SHOPIFY_CLIENT_ID": "your_client_id", "SHOPIFY_CLIENT_SECRET": "your_client_secret" } } } }
VS Code
Run MCP: Open User Configuration and add:
{
"inputs": [ { "type": "promptString", "id": "shopify_store_domain", "description": "Shopify store domain, for example my-store.myshopify.com" }, { "type": "promptString", "id": "shopify_client_id", "description": "Client ID of the Shopify Dev Dashboard app" }, { "type": "promptString", "id": "shopify_client_secret", "description": "Client secret of that app", "password": true } ], "servers": { "shopify-admin": { "type": "stdio", "command": "npx", "args": ["-y", "mcp-shopify-admin@latest"], "env": { "SHOPIFY_STORE_DOMAIN": "${input:shopify_store_domain}", "SHOPIFY_CLIENT_ID": "${input:shopify_client_id}", "SHOPIFY_CLIENT_SECRET": "${input:shopify_client_secret}" } } } }
Check the server with MCP: List Servers.
| Operation | What happens | Data boundary |
|---|---|---|
| Shop, products, orders, customers, locations, discounts | Reads store data | Read-only |
| Product fields or variant prices | Replaces the fields supplied in the request | Changes the storefront data |
| Inventory quantities | Sets the absolute available quantity | Changes product availability |
| Product or discount creation | Creates a new Shopify object | Creates data and cannot be undone automatically |
| Order cancellation | Cancels an order and can refund and/or restock | Destructive and irreversible |
graphql_request | Can run any Admin API query or mutation | Potentially destructive |
This server does not provide dedicated tools for creating orders, fulfillment, customer writes, variant creation, media, targeted discounts, or publishing products to sales channels. Use graphql_request only when you understand the document and its userErrors response.
The AI client may ask for confirmation before a write, but confirmation behavior belongs to that client. A clear request to create, update, set, or cancel authorizes the corresponding server operation.
The server authenticates in one of two ways: with the client ID and secret of a Dev Dashboard app, which it exchanges for an access token itself, or with a ready-to-use Admin API access token that it sends as-is. If both are configured, the ready-made token wins.
Shopify stopped allowing new admin-created custom apps on 2026-01-01, so this is the path for any store being set up today.
read_products, write_products, read_orders, read_customers, read_locations, write_inventory, read_discounts, and write_discounts.SHOPIFY_CLIENT_ID and SHOPIFY_CLIENT_SECRET.From there the server runs the client credentials grant against https://{store}.myshopify.com/admin/oauth/access_token on its own. The token Shopify returns lives 24 hours; the server keeps it in memory only — never on disk — re-mints it shortly before it expires, lets parallel tool calls share one exchange, and mints a fresh one if the API answers 401. Nothing to renew by hand.
The grant works only when the app and the store belong to the same Shopify organization. Otherwise Shopify refuses with shop_not_permitted, and the server relays that as a hint naming the organization mismatch. Re-issuing the credentials does not help: move the app into the store's organization, or use a store from it.
Apps created in the Shopify admin before 2026-01-01 keep working, and their token is still accepted. If you already maintain one:
read_products, write_products, `reaตัดมาแค่ช่วงต้น อ่านต่อใน repo