Naver Commerce

io.github.groove79由 GitHub 帳號 groove79 發布v0.3.0更新於 Oct 29, 2026

Naver Smart Store MCP: list products, read orders and inquiries, update stock. 네이버 스마트스토어 MCP 서버.

已驗證STDIO僅桌面效率與工作流商業與電商

概覽

AI 產生的概覽

面向 Naver Commerce API 的本機 MCP 伺服器,讓助理列出 Smart Store 商品、讀取訂單與客戶詢問、修改庫存並建立商品。

可以做什麼
  • 列出與檢視商品:以分頁和篩選瀏覽賣家的 Smart Store 商品,並依頻道商品編號取得含選項與庫存的完整詳情。
  • 讀取訂單與詢問:列出指定時間之後狀態有變動的產品訂單,以及依日期範圍列出客戶一對一詢問,可只顯示未回覆者。
  • 修改庫存:設定商品或其各選項的庫存數量。
  • 上傳圖片並建立商品:把商品圖片上傳到 Naver 取得託管網址,再建立新商品並上架販售。
適用情境
適合 Smart Store 賣家讓助理在對話中回答有哪些新訂單、哪些客戶詢問尚未回覆、某商品庫存多少,並完成日常的庫存調整與商品上架作業。
執行需求
透過 npx 在本機執行(需要 Node.js)。需要 Naver Commerce API 應用程式的用戶端 ID 與密鑰,分別以環境變數 NAVER_COMMERCE_CLIENT_ID 與 NAVER_COMMERCE_CLIENT_SECRET 提供。可選用 OKAGENT_API_KEY 進行 KakaoTalk 寫入核准,以及以 KMCP_WRITE_MODE 選擇 approval、confirm 或 direct 寫入方式。需要連線至 Naver Commerce API 的網路存取。
安裝前請注意
寫入類工具會變更線上商店且標示為不可逆:修改庫存、上傳圖片與建立商品,其中建立商品即使要求暫停狀態也會立即上架。寫入預設會先要求確認,或透過 OKAGENT_API_KEY 等待核准;設為 KMCP_WRITE_MODE=direct 會取消此確認步驟。用戶端密鑰屬於憑證,應只放在環境變數中。商品資料與圖片會傳送到 Naver 的 API。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Naver Commerce,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

@appmonster/mcp-naver-commerce

MCP server for the Naver Commerce API (Smart Store). Lets Claude, Cursor, ChatGPT and any MCP client list products, read orders, answer "any new orders?", and change stock — in Korean or English.

네이버 커머스 API(스마트스토어)용 MCP 서버. 에이전트가 상품·재고·주문·고객문의를 직접 다룹니다.

Install

Claude Desktop (claude_desktop_config.json):

json
{  "mcpServers": {    "naver-commerce": {      "command": "npx",      "args": ["-y", "@appmonster/mcp-naver-commerce"],      "env": {        "NAVER_COMMERCE_CLIENT_ID": "your-client-id",        "NAVER_COMMERCE_CLIENT_SECRET": "your-client-secret"      }    }  }}

Cursor (.cursor/mcp.json) — same block under "mcpServers".

Claude Code:

bash
claude mcp add naver-commerce -e NAVER_COMMERCE_CLIENT_ID=... -e NAVER_COMMERCE_CLIENT_SECRET=... -- npx -y @appmonster/mcp-naver-commerce

Get credentials at 커머스API센터 → 애플리케이션 등록. The secret is used as a bcrypt salt and never leaves your machine.

Tools

ToolAccessWhat it does
naver_list_productsreadList products with paging/filters (POST /v1/products/search)
naver_get_productreadChannel product detail incl. options and stock (GET /v2/products/channel-products/{no})
naver_update_stockwriteChange stock. No-option product: GET channel product → change stockQuantity → PUT /v2/products/channel-products/{no} whole (Naver has no stock-only API). Option product: PUT …/option-stock
naver_list_ordersreadOrders changed since a time, with details (last-changed-statuses → query)
naver_list_inquiriesreadCustomer 1:1 inquiries in a date range (GET /v1/pay-user/inquiries)
naver_upload_imageswriteUpload images (URL/base64) to Naver → hosted URLs for product creation (POST /v1/product-images/upload)
naver_create_productwriteCreate a product + smartstore channel product (POST /v2/products). Accepts the jp_listing_draft shape from the Japan bridge; statusType: SUSPENSION (or WAIT) to review before sale — Naver ignores the status on create and goes live, so the tool hides the channel product and follows up with a 판매중지 update, then returns the actual status

