logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Naver-Data-Accessor-MCP

A Model Context Protocol (MCP) server component designed for comprehensive interaction with diverse Naver platforms, enabling sophisticated information retrieval across blogs, news feeds, publications, and more, leveraging the official Naver Developer APIs. This facilitates robust search and data validation within applications.

Author

Naver-Data-Accessor-MCP logo

pfldy2850

MIT License

Quick Info

GitHub GitHub Stars 111
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

naveropenapiapisnaver servicesnaver openapiusing naver

Naver API Integration via MCP Server

This repository details a server implementation conforming to the Model Context Protocol (MCP) specifically tailored for interacting with the Naver Open API suite. It furnishes tools for querying numerous Naver resources, including but not limited to search results for weblogs, current affairs reports, literary works, and ancillary data streams.

Prerequisite Configuration

Access to the Naver Open API infrastructure mandates prior application and approval. Developers must register their credentials via the following portal:

https://developers.naver.com/apps/#/register=datalab

Deployment Instructions

Via PyPi (Intended for Claude Desktop Environments)

Installation utilizing the uv package manager: sh uv pip install mcp-naver

uv run python -m mcp-naver.hosts.claude_desktop \ -e NAVER_CLIENT_ID="" \ -e NAVER_CLIENT_SECRET=""

Standard Python environment installation: sh pip install mcp-naver

python -m mcp-naver.hosts.claude_desktop \ -e NAVER_CLIENT_ID="" \ -e NAVER_CLIENT_SECRET=""

Via PyPi (Intended for Cursor Environments)

Installation utilizing the uv package manager: sh uv pip install mcp-naver

uv run python -m mcp-naver.hosts.cursor \ -e NAVER_CLIENT_ID="" \ -e NAVER_CLIENT_SECRET=""

From Source Code Checkout

  1. Obtain the repository source: sh git clone https://github.com/pfldy2850/py-mcp-naver.git

Navigate into the repository root

cd py-mcp-naver

Resolve and install all necessary dependencies, including development extras

uv sync --dev --all-extras

  1. Initiate the server using the FastMCP command-line utility: sh fastmcp install mcp_naver/server.py -e NAVER_CLIENT_ID="" -e NAVER_CLIENT_SECRET=""

This setup establishes a fully operational MCP server environment integrated with the Naver API endpoints.

Available Capabilities

The integrated server exposes the following specialized tools for data querying against Naver services:

  • Weblog Retrieval: Execute searches against Naver's collected weblogs.
  • Journalism Indexing: Fetch and analyze indexed news articles.
  • Publication Data Access: Retrieve book metadata and details.
  • Content Moderation Check: Determine if search terms qualify as adult material.
  • Reference Lookup: Query entries within the Naver Encyclopedia.
  • Community Posts Query: Search articles hosted within Naver Cafes.
  • Inquiry/Response System: Search Naver's Knowledge Q&A repository (KIN).
  • Geospatial Data Retrieval: Search for local business and location information.
  • Orthographic Correction: Perform linguistic error correction on input strings.
  • General Web Index Search: Search the broad Naver web index.
  • Visual Asset Discovery: Search for images, optionally applying specific retrieval criteria.
  • E-commerce Item Search: Query product listings, supporting filtering and exclusion parameters.
  • Digital Document Search: Retrieve indexed document files.

Implemented Naver MCP Functions

Weblog Retrieval

Function to retrieve Naver blog entries. python search_blog(query: str, display: int = 10, start: int = 1, sort: str = "sim")

Journalism Indexing

Function to retrieve Naver news items. python search_news(query: str, display: int = 10, start: int = 1, sort: str = "sim")

Publication Data Access

Function to search for books on Naver. python search_book(query: str, display: int = 10, start: int = 1, sort: str = "sim")

Detailed Book Information Retrieval

Retrieves enriched book metadata using identifiers like title or ISBN. python get_book_adv(query: str = None, d_titl: str = None, d_isbn: str = None, ...)

Content Moderation Check

Verifies whether the provided string pertains to sensitive adult content. python adult_check(query: str)

Reference Lookup

Function to search entries in the Naver Encyclopedia. python search_encyc(query: str, display: int = 10, start: int = 1)

Community Posts Query

