Skip to main content
Glama
Whitening-Sinabro

korean-keyword-mcp

korean-keyword-mcp

MCP server for Korean keyword niche analysis. The only MCP server that exposes Naver SearchAd API data (CPC competition, click rates) for keyword research.

Why This Exists

Feature

korean-keyword-mcp

Other Naver MCP servers

SearchAd API (CPC, competition index)

YES

NO

Niche scoring (0-100, A-F grade)

YES

NO

Blog competition deep analysis

YES

Basic search only

Keyword expansion + scoring

YES

NO

Batch comparison analysis

YES

NO

Trending keyword discovery

YES

NO

Related MCP server: Korean Patent MCP

Tools (7)

Tool

Description

keyword_expand

Expand seed keyword → 50+ related keywords with Quick Score + top N Full Score

niche_score

Single keyword full niche analysis (0-100 score + A-F grade)

search_volume

Naver SearchAd monthly search volume (PC/mobile split, competition index)

trend

Naver DataLab 12-month search trend (monthly relative values 0-100)

blog_competition

Blog competition analysis (total results + top 10 posts)

batch_analyze

Batch niche analysis for up to 10 keywords with sorted comparison

trending_discover

Discover rising-trend keywords from seed keyword's related keywords

Scoring Algorithm

Full Niche Score (100 points)

Component

Weight

Source

Volume

20

SearchAd API — sweet spot: 1K-30K searches

Competition

30

Blog total results + blogger diversity

Freshness

15

Average post age (older = less competition)

Trend

20

12-month linear regression slope

Efficiency

15

Search volume / blog post ratio

Grades: A (75+), B (60+), C (45+), D (30+), F (<30)

Setup

1. Get Naver API Keys

You need two sets of API credentials:

Naver SearchAd API (for search volume, CPC, competition):

  1. Go to Naver SearchAd

  2. Create an account → Tools → API License

  3. Note your Customer ID, API Key, and Secret Key

Naver Developer API (for DataLab trends, blog search):

  1. Go to Naver Developers

  2. Register application → Select "Search" and "DataLab" APIs

  3. Note your Client ID and Client Secret