Write tools carry destructiveHint: true so clients can ask before running them. createServer({ approveWrite }) lets you plug in an external approval step.

Example prompts

  • "어제 이후 새로 결제된 주문 보여줘"
  • "'모자' 상품 재고를 0으로 바꿔줘" (asks first — it's a write)
  • "답변 안 한 고객문의 있어?"

Security

  • Credentials come only from env vars; nothing is stored or sent anywhere except api.commerce.naver.com.
  • Tokens are cached in memory and refreshed 60s before expiry.
  • Errors return Naver's code/message verbatim so the agent can explain what went wrong.

Develop

bash
pnpm install && pnpm -F @appmonster/mcp-naver-commerce build && pnpm -F @appmonster/mcp-naver-commerce test

MIT © Appmonster

Verified live (2026-10-21)

Against a real Smart Store: naver_upload_images (PNG → shop-phinf URL), naver_create_product with statusType: SUSPENSION → read back status: SUSPENSION, displayStatus: SUSPENSION → deleted. Findings baked into the tool: WAIT is rejected on create (mapped to SUSPENSION); deliveryInfo.deliveryCompany (택배사 코드, default CJGLS) is required; the status sent on create is ignored (product appears as SALE), hence the follow-up update. Re-run the check any time: node scripts/create-probe.mjs (creates one 판매중지 product and deletes it).

來源:packages/naver-commerce/README.md,提交 34ecf66

工具

7

naver_list_products

List products in the seller's Naver Smart Store with paging and optional filters (status, name, product numbers). 스마트스토어 상품 목록을 조회합니다. Use first to find channelProductNo/originProductNo before updating stock. Needs nothing but optional filters.

輸入參數pagesizeproductNameoriginProductNoschannelProductNosproductStatusTypes

naver_get_product

Get full detail of one channel product (name, price, options, stock, status) by channelProductNo — the number in the smartstore URL. 채널상품 상세를 조회합니다. Use to read option/stock before changing them. Needs channelProductNo.

輸入參數channelProductNo必填

naver_update_stock

Change stock quantity of a product or its options. For a product WITHOUT options pass channelProductNo + stockQuantity; for a product WITH options pass originProductNo + options[]. 상품/옵션 재고를 변경합니다. IRREVERSIBLE: changes the live store. Needs channelProductNo (no-option) or originProductNo (option product); both come from naver_list_products.

輸入參數optionsconfirm_tokenstockQuantityoriginProductNochannelProductNo

naver_list_orders

List product orders whose status changed since a time (default: last 24h) — new payments, cancellations, returns — then optionally fetch details. 변경된 상품주문 내역을 조회합니다. Use for 'any new orders?' questions. Needs nothing; lastChangedFrom optional (ISO 8601).

輸入參數withDetailslastChangedTolastChangedFromlastChangedType

naver_list_inquiries

List customer 1:1 inquiries (고객문의) in a date range, optionally only unanswered ones. 고객 문의 목록을 조회합니다. Use for 'any customer questions to answer?'. Needs nothing; defaults to last 7 days.

輸入參數pagesizeansweredendSearchDatestartSearchDate

naver_upload_images

Upload up to 10 product images (from https URLs or base64) to Naver and get back the Naver-hosted URLs that naver_create_product requires. JPG/PNG/GIF, ≤10MB each. 상품 이미지를 네이버 서버에 올리고 등록에 쓸 URL을 받습니다. Use before naver_create_product. Needs image URLs or base64 data.

輸入參數images必填confirm_token

naver_create_product

Create a new Smart Store product (origin product + smartstore channel product) and put it on sale. Accepts the draft shape from jp_listing_draft. Images must already be Naver-hosted (naver_upload_images). Returns originProductNo and channelProductNo. 스마트스토어에 새 상품을 등록합니다. IRREVERSIBLE: goes live immediately unless statusType is SUSPENSION. Needs leafCategoryId, name, detailContent, salePrice, stockQuantity, representative image URL, origin (원산지), A/S info, and 상품정보제공고시.

輸入參數name必填noticedeliverysaleTypebrandNamesalePrice必填originAreastatusTypeafterService必填confirm_tokendetailContent必填stockQuantity必填另有 8 個

版本歷史

3
  1. v0.3.0最新Oct 23, 2026
  2. v0.2.1Oct 21, 2026
  3. v0.2.0Oct 21, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分