datalab_search
Analyze search keyword trends on Naver by specifying date ranges, keyword groups, and time units to identify patterns in user search behavior.
Instructions
Perform a trend analysis on Naver search keywords. (네이버 검색어 트렌드 분석)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| endDate | Yes | End date (yyyy-mm-dd) | |
| keywordGroups | Yes | Keyword groups | |
| startDate | Yes | Start date (yyyy-mm-dd) | |
| timeUnit | Yes | Time unit |
Implementation Reference
- src/handlers/datalab.handlers.ts:67-69 (handler)Core handler function that executes the datalab_search tool logic by calling the NaverSearchClient's searchTrend method.export async function handleSearchTrend(params: DatalabSearch) { return client.searchTrend(params); }
- src/schemas/datalab.schemas.ts:11-20 (schema)Zod schema (DatalabSearchSchema) defining input parameters for datalab_search: startDate, endDate, timeUnit, and keywordGroups.export const DatalabSearchSchema = DatalabBaseSchema.extend({ keywordGroups: z .array( z.object({ groupName: z.string().describe("Group name"), keywords: z.array(z.string()).describe("List of keywords"), }) ) .describe("Keyword groups"), });
- src/index.ts:268-281 (registration)MCP tool registration for 'datalab_search', linking schema and handler.server.registerTool( "datalab_search", { description: "📊 Analyze search keyword trends over time using Naver DataLab. Track popularity changes, seasonal patterns, and compare multiple keywords. Perfect for market research and trend analysis. For current trend analysis or 'recent trends', use get_current_korean_time to determine proper date ranges. (네이버 데이터랩 검색어 트렌드 분석, 현재 트렌드나 최근 동향 분석 시 get_current_korean_time으로 적절한 날짜 범위를 설정하세요)", inputSchema: DatalabSearchSchema.shape, }, async (args) => { const result = await datalabToolHandlers.datalab_search(args); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; } );
- src/handlers/datalab.handlers.ts:24-27 (handler)Entry point in datalabToolHandlers map that logs args and delegates to handleSearchTrend.datalab_search: (args) => { console.error("datalab_search called with args:", JSON.stringify(args, null, 2)); return handleSearchTrend(args); },
- NaverSearchClient method implementing the actual API POST request to DataLab search trend endpoint.async searchTrend(params: DatalabSearchRequest): Promise<any> { return this.post(`${this.datalabBaseUrl}/search`, params); }