korea-shopping-mcp
Provides integration with Naver Shopping APIs, enabling product search, price comparison, shopping trends via DataLab, and local result storage.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@korea-shopping-mcp10만원대 기계식 키보드만 보여줘"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
korea-shopping-mcp
Claude Code 안에서 자연어로 한국 이커머스(네이버 쇼핑) 상품을 검색·가격비교·트렌드 조회·로컬 저장하게 해주는 MCP 서버입니다. 네이버 쇼핑 검색 API와 DataLab 쇼핑인사이트 API만 사용하는 검색 전용 서버로, 안전하고 빠릅니다(장바구니/결제·크롤링은 하지 않습니다).
제공 도구
도구 | 설명 |
| 키워드로 상품 검색. 정렬(연관도/최신/최저가/최고가), 가격대 필터, 중고·렌탈·해외직구 제외, 네이버페이 필터. |
| 검색어 2~5개를 한 번에 비교(검색어별 최저가·가격대·대표 쇼핑몰). |
| DataLab 쇼핑인사이트로 카테고리별 상대 트렌드 추이(0~100). ⚠️ 실시간 인기검색어 순위가 아님. |
| 직전(또는 지정) 검색/비교/트렌드 결과를 마크다운/JSON 파일로 저장(위시리스트). |
Related MCP server: mcp-server-naver-search
1. 네이버 API 키 발급 (필수)
각 사용자가 본인 키를 발급받아 사용합니다.
네이버 개발자센터에 로그인합니다.
Application → 애플리케이션 등록에서 새 앱을 만듭니다.
사용 API에 다음 두 가지를 모두 추가합니다:
검색 (쇼핑 검색용)
데이터랩(쇼핑인사이트) (트렌드용)
등록 후 발급되는 Client ID와 Client Secret을 복사합니다.
호출 한도: 검색 25,000회/일, 데이터랩 1,000회/일 (Client ID 기준).
2. 설치 (Claude Code)
발급받은 키를 --env로 주입해 등록합니다. 키는 본인 PC의 환경변수에만 저장되며 외부로 전송되지 않습니다.
claude mcp add --scope user \
--env NAVER_CLIENT_ID=발급받은ID \
--env NAVER_CLIENT_SECRET=발급받은SECRET \
korea-shopping-mcp -- npx -y korea-shopping-mcp등록 확인:
claude mcp list
# korea-shopping-mcp ✓ Connected 이면 정상3. 환경변수
변수 | 필수 | 설명 |
| ✅ | 네이버 앱 Client ID |
| ✅ | 네이버 앱 Client Secret |
| ❌ | 저장 파일 위치. 기본값: |
4. 사용 예시 (자연어 프롬프트)
"샤오미 보조배터리 최저가 5개 찾아줘"
"로지텍 MX 마스터와 애플 매직마우스 가격 비교해줘"
"10만원대 기계식 키보드만 보여줘" (가격대 필터)
"최근 3개월 디지털/가전과 식품 카테고리 트렌드 보여줘"
"방금 결과를 마크다운 파일로 저장해줘"
한계 (범위 밖)
장바구니 담기·결제 등 구매 행동은 하지 않습니다(검색·비교 전용).
쿠팡·G마켓·11번가 등 네이버 외 플랫폼은 공식 API 제약으로 미지원.
트렌드는 상대 추이일 뿐, "실시간 인기검색어 순위"가 아닙니다.
개발
npm install
npm test # 단위 테스트 (vitest)
npm run build # dist/ 생성로컬에서 빌드 산출물로 직접 등록해 개발할 때:
claude mcp add --scope user \
--env NAVER_CLIENT_ID=... --env NAVER_CLIENT_SECRET=... \
korea-shopping-mcp -- node "<프로젝트 경로>/dist/index.js"stdio 서버이므로 코드에서
console.log사용 금지(스트림 오염). 로깅은console.error만.
라이선스
MIT
Available Tools
4 toolscompare_products상품 가격 비교ARead-only
여러 후보 검색어(2~5개)를 한 번에 검색해 검색어별 최저가·가격대·대표 쇼핑몰을 비교 표로 보여줍니다. 'A vs B' 같은 구조적 비교에 사용하세요.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | 정렬: 기본 asc(최저가순) | asc |
| queries | Yes | 비교할 검색어 2~5개 | |
| perQuery | No | 검색어당 가져올 상품 수 (기본 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=true, indicating a safe read operation. The description adds that the output is a comparison table including price range and representative mall, giving useful behavioral context without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the action and outcome. The first sentence explains the functionality and the second gives a clear usage example. No wasteful repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the tool's purpose, usage, and output structure (comparison table with specific elements). Annotations cover safety, and schema covers parameters. It lacks only nuances like pagination or edge cases, but for a read-only comparison tool, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (queries, sort, perQuery) having its own description. The tool description does not add extra parameter semantics beyond what the schema already provides, which is the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool searches multiple candidate queries (2-5) and displays a comparison table of lowest price, price range, and representative shopping mall. This distinctively separates it from sibling tools like search_products (single search) or shopping_trends, satisfying 'specific verb+resource+scope'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly instructs to use for structured comparisons like 'A vs B', providing concrete usage context. It does not explicitly name alternatives or exclusions, but the comparison use case is sufficiently clear and differentiates from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_results결과 로컬 저장A
직전(또는 resultId로 지정한) 검색/비교/트렌드 결과를 마크다운 또는 JSON 파일로 로컬에 저장합니다. 위시리스트/기록 용도로 사용하세요.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | 저장 형식 (기본 markdown) | markdown |
| filename | No | 파일명(확장자 생략 가능). 생략 시 자동 생성 | |
| resultId | No | 저장할 결과 id(예: search-1). 생략 시 가장 최근 결과를 저장 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations by explaining the result selection logic (most recent or specified by resultId) and the file saving action. However, it does not disclose potential side effects such as overwriting existing files, behavior when no result exists, or return values. Annotations only provide readOnlyHint=false, which is already implied by 'saves', so the description adds limited new behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with the first sentence front-loading the core function and the second providing the intended use case. Every word is purposeful, with no redundant or vague phrasing, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, result selection logic, output formats, and use case, which is sufficient for an agent to understand how to invoke it. It lacks details about error handling, return values, or overwriting behavior, but given the simple nature of the tool and the comprehensive schema descriptions, the description is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for all three parameters, including format, filename, and resultId. The tool description mentions '직전(또는 resultId로 지정한)' which aligns with the resultId schema description, but does not add any additional parameter semantics beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('저장합니다' - saves) and resource (search/comparison/trend results) to a local file, with explicit formats (markdown or JSON). This clearly distinguishes it from sibling tools like search_products, compare_products, and shopping_trends, which generate results rather than save them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says '위시리스트/기록 용도로 사용하세요' (use for wishlist/record purposes), giving a clear context for when to use the tool. It does not explicitly mention when not to use it or name alternatives, but the intended use case is specific and helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_products네이버 쇼핑 상품 검색ARead-only
네이버 쇼핑 공식 API로 한국 이커머스 상품을 검색합니다. 상품명·최저가·쇼핑몰·카테고리·링크를 마크다운 표로 반환합니다. 가격 비교와 초기 탐색 단계에서 사용하세요.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | 정렬: sim 연관도, date 최신순, asc 최저가순, dsc 최고가순 | sim |
| limit | No | 반환 개수 (1~100, 기본 10) | |
| query | Yes | 상품 검색 키워드 (예: '로지텍 무선 마우스') | |
| start | No | 페이지네이션 시작 위치 (1~1000) | |
| exclude | No | 제외할 상품 유형: used 중고 / rental 렌탈 / overseas 해외직구 | |
| maxPrice | No | 최고 가격 필터(원). 서버측 적용 | |
| minPrice | No | 최저 가격 필터(원). 서버측 적용 | |
| naverPayOnly | No | 네이버페이 연동 상품만 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety and scope. The description adds behavioral detail by specifying the exact output format (markdown table with listed fields) and official API nature, which is useful beyond the annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and resource, and no filler. Every word adds value, explaining what it does, what it returns, and when to use it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters and no output schema, the description covers the return format and usage context well. It does not discuss pagination or filter combination, but the schema covers parameter details, and the description is sufficiently complete for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all parameters (query, sort, limit, start, exclude, maxPrice, minPrice, naverPayOnly) having descriptive Korean labels in the schema. The description does not add parameter-level meaning, but the schema already provides it, so the baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb '검색합니다' (search) identifies the action, and the description lists return fields (상품명·최저가·쇼핑몰·카테고리·링크) as a markdown table. It clearly differs from siblings like compare_products and shopping_trends by focusing on general search and initial exploration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states '가격 비교와 초기 탐색 단계에서 사용하세요' (use for price comparison and initial exploration), giving clear context for when to use. It does not mention when not to use or name alternatives, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shopping_trends쇼핑 카테고리 트렌드ARead-only
네이버 DataLab 쇼핑인사이트로 카테고리별 상대 트렌드 추이(0~100 정규화)를 조회합니다. 주의: 절대 판매량이나 '실시간 인기검색어 순위'가 아니라, 지정한 기간/카테고리의 상대적 추이입니다.
| Name | Required | Description | Default |
|---|---|---|---|
| ages | No | 연령대 코드 배열 (예: ['10','20']) | |
| device | No | 기기: pc 또는 mo(모바일). 생략 시 전체 | |
| gender | No | 성별: m 또는 f. 생략 시 전체 | |
| endDate | Yes | 조회 종료일 yyyy-mm-dd | |
| timeUnit | No | 집계 단위 (기본 month) | month |
| startDate | Yes | 조회 시작일 yyyy-mm-dd | |
| categories | Yes | 카테고리 이름 또는 코드 1~5개 (예: '디지털/가전' 또는 '50000003') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The read-only annotation is already present, but the description adds valuable behavioral context: the output is normalized 0-100 relative trend, not absolute values. This helps prevent misuse and goes beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured sentence with a clear caution. It is front-loaded, concise, and every word adds value without repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich schema and read-only annotation, the description is fairly complete. It explains the core behavior and caveat. It doesn't mention response format or limits, but these are not critical given the schema clarity and the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add parameter-specific details beyond the schema; it only mentions that categories are queried, but the schema already covers all parameter meanings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries Naver DataLab Shopping Insight for category-specific relative trend trends normalized 0-100. It explicitly differentiates from absolute sales volume and real-time popular search ranking, distinguishing it from potential sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this for relative category trends over a specified period. It warns against misinterpreting as absolute sales or real-time rankings, which implies when not to use it, though it does not explicitly name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v0.1.0- First observed
compare_products - First observed
save_results - First observed
search_products - First observed
shopping_trends
TDQS
The tools are mostly distinct: search_products performs a single detailed search, compare_products compares multiple search terms, shopping_trends provides trend data, and save_results persists results. However, compare_products and search_products both return product listings and could be confused for simple queries, though the descriptions clarify the intended use.
Three tools follow a clear verb_noun pattern (compare_products, search_products, save_results), but shopping_trends deviates as a noun phrase instead of a verb-based name. This is a minor inconsistency in an otherwise predictable naming scheme.
With only 4 tools, the server is well-scoped for its purpose. Each tool serves a distinct function in the shopping workflow—search, compare, trend analysis, and saving—and no tool feels redundant or missing from the core set.
The tool set covers the primary workflows: searching, comparing, and analyzing trends, plus persisting results. A minor gap is the lack of a way to retrieve or list previously saved results through the MCP, but this can be worked around by reading local files or using resultId references.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Cross-merchant product search with real price history, comparisons, and demand signals.
AI-powered product search, affiliate links, and price negotiation for e-commerce platforms
Search and get fashion products recommendations across multiple e-ecom stores
나만을 위한 AI 쇼핑 MCP — 상품을 자연어로 검색·비교·추천해 사용자의 효과적인 쇼핑을 돕습니다.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides access to Naver Search APIs, allowing AI agents to search across multiple categories (blogs, news, books, images, shopping items, etc.) with structured responses optimized for LLM consumption.134Apache 2.0
- AlicenseAqualityCmaintenanceSearch Naver (Korea's #1 search engine) for shopping prices, real-time news, and blogs. Perfect for Korean local information.11MIT
- AlicenseAqualityCmaintenanceEnables searching and retrieving product information from Coupang (Korean e-commerce) via affiliate API, including product search, details, category bestsellers, and affiliate link generation.3MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to search and compare Korean PC parts prices from Danawa and Compuzone, build assembly estimates with automatic compatibility checks, and track price history.111410MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AIAgentStudy/mcp_study'
If you have feedback or need assistance with the MCP directory API, please join our Discord server