npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@appmonster/mcp-naver-commerce

v0.3.0

Published

MCP server for Naver Commerce API (Smart Store): products, stock, orders, customer inquiries. 네이버 커머스 API(스마트스토어) 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):

{
  "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:

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

| Tool | Access | What it does | | --- | --- | --- | | naver_list_products | read | List products with paging/filters (POST /v1/products/search) | | naver_get_product | read | Channel product detail incl. options and stock (GET /v2/products/channel-products/{no}) | | naver_update_stock | write | Change 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_orders | read | Orders changed since a time, with details (last-changed-statuses → query) | | naver_list_inquiries | read | Customer 1:1 inquiries in a date range (GET /v1/pay-user/inquiries) | | naver_upload_images | write | Upload images (URL/base64) to Naver → hosted URLs for product creation (POST /v1/product-images/upload) | | naver_create_product | write | Create 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

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