search_encyclopedia
Find encyclopedia information on Naver by entering keywords, with options to navigate pages and sort results for comprehensive research.
Instructions
Searches for encyclopedia information on Naver using the given keyword. The page parameter allows for page navigation.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| display | No | ||
| page | No | ||
| sort | No | sim |
Implementation Reference
- server.py:434-437 (registration)MCP tool decorator registering the 'search_encyclopedia' tool with its description.@mcp.tool( name="search_encyclopedia", description="Searches for encyclopedia information on Naver using the given keyword. The page parameter allows for page navigation." )
- server.py:438-452 (handler)The handler function for the search_encyclopedia tool. It calculates pagination parameters, prepares the API request params, and delegates to the shared _make_api_call helper function for the Naver encyclopedia ('encyc.json') endpoint.async def search_encyclopedia(query: str, display: int = 10, page: int = 1, sort: str = "sim") -> str: """ Searches for encyclopedia information on Naver using the given keyword. The page parameter allows for page navigation. 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("encyc.json", params, EncycResult, "Encyclopedia")
- server.py:106-109 (schema)Pydantic schema for individual encyclopedia search result items.class EncycItem(BaseItem): thumbnail: Optional[str] = None description: Optional[str] = None
- server.py:133-133 (schema)Pydantic schema for the full encyclopedia search API response.class EncycResult(SearchResultBase): items: List[EncycItem]
- server.py:348-355 (helper)Helper function used by search_encyclopedia (and other tools) to compute the 'start' pagination parameter for Naver API calls.def calculate_start(page: int, display: int) -> int: """Calculates the start value for the API call based on the page number and display count.""" if page < 1: page = 1 start = (page - 1) * display + 1 # 네이버 API의 start 최대값(1000) 제한 고려 return min(start, 1000)