Skip to main content
Glama
jikime

Naver Search MCP Server

search_shop

Find shopping products on Naver by entering keywords. Filter results by relevance, date, or price, and navigate through pages to compare options.

Instructions

Searches for shopping product information on Naver using the given keyword. The page parameter allows for page navigation and sort='sim'/'date'/'asc'/'dsc' is supported.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYes
displayNo
pageNo
sortNosim

Implementation Reference

  • Full handler implementation for the 'search_shop' MCP tool, including decorator registration, parameter handling, pagination calculation, and invocation of the shared Naver API caller with shop-specific endpoint and schema.
    @mcp.tool( name="search_shop", description="Searches for shopping product information on Naver using the given keyword. The page parameter allows for page navigation and sort='sim'/'date'/'asc'/'dsc' is supported." ) async def search_shop(query: str, display: int = 10, page: int = 1, sort: str = "sim") -> str: """ Searches for shopping product information on Naver using the given keyword. The page parameter allows for page navigation and sort='sim'/'date'/'asc'/'dsc' is supported. Args: query (str): The keyword to search for display (int, optional): The number of results to display. Default is 10. page (int, optional): The starting page number. Default is 1. sort (str, optional): The sorting criteria. Default is "sim" (similarity). """ start = calculate_start(page, display) display = min(display, 100) params = {"query": query, "display": display, "start": start, "sort": sort} return await _make_api_call("shop.json", params, ShopResult, "Shopping")
  • Pydantic model defining the structure of individual shop search result items, used in ShopResult.
    class ShopItem(BaseItem): image: Optional[str] = None lprice: Optional[str] = None hprice: Optional[str] = None mallName: Optional[str] = None productId: Optional[str] = None productType: Optional[str] = None maker: Optional[str] = None brand: Optional[str] = None category1: Optional[str] = None category2: Optional[str] = None category3: Optional[str] = None category4: Optional[str] = None
  • Pydantic model for the complete shop search response from Naver API, extending SearchResultBase with List[ShopItem].
    class ShopResult(SearchResultBase): items: List[ShopItem]
  • ShopItem-specific field formatting logic within the shared _make_api_call helper function, which formats API responses into readable text.
    if hasattr(item, 'image') and item.image: text_result += f"이미지(image): {item.image}\n" if hasattr(item, 'lprice') and item.lprice: text_result += f"최저가(lprice): {item.lprice}\n" if hasattr(item, 'hprice') and item.hprice: text_result += f"최고가(hprice): {item.hprice}\n" if hasattr(item, 'mallName') and item.mallName: text_result += f"쇼핑몰명(mallName): {item.mallName}\n" if hasattr(item, 'brand') and item.brand: text_result += f"브랜드(brand): {item.brand}\n" if hasattr(item, 'maker') and item.maker: text_result += f"제조사(maker): {item.maker}\n" if hasattr(item, 'category1') and item.category1: text_result += f"카테고리1(category1): {item.category1}\n" if hasattr(item, 'category2') and item.category2: text_result += f"카테고리2(category2): {item.category2}\n" if hasattr(item, 'category3') and item.category3: text_result += f"카테고리3(category3): {item.category3}\n" if hasattr(item, 'category4') and item.category4: text_result += f"카테고리4(category4): {item.category4}\n"

Latest Blog Posts

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/jikime/py-mcp-naver-search'

If you have feedback or need assistance with the MCP directory API, please join our Discord server