2. Configure Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "korean-keyword": {
      "command": "npx",
      "args": ["-y", "korean-keyword-mcp"],
      "env": {
        "NAVER_SEARCHAD_CUSTOMER_ID": "your-customer-id",
        "NAVER_SEARCHAD_API_KEY": "your-api-key",
        "NAVER_SEARCHAD_SECRET_KEY": "your-secret-key",
        "NAVER_CLIENT_ID": "your-client-id",
        "NAVER_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

3. Verify

Restart Claude Desktop. You should see "korean-keyword" in the MCP servers list with 7 tools available.

Example Usage

Once connected, you can ask Claude:

  • "Analyze the niche potential of '캠핑의자'" → uses niche_score

  • "Find niche keywords related to '다이어트'" → uses keyword_expand

  • "Compare these keywords: 캠핑의자, 캠핑테이블, 캠핑조명" → uses batch_analyze

  • "What keywords related to '캠핑' are trending up?" → uses trending_discover

  • "How much search volume does '에어프라이어' get?" → uses search_volume

Environment Variables

Variable

Required

Description

NAVER_SEARCHAD_CUSTOMER_ID

Yes

SearchAd API customer ID

NAVER_SEARCHAD_API_KEY

Yes

SearchAd API key

NAVER_SEARCHAD_SECRET_KEY

Yes

SearchAd API secret

NAVER_CLIENT_ID

Yes

Naver Developer client ID

NAVER_CLIENT_SECRET

Yes

Naver Developer client secret

License

MIT

Available Tools

7 tools
batch_analyzeA

Batch niche analysis for up to 10 keywords. Calculates full niche score for each keyword in parallel and returns a sorted comparison table. Useful for comparing multiple keyword candidates at once.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordsYesList of keywords to analyze (1-10)

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden. It discloses meaningful behavior: calculations happen in parallel, each keyword receives a full niche score, and results are returned as a sorted comparison table. It does not discuss side effects or data persistence, but this tool is clearly an analytical read operation.

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

Conciseness5/5

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

Three short, focused sentences front-load the core purpose and return behavior. Every sentence earns its place, and there is no redundant restating of the schema.

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

Completeness5/5

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

The tool has one simple parameter, no annotations, and no output schema, so the description must carry the full explanatory load. It does so by covering input limits, processing behavior, and the return format in a complete and usable way.

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 coverage is 100%, so the single 'keywords' parameter is already well documented. The description adds modest context by noting the batch nature and the 10-keyword limit, but it does not materially extend the schema's explanation of the parameter.

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

Purpose5/5

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

The description states a clear verb and resource: batch niche analysis for up to 10 keywords. It also explains what it produces (a full niche score per keyword and a sorted comparison table), making it easy to distinguish from a single-keyword tool like niche_score.

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

Usage Guidelines4/5

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

The phrase 'Useful for comparing multiple keyword candidates at once' provides clear context for when to use the batch tool. It does not explicitly name alternatives like niche_score for single-keyword analysis, but the intended use case is strongly implied.

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

blog_competitionB

Analyze blog competition for a keyword using Naver Search API. Returns total blog post count and top 10 posts with metadata (title, blogger, date).

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYesKeyword to search

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral disclosure burden. It does state that it uses Naver Search API and specifies the returned data, which is useful. However, it does not mention potential caveats like API rate limits, authentication needs, ranking criteria for 'top' posts, or whether results are live vs cached.

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

Conciseness5/5

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

The description is two short sentences with no filler. It front-loads the tool's main purpose and immediately follows with the return value details, making it easy for an agent to parse quickly.

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

Completeness4/5

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

For a single-parameter tool with no output schema, the description provides enough detail to call it correctly: input is keyword, output is total count plus top 10 posts with specified fields. It is slightly incomplete only because it does not define what 'top' means or mention any output format, but this does not block successful invocation.

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 coverage is 100% with a single 'keyword' parameter already described as 'Keyword to search'. The description adds no additional parameter semantics beyond what the schema provides, which is acceptable given complete schema coverage.

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 uses a specific verb ('Analyze') with a clear resource ('blog competition for a keyword') and explicitly states the output: total post count and top 10 posts with metadata. It is clear enough to distinguish from siblings like search_volume or keyword_expand, though it does not explicitly name alternatives.

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 given on when to use this tool versus sibling tools such as niche_score, trend, or batch_analyze. The context implies keyword-level competitive analysis, but there are no explicit when-to-use or when-not-to-use instructions.

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

keyword_expandA

Expand seed keyword into 50+ related keywords with Quick Score, and calculate Full Niche Score for top N candidates. Returns niche opportunities ranked by score.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYesSeed keyword to analyze (Korean or English, 1-40 chars)
fullScoreCountNoNumber of top keywords for Full Score (default 10)

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It transparently explains the workflow: expand the keyword, apply Quick Score to all results, calculate Full Niche Score for the top N, and return ranked opportunities. It does not overpromise or hide the scoring step, though it could clarify what Quick Score and Full Niche Score mean.

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

Conciseness5/5

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

The description is a single dense sentence that front-loads the core action and output, with no filler or redundant wording. Every clause adds relevant information.

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

Completeness4/5

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

For a two-parameter tool with no output schema or annotations, the description gives a complete high-level picture: input, processing steps, and ranked results. It could specify the exact return shape or clarify the scoring metrics, but the essential invocation context is present.

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?

The input schema already covers both parameters with descriptions, so the baseline is 3. The description's mention of 'top N candidates' loosely maps to fullScoreCount, and 'seed keyword' maps to keyword, but it does not add significant meaning beyond the schema.

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

Purpose5/5

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

The description uses a specific action ('Expand'), identifies the resource ('seed keyword'), and states the output ('50+ related keywords with Quick Score', 'Full Niche Score for top N candidates', ranked opportunities). This clearly distinguishes it from sibling tools like search_volume, trend, and blog_competition, which address different tasks.

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

Usage Guidelines3/5

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

The use case is implied: an agent should call this when it needs to broaden a seed keyword into related keywords and get niche scores. However, the description does not explicitly state when to prefer this over sibling tools, nor does it mention exclusions or conditions where another tool would be more appropriate.

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

niche_scoreA

Calculate full niche score for a single keyword. Analyzes search volume (Naver SearchAd), blog competition, and 12-month trend to produce a 0-100 score with A-F grade.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYesKeyword to analyze

TDQS

A3.8/5.0
Behavior3/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 does state the inputs and output (0-100 score with A-F grade) and identifies Naver SearchAd as a data source, but it does not detail side effects, external API dependencies, latency, error behavior, or whether the result includes component breakdowns.

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

Conciseness5/5

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

The description is a single front-loaded sentence that states the action, scope, inputs, data sources, and output format without filler. Every clause contributes useful information.

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

Completeness4/5

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

For a one-parameter tool with no output schema, the description is nearly complete: it explains what the tool does, what it analyzes, and what the result looks like. Minor gaps remain around grade thresholds and weighting of components, but these are not required for an agent to select and invoke the tool correctly.

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 coverage is 100% and the sole parameter 'keyword' is already documented as 'Keyword to analyze.' The description adds only the qualifier 'single keyword,' which is mild semantic reinforcement but not substantive new meaning beyond the schema.

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

Purpose5/5

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

The description opens with a specific verb and object: 'Calculate full niche score for a single keyword.' It clearly distinguishes this composite analysis tool from the sibling component tools by naming search volume, blog competition, and 12-month trend, and it defines the output as a 0-100 score with an A-F grade.

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

Usage Guidelines3/5

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

The description implies usage by calling this a 'full niche score' for a 'single keyword,' which suggests it should be used when a composite score is needed rather than one of the individual sibling tools like search_volume or trend. However, it never explicitly says when NOT to use it or names alternatives as preferred for narrower use cases.

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

search_volumeB

Get monthly search volume from Naver SearchAd API. Returns PC/mobile breakdown, competition index (CPC level), and top 20 related keywords with their volumes.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYesKeyword to search

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It usefully states that this is a read operation on an external API and describes the return payload (PC/mobile breakdown, CPC competition index, top 20 related keywords). However, it omits auth requirements, rate limits, and error behavior, which matter for an external API call.

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

Conciseness5/5

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

Two sentences with zero waste. The first sentence front-loads the core action and data source; the second efficiently enumerates the return values. Every clause earns its place.

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

Completeness4/5

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

For a single-parameter read tool with no output schema, the description adequately covers the return structure, which is the main thing an agent needs to interpret results. It's slightly thin on operational context (auth, rate limits) but those are minor for a simple keyword lookup, so it's reasonably complete for its complexity.

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% — the single 'keyword' parameter is already described as 'Keyword to search' with min/max length constraints in the schema. The description adds nothing beyond the schema for the parameter itself, which matches the baseline 3 for high coverage.

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 states a specific verb+resource: 'Get monthly search volume from Naver SearchAd API.' The purpose is clear and distinct from siblings like trend, niche_score, and blog_competition. However, it doesn't explicitly differentiate from keyword_expand, which could plausibly also surface volume data, so a name-level distinction is left to the agent.

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 on when to use this tool versus alternatives. There are no exclusions, no mention of which sibling to prefer for broader keyword research vs. single-keyword volume checks, and no context about prerequisites or limits (e.g., single keyword only, one at a time). The agent is left to infer usage from the name alone.

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

trendA

Get 12-month search trend from Naver DataLab. Returns monthly relative values (0-100) showing how search interest changed over time.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYesKeyword to search

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden, and it does disclose key behavioral traits: the 12-month window, monthly granularity, and the normalized 0-100 scale. This meaningfully tempers the agent's expectations about what the returned values represent, though it omits edge-case behavior such as missing data or query limits.

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

Conciseness5/5

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

Two sentences, no filler, and the key facts are front-loaded: source, time range, and normalized return values. Every sentence contributes meaningful information.

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

Completeness4/5

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

For a single-parameter tool with no output schema, the description is mostly complete: it identifies the source, input, time span, and high-level return semantics. It does not specify the exact response structure, but for this simple tool that is not a critical gap.

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 coverage is 100%, with the single 'keyword' parameter already described as 'Keyword to search'. The description adds no additional parameter semantics beyond what the schema provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('Get') with a precise resource ('12-month search trend from Naver DataLab') and defines the output as monthly relative values from 0 to 100. This clearly differentiates it from volume-focused siblings like search_volume, since it describes interest change over time rather than raw counts.

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 says what the tool does but gives no guidance on when to choose it over alternatives such as search_volume, keyword_expand, or batch_analyze. There is no explicit context, prerequisite, or exclusion to help an agent decide between siblings.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv1.0.0
    • First observedbatch_analyze
    • First observedblog_competition
    • First observedkeyword_expand
    • First observedniche_score
    • First observedsearch_volume
    • First observedtrend
    • First observedtrending_discover

TDQS

A3.7/5.0

Scored across 7 tools

Disambiguation3/5

Several tools compose or reuse the same underlying operations (keyword_expand includes niche scoring; trending_discover expands and filters; batch_analyze repeats niche_score for many keywords), so boundaries are not always crisp. However, descriptions clarify the intended use case well enough for most selections.

Naming Consistency3/5

Names use a consistent snake_case style and a clear keyword/niche domain prefix, but the grammatical pattern is mixed: keyword_expand and batch_analyze are noun+verb, while search_volume, blog_competition, and trend are noun phrases. There is no uniform verb-first or verb-last convention across the set.

Tool Count5/5

Seven tools cover the core keyword research workflow—expansion, individual metrics, scoring, batch comparison, and trend discovery—without redundancy or bloat. The count feels appropriate for the server's focused purpose.

Completeness4/5

The toolset covers expansion, volume, trend, competition, scoring, batch analysis, and rising-trend discovery, which handles the main niche research workflow. Minor gaps remain, such as no raw multi-keyword volume comparison or direct trend comparison outside the scored outputs.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers