Skip to main content
Glama
isnow890

Naver Search MCP Server

datalab_shopping_by_age

Analyze Naver Shopping trends by age group, category, and time period to identify purchasing patterns and consumer preferences for targeted insights.

Instructions

Perform a trend analysis on Naver Shopping by age. (네이버 쇼핑 연령별 트렌드 분석)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
agesYesAge groups
categoryYesCategory code
endDateYesEnd date (yyyy-mm-dd)
startDateYesStart date (yyyy-mm-dd)
timeUnitYesTime unit

Implementation Reference

  • Core handler function that processes the tool arguments and delegates to the NaverSearchClient's datalabShoppingByAge method
    export async function handleShoppingByAgeTrend(params: DatalabShoppingAge) {
      return client.datalabShoppingByAge({
        startDate: params.startDate,
        endDate: params.endDate,
        timeUnit: params.timeUnit,
        category: params.category,
        ages: params.ages,
      });
    }
  • Zod schema defining the input parameters for the datalab_shopping_by_age tool: category code and array of age groups (10-60) on top of base dates and timeUnit
    export const DatalabShoppingAgeSchema = DatalabBaseSchema.extend({
      category: z.string().describe("Category code"),
      ages: z
        .array(z.enum(["10", "20", "30", "40", "50", "60"]))
        .describe("Age groups"),
    });
  • src/index.ts:340-359 (registration)
    MCP server tool registration including name, description, inputSchema (derived from DatalabShoppingAgeSchema), and handler dispatcher to datalabToolHandlers
    server.registerTool(
      "datalab_shopping_by_age",
      {
        description:
          "👶👦👨👴 Analyze shopping trends by age groups (10s, 20s, 30s, 40s, 50s, 60s+). Use find_category first. BUSINESS CASES: Age-targeted products, generational preferences, lifecycle marketing. EXAMPLE: '개발 도구는 어느 연령대가 많이 구매하나?' For current age trends, use get_current_korean_time to set proper analysis period. (연령별 쇼핑 트렌드 - 먼저 find_category 도구로 카테고리 코드를 찾고, 현재 연령 트렌드 분석시 get_current_korean_time으로 적절한 분석 기간 설정)",
        inputSchema: DatalabShoppingAgeSchema.pick({
          startDate: true,
          endDate: true,
          timeUnit: true,
          category: true,
          ages: true,
        }).shape,
      },
      async (args) => {
        const result = await datalabToolHandlers.datalab_shopping_by_age(args);
        return {
          content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
        };
      }
    );
  • NaverSearchClient method that performs the actual POST request to Naver Datalab API endpoint for shopping trends by age
    async datalabShoppingByAge(
      params: DatalabShoppingAgeRequest
    ): Promise<DatalabShoppingResponse> {
      return this.post(`${this.datalabBaseUrl}/shopping/category/age`, params);
    }
  • Dispatcher entry in datalabToolHandlers map that logs args and calls the core handleShoppingByAgeTrend function
    datalab_shopping_by_age: (args) => {
      console.error("datalab_shopping_by_age called with args:", JSON.stringify(args, null, 2));
      return handleShoppingByAgeTrend(args);
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool performs 'trend analysis' but doesn't describe what that entails—whether it returns aggregated data, visualizations, or statistical insights. It also omits information about rate limits, authentication needs, or data freshness, which are critical for a data analysis tool.

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 a single, efficient sentence that front-loads the core purpose. The Korean translation adds redundancy but may aid clarity for Korean-speaking users. No extraneous information is included, making it appropriately concise.

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?

For a data analysis tool with 5 required parameters and no output schema, the description is insufficient. It doesn't explain the output format (e.g., time-series data, charts), data granularity, or how results are structured. Without annotations or output schema, users lack critical context to interpret results 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 fully documents all parameters. The description adds no additional meaning beyond implying 'trend analysis' involves the parameters, but doesn't explain how they interact (e.g., how ages affect trends over time). Baseline 3 is appropriate as the 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 action ('perform a trend analysis') and resource ('Naver Shopping by age'), with the Korean translation reinforcing the purpose. It distinguishes from some siblings (e.g., datalab_shopping_by_device) by specifying 'by age', but doesn't explicitly differentiate from datalab_shopping_keyword_by_age, which is a similar but distinct tool.

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?

No guidance is provided on when to use this tool versus alternatives. It doesn't mention sibling tools like datalab_shopping_by_gender or datalab_shopping_keyword_by_age, nor does it specify prerequisites or appropriate contexts for trend analysis versus other shopping-related tools.

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