Function to search articles within Naver cafe forums. python search_cafe_article(query: str, display: int = 10, start: int = 1, sort: str = "sim")

Function to retrieve results from Naver's Q&A repository. python search_kin(query: str, display: int = 10, start: int = 1, sort: str = "sim")

Geospatial Data Retrieval

Function to search for points of interest or local business data. python search_local(query: str, display: int = 10, start: int = 1, sort: str = "random")

Orthographic Correction

Applies language models to correct typographical or spelling inaccuracies in text. python fix_spelling(query: str)

Function to query the primary Naver web index. python search_webkr(query: str, display: int = 10, start: int = 1)

Visual Asset Discovery

Function to search for images, supporting result set filtering. python search_image(query: str, display: int = 10, start: int = 1, sort: str = "sim", filter: str = "all")

Function to retrieve marketplace product listings, allowing for specific filtering and exclusions. python search_shop(query: str, display: int = 10, start: int = 1, sort: str = "sim", filter: str = None, exclude: str = None)

Function to retrieve indexed digital documents from Naver. python search_doc(query: str, display: int = 10, start: int = 1)

Licensing

This software is distributed under the terms of the MIT Open Source License.

WIKIPEDIA: The XMLHttpRequest (XHR) is an Application Programming Interface, presented as a JavaScript object, whose methods are utilized to dispatch HTTP requests from a client-side web browser to a remote web server. These methods enable a browser-based application to asynchronously submit inquiries to the server post-page-load and receive subsequent data in return. XHR forms a foundational element of Ajax programming paradigms. Before its advent, server communication predominantly relied on traditional hyperlink navigation and form submissions, actions that typically necessitated a full page refresh.

== Evolutionary Path == The conceptual foundation for XMLHttpRequest was initially formulated in the year 2000 by development teams working on Microsoft Outlook. This concept was subsequently integrated into the Internet Explorer 5 browser release (1999). Notably, the initial implementation did not employ the modern XMLHttpRequest nomenclature; instead, developers referenced COM objects via ActiveXObject("Msxml2.XMLHTTP") or ActiveXObject("Microsoft.XMLHTTP"). By the time Internet Explorer 7 was released (2006), full standardized support for the XMLHttpRequest identifier was universally present across major browser platforms, including Mozilla's Gecko engine (2002), Safari 1.2 (2004), and Opera 8.0 (2005).

The XMLHttpRequest identifier has since solidified its position as the de facto standard across all prominent web browsers.

=== Standardization Efforts === The World Wide Web Consortium (W3C) published the initial Working Draft specification for the XMLHttpRequest object on April 5, 2006. A subsequent Working Draft Level 2 specification was released by the W3C on February 25, 2008. Level 2 introduced critical enhancements such as progress monitoring methods, support for cross-origin requests, and mechanisms for handling raw byte streams. Towards the close of 2011, the Level 2 features were formally merged back into the primary specification document. Since the end of 2012, the maintenance and evolution of the living standard document have been overseen by the WHATWG, utilizing the Web IDL specification language.

== Operational Procedures == Executing a typical server request using XMLHttpRequest generally involves a sequence of distinct programming steps:

  1. Instantiation: Create an instance of the XMLHttpRequest object by invoking its constructor.
  2. Configuration: Invoke the "open" method to define the HTTP method (e.g., GET/POST), specify the target Uniform Resource Identifier (URI), and declare whether the operation should be synchronous or asynchronous.
  3. Listener Setup (Asynchronous Mode): If an asynchronous transaction is chosen, register an event handler function to be invoked upon changes in the request's state.
  4. Transmission: Commence the request process by calling the "send" method, optionally providing data payload.
  5. Response Handling: Monitor the state changes within the registered event listener. Upon completion (state transitioning to 4, the "done" state), the server's received data is typically accessible via the "responseText" property.

Beyond these fundamental steps, XHR offers extensive control over request submission and response processing. Custom header fields can be injected to guide server behavior. Data payloads can be uploaded within the "send" invocation. Responses, particularly those in JSON format, can be automatically deserialized into native JavaScript objects or streamed incrementally as they arrive, avoiding blocking wait times. Furthermore, requests can be programmatically terminated prematurely or configured with timeouts.

See Also

`