Naver Search MCP Server
The Naver Search MCP Server enables integration with Naver Search API and DataLab API for comprehensive searches and trend analysis across Naver services.
Capabilities:
Search across Naver's web documents, news, blogs, cafes, shopping, images, KnowledgeiN, books, encyclopedia, academic papers, and local places
Analyze search term trends and shopping trends by various demographics (device, gender, age)
Analyze shopping category trends and keyword performance
Technical Features:
Customizable parameters for search result control (sorting, position, display count)
Compatible with AI clients like Claude Desktop, Cursor, Windsurf, and Cline
Supports Docker deployment
Requires Naver Developers API keys for authentication
Optional containerization platform for deploying the MCP server in an isolated environment.
Enables comprehensive search across various Naver services (web, news, blogs, shopping, images, KnowledgeiN, books, encyclopedia, academic papers, local places) and data trend analysis through Naver Search API and DataLab API.
Required runtime environment for the MCP server, version 18 or higher needed for server operation.
Required package manager, version 8 or higher needed for dependency management.
Naver Search MCP Server
MCP server for Naver Search API and DataLab API integration, enabling comprehensive search across various Naver services and data trend analysis.
⚠️ Naver is migrating these APIs — read this before you set up
Naver is moving Search, Search Trend, and Shopping Insight from the Naver Developers Center to NAVER API HUB on NAVER Cloud Platform, and is shutting down three search APIs entirely.
Date | What happens |
2026-07-31 | Developers Center stops accepting new key applications.Shopping / Book / Academic search APIs shut down completely. |
2027-06-30 | Developers Center support ends — existing keys stop working. |
Source: Naver Developers Center official notice (Korean) — "Search API, Search Trend, Shopping Insight 서비스 종료 및 NAVER API HUB 이관 안내".
Setting this up for the first time? Get your keys from NAVER API HUB. The Developers Center path closes to new applicants on 2026-07-31, so it is no longer the place to start. Step-by-step instructions are in Option A: NAVER API HUB below.
Already running with Developers Center keys? Nothing to change. They keep working until 2027-06-30, and this version supports both platforms from the same install. When you're ready, get a HUB key and swap the two environment variables — no other changes.
Support plan for this server: both platforms stay supported side by side through Naver's 2027-06-30 cutoff. The Developers Center path will be dropped in a later major version only after that date, once it can no longer work for anyone — so upgrading in the meantime will never take your working setup away.
Three tools were removed in 1.0.49: search_shop, search_book, search_academic. Naver shuts those search APIs down on 2026-07-31 with no replacement on any platform, so there is nothing this server can do to keep them. Shopping Insight (datalab_shopping_*) and find_category are a different API and are not affected.
Related MCP server: naver-mcp
Available on ClawHub for OpenClaw
You can install this MCP server as an OpenClaw skill from ClawHub:
openclaw skills install naver-search-mcpThe ClawHub skill uses the published npm package internally and needs one credential pair in your OpenClaw environment — either the NAVER API HUB pair (NCP_APIGW_API_KEY_ID / NCP_APIGW_API_KEY) or the Developers Center pair (NAVER_CLIENT_ID / NAVER_CLIENT_SECRET). OpenClaw's apiKey field maps to NAVER_CLIENT_SECRET; HUB users should set both HUB variables explicitly in the environment instead of using apiKey.
Quick Start: Use Without API Key
You can use this server immediately without API keys through Kakao PlayMCP. Simply visit the link and start using it right away!
Tool Details
Available tools:
🆕 Category Search
find_category: Category search tool so you no longer need to manually check category numbers in URLs for trend and shopping insight searches. Just describe the category in natural language.
Search Tools
search_webkr: Search Naver web documents
search_news: Search Naver news
search_blog: Search Naver blogs
search_cafearticle: Search Naver cafe articles
search_image: Search Naver images
search_kin: Search Naver KnowledgeiN
search_encyc: Search Naver encyclopedia
search_local: Search Naver local places
Removed in 1.0.49:
search_shop,search_book,search_academic. Naver shuts down the Shopping / Book / Academic search APIs on 2026-07-31 with no replacement on any platform. This is not a limitation of this server. Shopping Insight (datalab_shopping_*) is a different API and is unaffected.
DataLab Tools
datalab_search: Analyze search term trends
datalab_shopping_category: Analyze shopping category trends
datalab_shopping_by_device: Analyze shopping trends by device
datalab_shopping_by_gender: Analyze shopping trends by gender
datalab_shopping_by_age: Analyze shopping trends by age group
datalab_shopping_keywords: Analyze shopping keyword trends
datalab_shopping_keyword_by_device: Analyze shopping keyword trends by device
datalab_shopping_keyword_by_gender: Analyze shopping keyword trends by gender
datalab_shopping_keyword_by_age: Analyze shopping keyword trends by age group
Getting API Keys
Two platforms issue keys for this server. Set one pair of environment variables — see Configuration below for how the pair you set determines the platform used.
Option A: NAVER API HUB (recommended — the forward path)
Go to the NAVER Cloud Platform console and sign up or log in.
Click the region & platform selector in the top right of the console, choose your region/platform, and click Apply.
Open Menu > All Services > Application Services > NAVER API HUB.
Click Application, select (or create) your application, then under API management click 인증 정보 (Authentication Info).
Copy the Client ID and Client Secret shown in the popup.
Use these as
NCP_APIGW_API_KEY_ID(Client ID) andNCP_APIGW_API_KEY(Client Secret) in the configuration below.
Option B: Naver Developers (legacy — existing keys only)
Naver Developers Center stops accepting new applications on 2026-07-31. If you don't already have a Client ID/Secret from this platform, use NAVER API HUB above instead. Existing Developers Center keys keep working until 2027-06-30.
Visit Naver Developers and log in with your Naver account
Click the "Application Registration" (애플리케이션 등록) button
Fill in the application information:
Application Name: Enter any name (e.g., "Naver Search MCP")
Usage: Select "Search" (검색)
In the API Settings section, check ALL of the following APIs:
Search (검색) - Required for blog, news, cafe article, web, image, kin, encyclopedia, and local search
DataLab - Search Trends (데이터랩 - 검색어 트렌드) - Required for search term trend analysis
DataLab - Shopping Insight (데이터랩 - 쇼핑인사이트) - Required for shopping trend analysis
Click "Register" to complete registration
After registration, you'll see your Client ID and Client Secret on the application detail page
Use these as
NAVER_CLIENT_ID/NAVER_CLIENT_SECRETin the configuration below
Configuration
Credentials
Two platforms are supported. Set one pair — the server picks the platform from which variables you set, since the key strings themselves are indistinguishable.
Variables | Platform | Endpoint |
| NAVER API HUB (NCP) |
|
| Naver Developers (legacy) |
|
If both pairs are set, NAVER API HUB wins.
The installation examples below use the legacy NAVER_CLIENT_ID / NAVER_CLIENT_SECRET
pair; swap in the HUB pair from the table above if that's what you have.
Migration to NAVER API HUB
Naver is moving these APIs from the Developers Center to NAVER API HUB on NAVER Cloud Platform.
Date | What happens |
2026-06-25 | NAVER API HUB launched |
2026-07-31 | Developers Center stops accepting new applications |
2027-06-30 | Developers Center support ends — existing keys stop working |
Existing keys keep working until 2027-06-30. To migrate, get a key from the
NAVER Cloud Platform console and set NCP_APIGW_API_KEY_ID / NCP_APIGW_API_KEY.
Developers Center keys cannot be used against NAVER API HUB.
Installation
Method 1: NPX Installation (Recommended)
The most reliable way to use this MCP server is through NPX. For detailed package information, see the NPM package page.
Claude Desktop Configuration
Add to Claude Desktop config file (%APPDATA%\Claude\claude_desktop_config.json on Windows, ~/Library/Application Support/Claude/claude_desktop_config.json on macOS/Linux):
{
"mcpServers": {
"naver-search": {
"command": "npx",
"args": ["-y", "@isnow890/naver-search-mcp"],
"env": {
"NAVER_CLIENT_ID": "your_client_id",
"NAVER_CLIENT_SECRET": "your_client_secret"
}
}
}
}Claude Code Configuration
Add to your Claude Code settings:
{
"mcpServers": {
"naver-search": {
"command": "npx",
"args": ["-y", "@isnow890/naver-search-mcp"],
"env": {
"NAVER_CLIENT_ID": "your_client_id",
"NAVER_CLIENT_SECRET": "your_client_secret"
}
}
}
}Method 2: ClawHub Installation for OpenClaw
This MCP server can also be used from OpenClaw through the ClawHub skill wrapper. Install it with:
openclaw skills install naver-search-mcpThe ClawHub skill uses the same published npm package internally:
npx -y @isnow890/naver-search-mcpMake sure one credential pair is configured in your OpenClaw environment before using the skill — the NAVER API HUB pair (NCP_APIGW_API_KEY_ID / NCP_APIGW_API_KEY) or the Developers Center pair (NAVER_CLIENT_ID / NAVER_CLIENT_SECRET). OpenClaw's apiKey field maps to NAVER_CLIENT_SECRET; HUB users should set both HUB variables explicitly instead.
Method 3: Local Installation
For local development or custom modifications:
Step 1: Download and Build Source Code
Clone with Git
git clone https://github.com/isnow890/naver-search-mcp.git
cd naver-search-mcp
npm install
npm run buildOr Download ZIP File
Download the latest version from GitHub Releases
Extract the ZIP file to your desired location
Navigate to the extracted folder in terminal:
cd /path/to/naver-search-mcp
npm install
npm run build⚠️ Important: You must run npm run build after installation to generate the dist folder that contains the compiled JavaScript files.
Step 2: Claude Desktop Configuration
After building, you'll need the following information:
NAVER_CLIENT_ID: Client ID from Naver Developers
NAVER_CLIENT_SECRET: Client Secret from Naver Developers
Installation Path: Absolute path to the downloaded folder
Windows Configuration
Add to Claude Desktop config file (%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"naver-search": {
"type": "stdio",
"command": "cmd",
"args": [
"/c",
"node",
"C:\\path\\to\\naver-search-mcp\\dist\\src\\index.js"
],
"cwd": "C:\\path\\to\\naver-search-mcp",
"env": {
"NAVER_CLIENT_ID": "your-naver-client-id",
"NAVER_CLIENT_SECRET": "your-naver-client-secret"
}
}
}
}macOS/Linux Configuration
Add to Claude Desktop config file (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"naver-search": {
"type": "stdio",
"command": "node",
"args": ["/path/to/naver-search-mcp/dist/src/index.js"],
"cwd": "/path/to/naver-search-mcp",
"env": {
"NAVER_CLIENT_ID": "your-naver-client-id",
"NAVER_CLIENT_SECRET": "your-naver-client-secret"
}
}
}
}Path Configuration Important Notes
⚠️ Important: You must change the following paths in the above configuration to your actual installation paths:
Windows: Change
C:\\path\\to\\naver-search-mcpto your actual downloaded folder pathmacOS/Linux: Change
/path/to/naver-search-mcpto your actual downloaded folder pathBuild Path: Make sure the path points to
dist/src/index.js(not justindex.js)
Finding your path:
# Check current location
pwd
# Absolute path examples
# Windows: C:\Users\username\Downloads\naver-search-mcp
# macOS: /Users/username/Downloads/naver-search-mcp
# Linux: /home/username/Downloads/naver-search-mcpStep 3: Restart Claude Desktop
After completing the configuration, completely close and restart Claude Desktop to activate the Naver Search MCP server.
Prerequisites
A credential pair for one platform — NAVER API HUB or Naver Developers (see Getting API Keys)
Node.js 18 or higher
NPM 8 or higher
License
MIT License
Version History
1.0.49 (2026-07-26)
NAVER API HUB support: set
NCP_APIGW_API_KEY_ID/NCP_APIGW_API_KEYto call the new platform. ExistingNAVER_CLIENT_ID/NAVER_CLIENT_SECRETkeep working unchanged — the platform is chosen by which variable pair you setRemoved
search_shop,search_book,search_academic. Naver shuts those search APIs down on 2026-07-31 with no replacement on any platformAPI errors now throw a plain
Errorinstead of the rawAxiosError. Code branching onerror.response?.statusseesundefined; the same detail is inError.messageError messages name the platform and HTTP status, and 401s suggest checking whether a key was set on the other platform's variables
1.0.48 (2026-05-12)
Fixed
find_categorydata loading when the MCP server is launched bynpxfrom a different working directoryCategory data is now resolved relative to the installed package before falling back to local development paths
1.0.47 (2025-01-03)
Added "today" keyword support for all DataLab date parameters - no need to call separate time tool
Fixed server termination issue - MCP server now properly exits when client disconnects
Added graceful shutdown handlers for SIGINT, SIGTERM, and transport close events
Removed get_current_korean_time tool - redundant with new "today" keyword feature
Removed memory monitoring module - resolved setInterval blocking process exit
Special thanks to @gloomyrobot for reporting the server termination issue
1.0.45 (2025-09-28)
Resolved platform compatibility issues for hosted MCP installations
Replaced the Excel export in category search with JSON for better compatibility
Restored the
search_webkrtool for Korean web searchImproved hosted platform installation compatibility
1.0.44 (2025-08-31)
Added the
get_current_korean_timetool for essential Korea Standard Time contextReferenced the time tool across existing tool descriptions for temporal queries
Improved handling of "today", "now", and "current" searches with temporal context
Expanded Korean date and time formatting outputs with multiple formats
1.0.40 (2025-08-21)
Added the
find_categorytool with fuzzy matching so you no longer need to check category numbers manually in URLsEnhanced parameter validation with Zod schema
Improved the category search workflow
Implemented a level-based category ranking system that prioritizes top-level categories
1.0.30 (2025-08-04)
MCP SDK upgraded to 1.17.1
Fixed compatibility issues with hosted MCP platform specification changes
Added comprehensive DataLab shopping category code documentation
1.0.2 (2025-04-26)
README updated: cafe article search tool and version history section improved
1.0.1 (2025-04-26)
Cafe article search feature added
Shopping category info added to zod
Source code refactored
1.0.0 (2025-04-08)
Initial release
Available Tools
19 toolsdatalab_searchC
Perform a trend analysis on Naver search keywords. (네이버 검색어 트렌드 분석)
| 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 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden for behavioral disclosure. Yet it only states the action ('trend analysis') without mentioning expected output, read-only nature, rate limits, or any operational constraints, leaving significant ambiguity for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loads the primary verb, and contains no filler. It is concise and easy to parse, though it sacrifices informative content for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With four required parameters and no output schema, the description is under-specified. It does not explain the return value structure, how results are grouped by timeUnit, or any practical use cases, leaving the agent with significant gaps in understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for all four parameters (startDate, endDate, timeUnit, keywordGroups), so the schema already defines their meaning. The description adds no extra parameter context, but the baseline of 3 is appropriate given the schema completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a clear verb ('Perform') and resource ('trend analysis on Naver search keywords'), which correctly distinguishes it from search_* and datalab_shopping_* sibling tools. However, it doesn't specify the nature of the trend (e.g., search volume over time), so it stops short of being fully specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no when-to-use guidance or alternative recommendations. It fails to explain how datalab_search differs from the numerous sibling tools or under what circumstances it should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
datalab_shopping_by_ageC
Perform a trend analysis on Naver Shopping by age. (네이버 쇼핑 연령별 트렌드 분석)
| Name | Required | Description | Default |
|---|---|---|---|
| ages | Yes | Age groups | |
| category | Yes | Category code | |
| endDate | Yes | End date (yyyy-mm-dd) | |
| startDate | Yes | Start date (yyyy-mm-dd) | |
| timeUnit | Yes | Time unit |
TDQS
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 does not mention whether the operation is read-only, any authentication or rate-limit requirements, or what the output contains. The phrase 'trend analysis' only vaguely implies a data-returning operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise, front-loaded sentence that conveys the core purpose immediately. The parenthetical Korean translation is mildly redundant with the English but does not harm clarity or add meaningful length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description does not explain the return format or any additional constraints. However, the schema fully covers required parameters and the tool's purpose is simple, making the description minimally viable but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all 5 parameters with descriptions and enums, giving 100% schema coverage. The description adds no parameter-level detail beyond the schema, so it meets the baseline but does not enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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'), the resource ('Naver Shopping'), and the segmentation ('by age'), which distinguishes it from sibling tools like datalab_shopping_by_device or datalab_shopping_by_gender. The verb 'Perform' is generic, but the resource and scope make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any explicit guidance on when to use this tool versus alternatives. It lacks mentions of excluded cases, prerequisites, or sibling tools, leaving the agent to infer usage solely from the 'by age' phrase.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
datalab_shopping_by_deviceB
Perform a trend analysis on Naver Shopping by device. (네이버 쇼핑 기기별 트렌드 분석)
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | Category code | |
| device | Yes | Device type | |
| endDate | Yes | End date (yyyy-mm-dd) | |
| startDate | Yes | Start date (yyyy-mm-dd) | |
| timeUnit | Yes | Time unit |
TDQS
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, but it only says 'trend analysis' without revealing what the output looks like, whether it is read-only, or any limitations. The agent is left blind to the actual behavior beyond a vague operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently communicates the tool's action and scope. There is no filler, and the parenthetical Korean translation is helpful for multilingual users without adding bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description must explain what the trend analysis returns and how to interpret it, but it does not. The tool has 5 required parameters, and the minimal description is insufficient for an agent to fully anticipate the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all 5 parameters, so baseline is 3. The description adds no extra meaning beyond the schema, and it does not explain parameter relationships or constraints beyond what is already documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a trend analysis on Naver Shopping broken down by device. The verb 'Perform' and scope 'by device' make it distinct from sibling tools like datalab_shopping_by_gender or datalab_shopping_by_age.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'by device' subtly implies use when device-specific trend analysis is needed, but the description gives no explicit when-to-use or when-not-to-use guidance and does not differentiate from keyword-level device tools such as datalab_shopping_keyword_by_device.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
datalab_shopping_by_genderB
Perform a trend analysis on Naver Shopping by gender. (네이버 쇼핑 성별 트렌드 분석)
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | Category code | |
| endDate | Yes | End date (yyyy-mm-dd) | |
| gender | Yes | Gender | |
| startDate | Yes | Start date (yyyy-mm-dd) | |
| timeUnit | Yes | Time unit |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only mentions 'trend analysis,' which implies a read operation, but does not specify output format, data granularity, limitations, or any side effects. This is a minimal disclosure gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence in English and Korean, with no wasted words. It lacks structural elements like bullet points, but it is appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has five required parameters, no output schema, and no annotations, the description should provide more context about the analysis results, return values, or use cases. The generic 'trend analysis' phrasing leaves significant gaps for an agent to know what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter coverage with descriptions for all five required fields. The description adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a trend analysis on Naver Shopping, specifically segmented by gender. The verb 'perform' and resource 'Naver Shopping trend analysis' are specific, and the 'by gender' modifier differentiates it from sibling tools like by_age or by_device.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 many similar datalab_shopping_* siblings, the lack of any usage context or exclusions leaves the agent without direction for selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
datalab_shopping_categoryB
Perform a trend analysis on Naver Shopping category. (네이버 쇼핑 카테고리별 트렌드 분석)
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | Array of category name and code pairs | |
| endDate | Yes | End date (yyyy-mm-dd) | |
| startDate | Yes | Start date (yyyy-mm-dd) | |
| timeUnit | Yes | Time unit |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only says 'perform a trend analysis' and does not state whether the operation is read-only, what response format to expect, whether pagination exists, or any rate limits or authentication requirements. This is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence in English and Korean, with no filler or redundant content. It efficiently states the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description is too thin. It does not explain return values, date range semantics, category code structure, or any edge cases. The tool has four required parameters and is a data analysis tool, so more context is needed for complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all four parameters, including the enum for timeUnit. The description itself adds no parameter-specific meaning, making baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 category, with the action 'perform' and resource 'Naver Shopping category.' The category focus distinguishes it from sibling device/gender/age/keyword tools, though it does not explicitly call out those differences.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose sentence implies the tool should be used for category-level Naver Shopping trend analysis, but there is no explicit when-to-use or when-not-to-use guidance. It does not mention alternatives or why this tool is preferable to sibling datalab_shopping_by_device, by_gender, or by_age tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
datalab_shopping_keyword_by_ageB
Perform a trend analysis on Naver Shopping keywords by age. (네이버 쇼핑 키워드 연령별 트렌드 분석)
| Name | Required | Description | Default |
|---|---|---|---|
| ages | Yes | Age groups | |
| category | Yes | Category code | |
| endDate | Yes | End date (yyyy-mm-dd) | |
| keyword | Yes | Search keyword | |
| startDate | Yes | Start date (yyyy-mm-dd) | |
| timeUnit | Yes | Time unit |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must disclose behavioral traits, but it only states that it 'performs a trend analysis.' It does not specify what the output looks like (e.g., time-series data, aggregation method), whether authentication is required, or any rate limits or other constraints. For a data-fetching tool, this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the primary action. The Korean translation in parentheses is a minor redundancy but does not detract from clarity. Every word earns its place, and there is no verbose or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 required parameters, no output schema, and no annotations, the description is insufficiently complete. It does not explain the return format, what 'trend analysis' entails, or how the parameters influence the output. An agent would be left uncertain about the consequences of invoking this tool, especially compared to richer descriptions of similar datalab tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, providing detailed definitions for all six required parameters, including enum values for ages. The description adds no extra parameter semantics beyond echoing 'by age,' which corresponds to the 'ages' parameter. Therefore, a baseline score of 3 is appropriate, as the schema already carries the weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 the resource ('Naver Shopping keywords by age'), which is specific and distinguishes it from sibling tools like datalab_shopping_by_age (category-level) and datalab_shopping_keyword_by_device (device-level). The Korean translation reinforces the same meaning, leaving no ambiguity about the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention that this tool is appropriate for keyword-level trend analysis segmented by age, nor does it exclude cases where other datalab tools (e.g., by gender or device) would be better. The description offers no contextual cues for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
datalab_shopping_keyword_by_deviceC
Perform a trend analysis on Naver Shopping keywords by device. (네이버 쇼핑 키워드 기기별 트렌드 분석)
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | Category code | |
| device | Yes | Device type | |
| endDate | Yes | End date (yyyy-mm-dd) | |
| keyword | Yes | Search keyword | |
| startDate | Yes | Start date (yyyy-mm-dd) | |
| timeUnit | Yes | Time unit |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states the tool performs a trend analysis, implying a read operation but not specifying return format, whether it is read-only, rate limits, or required authentication. This lack of detail is insufficient for an agent to anticipate behavior or output structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, with a single English sentence and a redundant Korean translation. It is front-loaded and avoids unnecessary words. However, the Korean translation adds no unique value, so it is not maximally efficient, but it is still appropriately brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 required parameters, no output schema, and no annotations, the description is incomplete. It does not explain return values, result structure, or how keyword-level trends differ from category-level trends. This lack of context makes it hard for an agent to fully understand the tool's behavior and output, even though the schema clarifies input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all six parameters described in the input schema. The description adds no extra parameter semantics beyond what the schema already provides, such as the 'by device' qualifier which is already captured in the device enum. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action ('Perform a trend analysis') and the resource ('Naver Shopping keywords by device'), clearly identifying the core function. It does not explicitly distinguish from sibling tools like datalab_shopping_keywords or datalab_shopping_by_device, but the 'by device' qualifier provides some differentiation. The verb is specific and the resource is well defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. It does not mention scenarios for which it is appropriate, nor does it contrast with siblings such as datalab_shopping_keyword_by_gender or datalab_shopping_by_device. There is no exclusions or contextual advice, leaving the agent 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.
datalab_shopping_keyword_by_genderB
Perform a trend analysis on Naver Shopping keywords by gender. (네이버 쇼핑 키워드 성별 트렌드 분석)
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | Category code | |
| endDate | Yes | End date (yyyy-mm-dd) | |
| gender | Yes | Gender | |
| keyword | Yes | Search keyword | |
| startDate | Yes | Start date (yyyy-mm-dd) | |
| timeUnit | Yes | Time unit |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only states the high-level action. It does not mention what the response contains, whether results are aggregated by time or gender, or any limitations such as date range constraints or data source quirks. The Korean translation adds no additional behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. It communicates the core purpose efficiently. The Korean parenthetical is optional localization but does not detract from conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has six required parameters and no output schema or annotations. The description alone provides only the high-level purpose, which is sufficient to guess what the tool does but not enough to understand how parameters interact or what the result will look like. Given the presence of many similar sibling tools, more context about this tool's specific role would be needed for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters. The description does not add any extra meaning beyond the schema, such as how gender values map to 'female'/'male' or how category codes are used. It meets the baseline for complete schema coverage but provides no further value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Perform a trend analysis on Naver Shopping keywords by gender.' It names the specific resource (Naver Shopping keywords), the action (trend analysis), and the grouping dimension (gender). This distinguishes it from sibling tools like datalab_shopping_keyword_by_device and datalab_shopping_keyword_by_age.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description does not mention exclusions, prerequisites, or comparison with siblings such as datalab_shopping_by_gender. The usage context must be inferred entirely from the tool name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
datalab_shopping_keywordsB
Perform a trend analysis on Naver Shopping keywords. (네이버 쇼핑 키워드별 트렌드 분석)
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | Category code | |
| endDate | Yes | End date (yyyy-mm-dd) | |
| keyword | Yes | Array of keyword name and value pairs | |
| startDate | Yes | Start date (yyyy-mm-dd) | |
| timeUnit | Yes | Time unit |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden but only says 'Perform a trend analysis.' It does not disclose the return format, pagination, rate limits, or any operational constraints. The term 'analysis' implies read-only, but that is not explicit, and no behavioral details are given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly states the action and resource. The Korean translation is a minor addition that does not inflate the content. There is no superfluous wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a moderately complex tool with 5 required parameters, no output schema, and no annotations. The description fails to explain what the trend analysis returns or how parameters interact, leaving significant gaps for an agent to correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides full descriptions for all 5 parameters (100% coverage), so the baseline of 3 applies. The description adds no extra meaning beyond what the schema already documents; it merely states the overall purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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, using a specific verb ('Perform') and resource ('Naver Shopping keywords'). This distinguishes it from sibling tools that break down by device, gender, or age, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 the numerous sibling tools (e.g., datalab_shopping_keyword_by_device). The description does not mention alternatives, exclusions, or context for when the general keyword trend tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_academicC
Perform a search on Naver Academic. (네이버 전문자료 검색)
| Name | Required | Description | Default |
|---|---|---|---|
| display | No | Number of results to display (default: 10) | |
| query | Yes | Search query | |
| sort | No | Sort method (sim: similarity, date: date) | |
| start | No | Start position of search results (default: 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states it performs a search but doesn't disclose rate limits, authentication needs, pagination behavior, error conditions, or what the search results look like. For a search tool with zero annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just two brief phrases, front-loading the core purpose. Every word earns its place, and there's no redundant or verbose language. The Korean translation adds precision without bloating the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a search tool with 4 parameters. It doesn't explain what results to expect, how they're structured, or important behavioral aspects like rate limits or error handling. The high schema coverage helps but doesn't compensate for missing output and behavioral context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing good documentation for all parameters. The description adds no parameter-specific information beyond what's in the schema, so it meets the baseline of 3 without compensating value. The Korean text doesn't clarify parameters further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Perform a search') and target resource ('on Naver Academic'), with the Korean translation adding specificity. It distinguishes this tool from most siblings (e.g., search_blog, search_news) by specifying the academic domain, though it doesn't explicitly differentiate from all possible search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description doesn't mention when academic searches are appropriate compared to other search tools (like search_webkr or search_news) or the datalab_* tools, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_blogC
Perform a search on Naver Blog. (네이버 블로그 검색)
| Name | Required | Description | Default |
|---|---|---|---|
| display | No | Number of results to display (default: 10) | |
| query | Yes | Search query | |
| sort | No | Sort method (sim: similarity, date: date) | |
| start | No | Start position of search results (default: 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the basic action but doesn't describe what the search returns (blog posts, metadata, links), whether there are rate limits, authentication requirements, or how results are structured. For a search tool with no annotation coverage, this leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just two short phrases that convey the essential purpose. Both the English and Korean versions are front-loaded with the core functionality, and there's no wasted language or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no annotations and no output schema, the description is insufficient. It doesn't explain what kind of results to expect (blog posts, metadata, links), how results are formatted, or any limitations. The combination of missing behavioral context and lack of output information makes this description incomplete for effective tool use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 4 parameters thoroughly. The description adds no parameter-specific information beyond what's in the schema. The baseline of 3 is appropriate when the schema does all the parameter documentation work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Perform a search') and target resource ('on Naver Blog'), with the Korean translation adding clarity for the specific platform. However, it doesn't distinguish this from sibling tools like search_news or search_webkr, which also perform searches on Naver platforms but for different content types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description doesn't mention what makes blog search unique compared to other search tools in the sibling list, nor does it specify prerequisites or typical use cases for blog content versus other content types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_bookC
Perform a search on Naver Book. (네이버 책 검색)
| Name | Required | Description | Default |
|---|---|---|---|
| display | No | Number of results to display (default: 10) | |
| query | Yes | Search query | |
| sort | No | Sort method (sim: similarity, date: date) | |
| start | No | Start position of search results (default: 1) |
TDQS
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 states the tool performs a search but doesn't describe what the search returns (e.g., book titles, authors, metadata), whether it's paginated, rate limits, authentication needs, or error handling. This leaves significant gaps in understanding the tool's behavior beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just one sentence and a parenthetical translation, making it front-loaded and efficient. Every word serves a purpose: it defines the action and resource clearly without any fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the search returns (e.g., book results format), behavioral aspects like pagination or errors, or how it differs from sibling tools. For a search tool with no structured output information, more context is needed to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, providing details for all 4 parameters (query, display, sort, start). The description adds no additional parameter semantics beyond what's in the schema. According to the rules, with high schema coverage (>80%), the baseline score is 3 when no param info is in the description, which applies here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Perform a search on Naver Book.' It specifies the action (search) and resource (Naver Book), and the Korean translation adds clarity. However, it doesn't explicitly differentiate from sibling tools like search_academic or search_news, which also perform searches on different Naver services.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It doesn't mention sibling tools like search_academic or search_news, nor does it specify scenarios where book searches are preferred over other search types. The only implied usage is for searching books, but no explicit context or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_encycC
Perform a search on Naver Encyclopedia. (네이버 지식백과 검색)
| Name | Required | Description | Default |
|---|---|---|---|
| display | No | Number of results to display (default: 10) | |
| query | Yes | Search query | |
| sort | No | Sort method (sim: similarity, date: date) | |
| start | No | Start position of search results (default: 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'Perform a search' but doesn't disclose behavioral traits like rate limits, authentication needs, pagination behavior, error handling, or what the search returns. For a search 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just one sentence plus a Korean translation, which is front-loaded and wastes no words. Every part earns its place by clearly stating the purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 a search tool with potential complexity (e.g., result format, limitations), the description is incomplete. It doesn't explain what the tool returns, any constraints, or how to interpret results, leaving the agent with insufficient context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameter semantics beyond what's in the schema, such as explaining the search scope or result format. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Perform a search') and resource ('on Naver Encyclopedia'), making the purpose explicit. It distinguishes from siblings by specifying the encyclopedia domain, though it doesn't explicitly contrast with other search tools like search_blog or search_news beyond the resource name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 many sibling search tools (e.g., search_blog, search_news, search_academic), there is no indication of when encyclopedia searches are appropriate or what distinguishes this from other search types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_imageC
Perform a search on Naver Image. (네이버 이미지 검색)
| Name | Required | Description | Default |
|---|---|---|---|
| display | No | Number of results to display (default: 10) | |
| query | Yes | Search query | |
| sort | No | Sort method (sim: similarity, date: date) | |
| start | No | Start position of search results (default: 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states what the tool does ('Perform a search') without disclosing behavioral traits like rate limits, authentication requirements, response format, pagination behavior, or error conditions. For a search tool with no annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just two short phrases that directly state the tool's purpose. Every word earns its place, and the Korean translation adds value for users familiar with that language without being redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 4 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool returns (image URLs, metadata, thumbnails?), doesn't mention rate limits or authentication, and provides no context about the Naver Image service. The description should do more given the complexity and lack of structured information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 4 parameters thoroughly. The description adds no parameter information beyond what's in the schema. Baseline 3 is appropriate when the schema does all the parameter documentation work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Perform a search') and resource ('Naver Image'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this image search tool from its many sibling search tools (like search_blog, search_news, etc.), which would require a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 17 sibling tools including many other search types (academic, blog, news, etc.), there's no indication of when image search is appropriate versus other search tools or the datalab_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_kinC
Perform a search on Naver KnowledgeiN. (네이버 지식iN 검색)
| Name | Required | Description | Default |
|---|---|---|---|
| display | No | Number of results to display (default: 10) | |
| query | Yes | Search query | |
| sort | No | Sort method (sim: similarity, date: date) | |
| start | No | Start position of search results (default: 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It doesn't mention rate limits, authentication requirements, pagination behavior (implied by 'display' and 'start' parameters but not explained), error conditions, or what format/search scope the results will have. The description only states what the tool does at a high level.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two parallel statements (English and Korean) that directly state the tool's purpose. There's no wasted verbiage or unnecessary elaboration, though the dual-language approach might be slightly redundant for some users.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 4 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what KnowledgeiN is (a Q&A platform), what kind of content it searches, what the results look like, or any behavioral constraints. Given the complexity of search tools and lack of structured metadata, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already fully documents all 4 parameters. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain typical query formats, what 'sim' vs 'date' sorting means in practice, or provide examples. The baseline score of 3 reflects adequate but minimal value addition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Perform a search') and resource ('on Naver KnowledgeiN'), with a Korean translation adding clarity for that audience. However, it doesn't distinguish this tool from its many sibling search tools (e.g., search_blog, search_news, search_academic) which all perform searches on different Naver platforms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 specific search tool versus the 15+ sibling search tools listed. There's no mention of what makes KnowledgeiN unique (Q&A platform vs. blog/news searches) or when an agent should choose this over alternatives like search_webkr or search_academic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_localC
Perform a search on Naver Local. (네이버 지역 검색)
| Name | Required | Description | Default |
|---|---|---|---|
| display | No | Number of results to display (default: 1, max: 5) | |
| query | Yes | Search query | |
| sort | No | Sort method (random: accuracy, comment: review count) | |
| start | No | Start position of search results (default: 1, max: 1) |
TDQS
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 only states the basic action ('Perform a search') without mentioning any behavioral traits such as rate limits, authentication needs, error handling, or what the output looks like (e.g., format, pagination). For a search tool with no annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, consisting of a single clear sentence with a helpful parenthetical translation. There is no wasted text, and it efficiently communicates the core purpose without unnecessary details, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a search tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It lacks information on behavioral aspects (e.g., how results are returned, error cases), usage context compared to siblings, and any prerequisites or limitations. This makes it inadequate for an agent to fully understand how to invoke the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters (query, display, sort, start) with descriptions and constraints. The description adds no additional parameter semantics beyond what's in the schema, such as examples or usage tips. This meets the baseline of 3, as the schema handles the heavy lifting, but the description doesn't compensate or enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Perform a search on Naver Local' with the Korean translation for clarity. It specifies the verb 'search' and the resource 'Naver Local', making it understandable. However, it doesn't explicitly differentiate from sibling tools like search_blog or search_news, which also perform searches on Naver but on different platforms, leaving some ambiguity about when to choose this specific tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 many sibling tools like search_blog, search_news, and search_shop, there is no indication of what makes Naver Local unique or when it should be preferred over other search tools. This lack of context makes it difficult for an agent to select the appropriate tool without additional information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_newsC
Perform a search on Naver News. (네이버 뉴스 검색)
| Name | Required | Description | Default |
|---|---|---|---|
| display | No | Number of results to display (default: 10) | |
| query | Yes | Search query | |
| sort | No | Sort method (sim: similarity, date: date) | |
| start | No | Start position of search results (default: 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states it performs a search but doesn't disclose behavioral traits like rate limits, authentication needs, result format, or whether it's read-only or has side effects. This is a significant gap for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just two short phrases, front-loading the essential action and resource. There's no wasted language, and the bilingual note adds clarity without verbosity, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the search returns, potential limitations, or how it differs from siblings. For a search tool with no structured output information, more context is needed to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameter information beyond what's in the schema, resulting in the baseline score of 3 where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Perform a search') and resource ('on Naver News'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like search_blog or search_webkr, which perform similar searches on different platforms, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 many sibling tools like search_blog and search_webkr available, there's no indication of what makes Naver News unique or when it's the appropriate choice, leaving usage unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_shopC
Perform a search on Naver Shopping. (네이버 쇼핑 검색)
| Name | Required | Description | Default |
|---|---|---|---|
| display | No | Number of results to display (default: 10) | |
| query | Yes | Search query | |
| sort | No | Sort method (sim: similarity, date: date) | |
| start | No | Start position of search results (default: 1) |
TDQS
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 'Perform a search' but lacks behavioral details like rate limits, authentication requirements, pagination behavior, error handling, or what the search results look like. For a search tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just one sentence plus a parenthetical translation, front-loading the core purpose without any wasted words. Every element serves a clear purpose, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a search tool. It doesn't explain what the tool returns (e.g., result format, fields), behavioral constraints, or how it differs from sibling tools. The high schema coverage helps with parameters, but overall context is lacking for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 4 parameters (query, display, sort, start) with descriptions and defaults. The description adds no additional parameter semantics beyond what's in the schema, meeting the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Perform a search') and target resource ('Naver Shopping'), with the Korean translation adding specificity. However, it doesn't differentiate from sibling tools like search_blog or search_news that perform similar search operations on different platforms, missing explicit distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. With many sibling tools for different search types (e.g., search_blog, search_news, search_webkr), the description offers no context about appropriate use cases or exclusions, leaving the agent to infer based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_webkrC
Perform a search on Naver Web Documents. (네이버 웹문서 검색)
| Name | Required | Description | Default |
|---|---|---|---|
| display | No | Number of results to display (default: 10) | |
| query | Yes | Search query | |
| sort | No | Sort method (sim: similarity, date: date) | |
| start | No | Start position of search results (default: 1) |
TDQS
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 states the tool performs a search, implying it's a read-only operation, but doesn't cover aspects like rate limits, authentication needs, error handling, or what the output looks like (e.g., result format, pagination). For a search tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, consisting of a single sentence with a clear purpose statement and a helpful Korean translation. There's no wasted text, and it efficiently communicates the core function without unnecessary details, making it easy to scan and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a search tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., search results format, error responses) or address behavioral aspects like performance or limitations. With 4 parameters and many sibling tools, more context is needed to guide effective use, leaving gaps in overall understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear documentation for all four parameters (query, display, sort, start). The description doesn't add any additional meaning beyond what's in the schema, such as explaining the 'sim' and 'date' sort options further or providing usage examples. Since schema coverage is high, the baseline score of 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Perform a search on Naver Web Documents' with the Korean translation for clarity. It specifies the verb 'search' and the resource 'Naver Web Documents,' making it easy to understand what the tool does. However, it doesn't explicitly differentiate from siblings like 'search_blog' or 'search_news,' which are also search tools on the same platform.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 many sibling tools like 'search_blog,' 'search_news,' and 'search_academic,' it's unclear what makes 'search_webkr' unique or when it should be chosen over others. There's no mention of context, exclusions, or specific use cases.
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.
19 tool updates
v1.0.0- First observed
datalab_search - First observed
datalab_shopping_by_age - First observed
datalab_shopping_by_device - First observed
datalab_shopping_by_gender - First observed
datalab_shopping_category - First observed
datalab_shopping_keyword_by_age - First observed
datalab_shopping_keyword_by_device - First observed
datalab_shopping_keyword_by_gender - First observed
datalab_shopping_keywords - First observed
search_academic - First observed
search_blog - First observed
search_book - First observed
search_encyc - First observed
search_image - First observed
search_kin - First observed
search_local - First observed
search_news - First observed
search_shop - First observed
search_webkr
TDQS
Scored across 19 tools
The tools are clearly organized into two distinct groups: datalab trend analysis tools and search tools for different Naver services. Within each group, tools are differentiated by specific parameters like age, device, gender, or service type, making them mostly distinct. However, some datalab tools might overlap slightly in purpose (e.g., datalab_shopping_keywords and datalab_shopping_keyword_by_* variants), which could cause minor confusion.
The naming follows a highly consistent pattern: all tools use snake_case with a clear prefix (datalab_ or search_) followed by a descriptive suffix (e.g., _search, _by_age, _blog). This consistency makes it easy to understand the tool's purpose and group at a glance, with no deviations in style or structure.
With 19 tools, the count is on the higher side but reasonable for a server covering both search and trend analysis across multiple Naver services. It provides comprehensive coverage without being overwhelming, though it might feel slightly heavy compared to simpler servers. The tools are well-scoped to the domain of Naver's ecosystem.
The tool set appears complete for the server's purpose of accessing Naver search and trend data. It covers a wide range of Naver services (e.g., Blog, News, Shopping, Academic) with dedicated search tools, and the datalab tools provide detailed trend analysis across various dimensions (age, device, gender, category). There are no obvious gaps in coverage for the stated domain.
Maintenance
Related MCP Connectors
MCP server for real-time product search by barcode (EAN, UPC, GTIN) or keyword on ean-search.org
MCP server for searching Airweave collections with natural language queries.
An MCP server that provides tools to discover and retrieve podcast episodes transcripts.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server that provides access to Naver OpenAPI services, enabling users to search blogs, news, books, images, and other content through standardized Model Context Protocol interfaces.114MIT
- FlicenseAqualityDmaintenanceNaver Search API + Datalab API MCP server with 19 tools for Korean web search and trend analysis.1913-
- FlicenseCqualityDmaintenance이 MCP 서버는 네이버 쇼핑인사이트 API와 검색 API를 통합하여 카테고리 및 키워드 트렌드를 조회하고 블로그, 쇼핑, 지식iN, 백과사전 검색을 수행할 수 있게 해줍니다.121-
- AlicenseAqualityCmaintenanceAn MCP server for the Naver Search Ad API that enables querying campaigns, ad groups, keywords, stats, keyword research, and bid estimates through any MCP client.19MIT