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 分