Skip to main content
Glama
isnow890

Naver Search MCP Server

datalab_shopping_keywords

Analyze shopping keyword trends on Naver to identify market insights and consumer behavior patterns within specific timeframes and categories.

Instructions

Perform a trend analysis on Naver Shopping keywords. (네이버 쇼핑 키워드별 트렌드 분석)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
categoryYesCategory code
endDateYesEnd date (yyyy-mm-dd)
keywordYesArray of keyword name and value pairs
startDateYesStart date (yyyy-mm-dd)
timeUnitYesTime unit

Implementation Reference

  • Handler function that executes the core logic for datalab_shopping_keywords tool by mapping parameters and calling the Naver client API.
    /**
     * 쇼핑 키워드 트렌드 핸들러 (복수 키워드 그룹 지원)
     * 네이버 데이터랩 쇼핑 키워드 그룹 트렌드 분석 API 호출
     * @param params DatalabShoppingKeywords
     */
    export async function handleShoppingKeywordsTrend(
      params: DatalabShoppingKeywords
    ) {
      // 키워드 배열을 네이버 API에 맞는 형식으로 변환
      return client.datalabShoppingKeywords({
        startDate: params.startDate,
        endDate: params.endDate,
        timeUnit: params.timeUnit,
        category: params.category,
        keyword: params.keyword,
      });
    }
  • Zod schema defining input validation for the datalab_shopping_keywords tool parameters.
    export const DatalabShoppingKeywordsSchema = DatalabBaseSchema.extend({
      category: z.string().describe("Category code"),
      keyword: z
        .array(
          z.object({
            name: z.string().describe("Keyword name"),
            param: z.array(z.string()).describe("Keyword values"),
          })
        )
        .describe("Array of keyword name and value pairs"),
    });
  • src/index.ts:361-374 (registration)
    MCP tool registration for 'datalab_shopping_keywords' including description, input schema, and handler invocation.
    server.registerTool(
      "datalab_shopping_keywords",
      {
        description:
          "🔍 Compare specific keywords within a shopping category. Use find_category first. BUSINESS CASES: Product keyword optimization, competitor analysis, search trend identification. EXAMPLE: Within '패션' category, compare '원피스' vs '자켓' vs '드레스' trends. For current keyword trends, use get_current_korean_time to set proper analysis period. (카테고리 내 키워드 비교 - 먼저 find_category 도구로 카테고리 코드를 찾고, 현재 키워드 트렌드 분석시 get_current_korean_time으로 적절한 분석 기간 설정)",
        inputSchema: DatalabShoppingKeywordsSchema.shape,
      },
      async (args) => {
        const result = await datalabToolHandlers.datalab_shopping_keywords(args);
        return {
          content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
        };
      }
    );
  • Client method that makes the actual HTTP POST request to Naver DataLab API for shopping keywords trend analysis.
    /**
     * 쇼핑 키워드 트렌드 분석 메서드
     */
    async datalabShoppingKeywords(
      params: DatalabShoppingKeywordsRequest
    ): Promise<DatalabShoppingResponse> {
      return this.post(
        `${this.datalabBaseUrl}/shopping/category/keywords`,
        params
      );
    }
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions 'trend analysis' which implies a read-only operation, but doesn't disclose any behavioral traits like authentication requirements, rate limits, data freshness, or what the analysis output contains. For a data analysis tool with no annotation coverage, this leaves significant gaps in understanding how it behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with a single English sentence and a Korean translation. It's front-loaded with the core purpose. However, the Korean translation adds redundancy without additional information, slightly reducing efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and multiple sibling tools, the description is incomplete. It doesn't explain what the trend analysis returns (e.g., metrics, time series data), how it differs from other shopping keyword tools, or any prerequisites. For a data analysis tool with rich parameter requirements, more context is needed to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 5 parameters with descriptions. The description doesn't add any parameter-specific information beyond what's in the schema. It mentions 'keywords' generally but doesn't explain the keyword array structure or how category codes work. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs 'trend analysis on Naver Shopping keywords' with a Korean translation for clarity. It specifies the action ('trend analysis'), resource ('Naver Shopping keywords'), and domain context. However, it doesn't explicitly differentiate from sibling tools like 'datalab_shopping_keyword_by_age' or 'datalab_shopping_category', which appear to be related keyword analysis tools with different breakdowns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools like 'datalab_shopping_by_age', 'datalab_shopping_keyword_by_gender', and 'search_shop', there's no indication of whether this is the primary keyword analysis tool or how it differs from others that might also analyze shopping keywords with demographic filters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Related Tools

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

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