Naver MCP Server
Provides access to Naver OpenAPI services including blog search, news search, book search, encyclopedia lookups, adult content checking, local information search, shopping search, image search, spelling correction, and more.
Naver MCP Server
A server implementation for Naver OpenAPI using the Model Context Protocol (MCP). This project provides tools to interact with various Naver services, such as searching blogs, news, books, and more.
Pre-requisite
To use the Naver MCP server, you need to apply for access to the Naver Open API. You can apply for Open API access at the link below:
https://developers.naver.com/apps/#/register=datalab
Related MCP server: Naver Encyclopedia MCP Server
Installation
from PyPi (Claude Desktop)
Install it to Claude Desktop with (uv):
uv pip install mcp-naver
uv run python -m mcp-naver.hosts.claude_desktop \
-e NAVER_CLIENT_ID=<YOUR NAVER CLIENT ID> \
-e NAVER_CLIENT_SECRET=<YOUR NAVER CLIENT SECRET>Install it to Claude Desktop with:
pip install mcp-naver
python -m mcp-naver.hosts.claude_desktop \
-e NAVER_CLIENT_ID=<YOUR NAVER CLIENT ID> \
-e NAVER_CLIENT_SECRET=<YOUR NAVER CLIENT SECRET>from PyPi (Cursor)
Install it to Cursor with (uv):
uv pip install mcp-naver
uv run python -m mcp-naver.hosts.cursor \
-e NAVER_CLIENT_ID=<YOUR NAVER CLIENT ID> \
-e NAVER_CLIENT_SECRET=<YOUR NAVER CLIENT SECRET>from source
# Clone the repository
git clone https://github.com/pfldy2850/py-mcp-naver.git
# Navigate into the project directory
cd py-mcp-naver
# Synchronize dependencies
uv sync --dev --all-extrasRun it with:
# Start the server (Using FastMCP CLI)
fastmcp install mcp_naver/server.py -e NAVER_CLIENT_ID=<YOUR NAVER CLIENT ID> -e NAVER_CLIENT_SECRET=<YOUR NAVER CLIENT SECRET>The tool sets up everything you need to create an MCP server integrated with Naver OpenAPI.
Features
This server provides the following tools for interacting with Naver OpenAPI:
Blog Search: Search blog posts on Naver.
News Search: Search news articles on Naver.
Book Search: Search books and advanced book information.
Adult Content Check: Check if a search term is adult content.
Encyclopedia Search: Search encyclopedia entries.
Cafe Article Search: Search articles in Naver cafes.
Q&A Search: Search questions and answers on Naver.
Local Search: Search local information.
Spelling Correction: Correct spelling errors in text.
Web Search: Search web pages.
Image Search: Search images with filters.
Shopping Search: Search shopping items with filters.
Document Search: Search documents.
Naver MCP Tools
The following tools are implemented in the server:
Blog Search
Search blog posts on Naver.
search_blog(query: str, display: int = 10, start: int = 1, sort: str = "sim")News Search
Search news articles on Naver.
search_news(query: str, display: int = 10, start: int = 1, sort: str = "sim")Book Search
Search books on Naver.
search_book(query: str, display: int = 10, start: int = 1, sort: str = "sim")Advanced Book Search
Get detailed book information using title or ISBN.
get_book_adv(query: str = None, d_titl: str = None, d_isbn: str = None, ...)Adult Content Check
Check if a search term is adult content.
adult_check(query: str)Encyclopedia Search
Search encyclopedia entries on Naver.
search_encyc(query: str, display: int = 10, start: int = 1)Cafe Article Search
Search articles in Naver cafes.
search_cafe_article(query: str, display: int = 10, start: int = 1, sort: str = "sim")Q&A Search
Search questions and answers on Naver.
search_kin(query: str, display: int = 10, start: int = 1, sort: str = "sim")Local Search
Search local information on Naver.
search_local(query: str, display: int = 10, start: int = 1, sort: str = "random")Spelling Correction
Correct spelling errors in a given text.
fix_spelling(query: str)Web Search
Search web pages on Naver.
search_webkr(query: str, display: int = 10, start: int = 1)Image Search
Search images on Naver with filters.
search_image(query: str, display: int = 10, start: int = 1, sort: str = "sim", filter: str = "all")Shopping Search
Search shopping items on Naver with filters.
search_shop(query: str, display: int = 10, start: int = 1, sort: str = "sim", filter: str = None, exclude: str = None)Document Search
Search documents on Naver.
search_doc(query: str, display: int = 10, start: int = 1)License
This project is open source software licensed as MIT.
Available Tools
14 toolsadult_checkC
Check if the search term is adult content
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
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 state whether the tool is read-only, what 'adult content' means or how it is determined, or what the response format is (e.g., boolean, score, or label). The verb 'Check' hints at a read-only operation, but this is not made explicit.
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 wasted words. It immediately conveys the core action and input.
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 annotations and an output schema, the description should explain what the tool returns and how to interpret the result. It does not mention the return type or semantics (e.g., true/false, safe/unsafe), leaving a critical gap for an agent that needs to act on the result.
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 has 0% description coverage for the single 'query' parameter, so the description must compensate. It identifies the parameter as the 'search term' to be checked, which adds useful meaning beyond the bare schema name, but it does not specify format constraints or examples. For a single string parameter, this is minimally adequate.
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 a specific verb ('Check') and resource ('search term is adult content'), making the tool's purpose clear. It implicitly distinguishes itself from the sibling search_* tools by being a classification check rather than a search operation, though it does not explicitly name siblings or contrast with them.
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, when not to use it, or any prerequisites. The agent must infer that it should be called before a search to filter adult content, but this is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fix_spellingC
Correct spelling errors in a given text
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not say whether the tool returns corrected text, a diff, or a list of errors, nor does it disclose language support, formatting preservation, rate limits, or any side effects.
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 wasted words. It is appropriately concise, though its brevity contributes to the gaps in guidance and behavioral detail.
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 simple one-parameter tool, the purpose is clear. However, with no annotations and no output schema, the description should do more to explain return behavior and input assumptions, leaving an agent with unresolved questions about 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?
Schema description coverage is 0%, and the only parameter is named 'query' with no schema description. The description implies the query is the text to correct, but adds no detail about format, length, language, or constraints.
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 a specific verb and resource: correcting spelling errors in text. It is clear enough to distinguish from the search-oriented sibling tools, though it does not explicitly name alternatives or boundary cases.
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, no prerequisites, and no exclusions. The intended use is only implied by the phrase 'correct spelling errors'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_book_advD
Get book information from Naver
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | sim | |
| query | No | ||
| start | No | ||
| d_isbn | No | ||
| d_titl | No | ||
| display | No |
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, yet it says nothing about authentication against the Naver API, pagination, rate limits, or the shape of results. A caller learns only that some book data comes back.
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 single sentence is not bloated, but it is under-specified rather than concise — it omits information an agent needs and spends its one clause on an unhelpful provenance note.
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 six undocumented parameters, no annotations, and no output schema, the description is completely inadequate for the tool's complexity. Nothing about result counts, paging, or field meanings is recoverable.
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 0% and six parameters need explanation, especially the opaque d_isbn, d_titl, and sort codes (default 'sim') plus start/display paging semantics. The description adds nothing beyond the bare parameter names.
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?
States a verb and resource ('Get book information from Naver'), so the basic intent is readable. But it never explains what 'adv' means or how this differs from the sibling search_book, leaving the agent unable to tell the two book tools apart.
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 statement of when to use this versus search_book, no preconditions, and no exclusions. The only hint is the vague 'from Naver', which implies an external API but not a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_blogC
Search blog posts on Naver
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | sim | |
| query | Yes | ||
| start | No | ||
| display | No |
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, and it discloses nothing beyond the name. It doesn't mention Naver API authentication requirements, result/pagination limits (e.g., start/display bounds), rate limits, or what a result record contains. For a low-risk read tool the bar is lower, but this adds essentially zero behavioral context.
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?
Front-loaded and waste-free, but at five words it is under-specified rather than concise for a tool with four parameters. There is room to add essential detail without 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?
With no annotations, no output schema, and zero parameter documentation, an agent cannot tell how to page results, what sort options exist, or what the response looks like. The description is far too thin for the complexity of a four-parameter search endpoint.
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 0% for four parameters (query, sort, start, display), and the description gives no parameter information at all. Nothing explains what sort values mean, what units start/display use, or their valid ranges, so an agent must guess.
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?
States a specific verb ("Search") and resource ("blog posts on Naver"), which cleanly separates it from siblings like search_news, search_book, or search_cafe_article. It doesn't explain what distinguishes blog results from cafe articles when both could match a query, but the resource name is clear enough for selection.
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 when-to-use guidance, no exclusions, and no mention of the other search_* siblings that overlap (e.g., search_cafe_article, search_webkr). The agent must infer that this is the right tool purely from the resource noun.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_bookC
Search books on Naver
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | sim | |
| query | Yes | ||
| start | No | ||
| display | No |
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, but it only says the tool searches books on Naver. It does not mention authentication requirements, rate limits, pagination behavior implied by start/display, or what kind of results are returned.
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 short phrase, so it contains no wasted text, but it is under-specified rather than appropriately concise. It does not front-load the additional information needed to invoke the tool correctly.
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 four-parameter search tool with no annotations, no output schema, and no schema descriptions, the definition is far from complete. It identifies the function and target service but omits parameter semantics, pagination behavior, and result expectations.
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 has 0% description coverage across four parameters, and the description adds no meaning for query, sort, start, or display. An agent must infer the purpose and accepted values of every parameter from their names alone.
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 gives a clear verb and resource ("Search books") and names the target service (Naver), so the core operation is immediately understandable. It implicitly distinguishes itself from sibling search tools by specifying books, though it does not explicitly name or compare against alternatives.
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?
It provides no guidance on when to use this tool versus sibling tools such as search_blog, search_news, or search_encyc beyond the obvious resource name. There are no exclusions, prerequisites, or alternative-selection instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_cafe_articleC
Search cafe articles on Naver
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | sim | |
| query | Yes | ||
| start | No | ||
| display | No |
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. It does not mention authentication needs, rate limits, pagination behavior via start/display, sort semantics, or result format.
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 single sentence is front-loaded with no filler. However, it is undersized for a four-parameter search tool, leaving critical invocation details unstated.
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?
There is no output schema and no annotations, while schema coverage is 0%. The description omits result behavior, pagination, sorting, and parameter meaning, making it minimally adequate at best.
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 0%, and the description mentions none of the four parameters. sort, start, and display are completely undocumented, and query is only implied by the tool name.
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?
States a specific verb ('Search') and resource ('cafe articles on Naver'), so an agent can tell it apart from generic web search. It does not explicitly differentiate itself from sibling tools like search_blog or search_news, which keeps it below 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 gives no when-to-use or when-not-to-use guidance and names no alternatives. Usage is only implied by the verb 'Search'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docC
Search documents on Naver
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| start | No | ||
| display | No |
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, yet it adds nothing beyond the name. It does not mention read-only semantics, result ordering, pagination behavior, rate limits, or what a result contains.
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 single five-word sentence is front-loaded and waste-free, but here the brevity is under-specification rather than economy. There is no structural signal such as a when-to-use clause or a note on parameter meaning.
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 annotations, no output schema, and zero parameter documentation, the description leaves an agent unable to determine return shape or pagination semantics. For a simple search tool it could still be invoked with just a query, which keeps it above a 1, but the "start"/"display" controls remain opaque.
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 0% across three parameters, and the description supplies no compensating meaning. Nothing explains what "start" (offset? page?) or "display" (result count? page size?) control, and the required "query" syntax is undefined.
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?
States a specific verb+resource ("Search documents") and names the provider (Naver), so the basic action is clear. However, with 13 sibling search_* tools, it does not differentiate what a "document" search covers versus search_encyc, search_kin, or search_webkr, so an agent cannot confidently pick it over its siblings.
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 statement of when to use this tool, when not to, or which sibling to prefer for a given query type. The agent is left to infer routing from the names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_encycC
Search encyclopedia on Naver
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| start | No | ||
| display | No |
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 and discloses almost nothing: no result format, no pagination behavior, no rate limits, no note that this is a read-only lookup. Only the implicit 'Naver encyclopedia' scope hints at what comes back.
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?
A single short sentence that is front-loaded and wastes nothing, but it is under-specified rather than genuinely concise — brevity here comes at the cost of missing information.
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 3-parameter search tool with no annotations and no output schema, the description should at minimum explain paging semantics and result scope. Neither is covered, so an agent cannot invoke it confidently beyond the required query.
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 0%, and the description explains none of the three parameters. 'query' is self-evident, but 'start' and 'display' (presumably pagination offset and page size, given their defaults of 1 and 10) are opaque in both schema and description.
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?
States a specific verb and resource: 'Search encyclopedia on Naver'. This makes the vertical obvious among siblings like search_blog, search_news, and search_webkr, though it never explicitly contrasts itself with them.
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 on when to choose this over search_webkr or search_doc, no prerequisites, no exclusions. The vertical is only implied by the tool name, which leaves the agent to infer the selection criteria itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_imageC
Search images on Naver
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | sim | |
| query | Yes | ||
| start | No | ||
| filter | No | all | |
| display | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, but it discloses nothing about rate limits, authentication requirements, result format, pagination, or filtering behavior. The phrase "on Naver" identifies the source but adds no meaningful behavioral context for invoking the tool correctly.
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 short, but its brevity reflects under-specification rather than efficient communication. It contains no wasted words, but it omits information an agent needs to select and invoke the tool correctly.
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 tool with five parameters, no annotations, no output schema, and zero schema description coverage, the description is completely inadequate. It does not provide the contextual detail needed to understand how the tool behaves or how to use its parameters 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?
The input schema has five parameters with 0% description coverage, and the description does not explain any of them. Critical parameters such as sort, start, filter, and display are entirely undocumented in both the schema and the description.
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 a specific verb and resource ("Search images") and names the platform (Naver), which distinguishes it from siblings like search_blog, search_news, and search_shop. It does not explicitly contrast with those siblings, but the resource is clear enough for an agent to identify 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?
The description gives no guidance on when to use this tool versus alternatives such as search_webkr or search_blog, nor does it mention any prerequisites, exclusions, or context for image-specific searches. Usage is only implied by the tool name and resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_kinC
Search Q&A on Naver
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | sim | |
| query | Yes | ||
| start | No | ||
| display | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Search' implies a read-only operation, but the description does not disclose pagination behavior, rate limits, authentication requirements, or result format. It offers only the bare minimum implied by the verb.
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 short phrase and is front-loaded, so it is concise. However, its brevity comes at the cost of under-specification rather than efficient information density.
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 tool with four parameters, one required, no annotations, no output schema, and no parameter descriptions, the description is far too thin. It does not explain required inputs, sorting options, pagination via start/display, or what the search returns.
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 0%, and the description says nothing about the four parameters (query, sort, start, display). The schema itself provides only titles and defaults, so the description fails to compensate for the missing parameter semantics.
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 a specific verb and resource: 'Search Q&A on Naver.' This clearly separates it from sibling search tools like search_blog, search_news, and search_image by naming the Q&A domain. It stops short of explicitly naming alternatives, but the purpose is 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 gives no guidance on when to use this tool versus siblings such as search_webkr or search_encyc, nor does it mention prerequisites or exclusions. It only implies basic search usage through the verb 'Search.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_localC
Search local information on Naver
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | random | |
| query | Yes | ||
| start | No | ||
| display | No |
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 implies a read-only search against Naver, but does not disclose permissions, rate limits, pagination behavior, result ordering, or whether results are cached/live.
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?
A single front-loaded sentence with no filler, so it is structurally clean. However, it is under-specified rather than appropriately concise for a tool with four parameters.
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 four-parameter search tool with no annotations and no output schema, the description is incomplete. It identifies the search domain but omits usage guidance, parameter semantics, and result behavior.
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 0%, and the description adds no parameter meaning. The query parameter is only implied by "Search," while sort, start, and display are entirely undocumented.
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?
States a specific verb ("Search") and resource ("local information on Naver"). It is clear enough to distinguish from sibling searches by domain, though it does not explicitly contrast with search_webkr or other alternatives.
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?
Provides no guidance on when to use this tool versus search_webkr, search_shop, or other sibling search tools. There are no prerequisites, exclusions, or contextual usage notes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_newsC
Search news articles on Naver
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | sim | |
| query | Yes | ||
| start | No | ||
| display | No |
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 and fails to do so. It says nothing about result ordering, default page size, pagination limits, maximum display/start values, or whether results are deduplicated — all material for a search tool with four parameters.
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?
A single front-loaded sentence with zero filler, which is appropriate in form. It is under-specified rather than bloated, so it loses points only for not earning its place as a complete definition.
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?
No annotations, no output schema, and 0% parameter coverage mean the description is the only source of information, yet it supplies none of it. For a search tool with pagination and sort parameters, an agent lacks enough to invoke it correctly.
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 0% across four parameters, so the description must compensate and does not: query, sort, start, and display are never mentioned or explained. An agent would have to guess at valid sort values (schema shows no enum) and pagination semantics.
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?
States a specific verb and resource ('Search news articles'), and the Naver platform scoping is explicit. The resource (news) naturally distinguishes it from siblings like search_blog and search_book, though the description never names them explicitly.
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 indication of when to pick this over alternatives (e.g., when to prefer search_webkr or search_blog for the same query), and no prerequisites or constraints stated. Usage is only inferrable from the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_shopC
Search shopping items on Naver
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | sim | |
| query | Yes | ||
| start | No | ||
| filter | No | ||
| display | No | ||
| exclude | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the one-sentence description discloses no behavioral traits such as authentication requirements, rate limits, sorting behavior, pagination, or return format. For a search tool with zero 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 front-loaded and has no wasted words, but it is under-specified for a tool with six parameters and no schema descriptions. Brevity here comes at the cost of necessary information.
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 six parameters, no annotations, no output schema, and no parameter documentation, the description is far too sparse. An agent cannot reliably invoke this tool or understand its options from the description alone.
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 six parameters with 0% description coverage, and the description does not mention any of them. Parameters like sort, filter, exclude, start, and display are left completely unexplained, forcing the agent to guess their meaning and usage.
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 a specific verb and resource: 'Search shopping items.' It is distinguishable from sibling searches like search_blog or search_news by the shopping domain, though it does not explicitly reference those alternatives.
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 the many sibling search tools, nor are there any exclusions or prerequisites. Usage is only implied by the shopping-specific resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_webkrC
Search web pages on Naver
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| start | No | ||
| display | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not explain pagination behavior, result format, authentication needs, rate limits, or whether results are ranked or filtered, leaving the agent with only the bare 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 with no wasted words, but it is under-specified rather than appropriately concise. It lacks the structure needed to guide setup or parameter use.
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 annotations, no output schema, and 0% parameter description coverage, the description is too thin for a three-parameter search tool. It omits pagination semantics, return behavior, and differentiation from the large set of sibling search 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?
Schema description coverage is 0%, and the description adds no meaning for query, start, or display. It does not explain query syntax, that start controls pagination offset, or that display controls result count.
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 a specific verb and resource: 'Search web pages on Naver.' It distinguishes the resource from sibling search tools like search_blog and search_news by specifying web pages, but it does not explicitly name or contrast those alternatives.
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 the many sibling search tools, nor any prerequisites or exclusions. The agent must infer from the resource name alone that this is the general web search option.
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.
14 tool updates
v0.1.5- First observed
adult_check - First observed
fix_spelling - First observed
get_book_adv - First observed
search_blog - First observed
search_book - First observed
search_cafe_article - First observed
search_doc - 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 14 tools
Most tools are clearly separated by search domain (blog, news, book, image, shop, etc.), so an agent can usually pick the right one. Minor ambiguity exists between search_book and get_book_adv, and search_doc vs search_webkr may require interpretation.
The dominant pattern is search_<domain>, used consistently across most tools. A few utility/detail tools deviate (get_book_adv, adult_check, fix_spelling), but they remain readable and not chaotic.
14 tools is well within a reasonable range for a search-oriented MCP server. Each tool maps to a distinct Naver search category or small utility, so the count feels well-scoped.
The surface covers a broad set of Naver search domains plus adult-content checking and spelling correction. There are minor gaps such as limited detail-fetching beyond books and no obvious movie/other Naver search categories, but core search workflows are covered.
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 Russian books search, details, and recommendation candidates.
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
MCP server for searching Airweave collections with natural language queries.
Related MCP Servers
- AlicenseBqualityBmaintenanceAn MCP server that enables searching various content types (news, blogs, shopping, images, etc.) through Naver's search API.19140 npm87MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that wraps Naver's encyclopedia search API, allowing users to search for information from Naver's encyclopedia through stdin/stdout or HTTP interfaces.-
- FlicenseAqualityCmaintenanceNaver Search API + Datalab API MCP server with 19 tools for Korean web search and trend analysis.1911 npm-
- AlicenseCqualityDmaintenance이 MCP 서버는 네이버 쇼핑인사이트 API와 검색 API를 통합하여 카테고리 및 키워드 트렌드를 조회하고 블로그, 쇼핑, 지식iN, 백과사전 검색을 수행할 수 있게 해줍니다.121ISC