Naver Commerce

io.github.groove79Published by GitHub account groove79v0.3.0Updated Oct 29, 2026

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

Overview

AI-generated overview

Local MCP server for the Naver Commerce API that lets an assistant list Smart Store products, read orders and inquiries, change stock, and create products.

What you can do
  • List and read products: browse the seller's Smart Store catalog with paging and filters, and fetch full detail of one channel product including options and stock.
  • Read orders and inquiries: list product orders whose status changed since a given time, and list customer 1:1 inquiries, optionally only unanswered ones.
  • Change stock: set stock quantity for a product or for its individual options.
  • Upload images and create products: push product images to Naver and get hosted URLs, then create a new product and put it on sale.
When to use it
Useful for Smart Store sellers who want an assistant to answer questions like what new orders came in, which customer inquiries are unanswered, or what stock a product has, and to make routine stock and listing changes from chat.
Requirements
Runs locally via npx (Node.js). Needs a Naver Commerce API application client ID and client secret, supplied as the NAVER_COMMERCE_CLIENT_ID and NAVER_COMMERCE_CLIENT_SECRET environment variables. Optionally OKAGENT_API_KEY for KakaoTalk-based write approval, and KMCP_WRITE_MODE to choose approval, confirm or direct write behavior. Network access to the Naver Commerce API.
Before you install
Write tools change the live store and are marked irreversible: stock updates, image uploads and product creation, which goes live immediately even when a suspended status is requested. Writes ask for confirmation by default, or wait for approval via OKAGENT_API_KEY; KMCP_WRITE_MODE=direct removes that gate. The client secret is a credential and should stay in environment variables. Product data and images are sent to Naver's API.

Installation

In SourceWeft

  1. Open Naver Commerce in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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).

Source: packages/naver-commerce/README.md at commit 34ecf66

Tools

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.

ParameterspagesizeproductNameoriginProductNoschannelProductNosproductStatusTypes

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.

ParameterschannelProductNorequired

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.

Parametersoptionsconfirm_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).

ParameterswithDetailslastChangedTolastChangedFromlastChangedType

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.

ParameterspagesizeansweredendSearchDatestartSearchDate

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.

Parametersimagesrequiredconfirm_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 상품정보제공고시.

ParametersnamerequirednoticedeliverysaleTypebrandNamesalePricerequiredoriginAreastatusTypeafterServicerequiredconfirm_tokendetailContentrequiredstockQuantityrequired+8 more

Version history

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

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts