by pfldy2850
py-mcp-naver is a Python-based MCP server that provides tools to interact with various Naver services, such as searching blogs, news, books, and more.
py-mcp-naver is a server implementation for Naver OpenAPI using the Model Context Protocol (MCP). It allows users to interact with various Naver services programmatically.
To use py-mcp-naver, you need to apply for access to the Naver Open API. Once you have your client ID and secret, you can install the library via pip (for Claude Desktop or Cursor) or from the source. The installation instructions provide commands for both uv
and pip
installers, and for running the server.
This server provides a wide range of tools for interacting with Naver OpenAPI, including:
py-mcp-naver can be used for various applications that require programmatic access to Naver services. Some potential use cases include:
Q: Do I need a Naver Open API key to use this project? A: Yes, you need to apply for access to the Naver Open API to use the Naver MCP server. Instructions for applying are provided in the README.
Q: What is MCP? A: MCP stands for Model Context Protocol. It is a protocol used for implementing servers that interact with various services.
Q: Can I search for specific types of content on Naver? A: Yes, the project offers specific search functions for blogs, news, books, images, shopping, and more, allowing you to target your searches.
Q: Is there a way to correct spelling errors using this tool?
A: Yes, the fix_spelling
tool is available to correct spelling errors in a given text.
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.
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
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>
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>
# 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-extras
Run 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.
This server provides the following tools for interacting with Naver OpenAPI:
The following tools are implemented in the server:
Search blog posts on Naver.
search_blog(query: str, display: int = 10, start: int = 1, sort: str = "sim")
Search news articles on Naver.
search_news(query: str, display: int = 10, start: int = 1, sort: str = "sim")
Search books on Naver.
search_book(query: str, display: int = 10, start: int = 1, sort: str = "sim")
Get detailed book information using title or ISBN.
get_book_adv(query: str = None, d_titl: str = None, d_isbn: str = None, ...)
Check if a search term is adult content.
adult_check(query: str)
Search encyclopedia entries on Naver.
search_encyc(query: str, display: int = 10, start: int = 1)
Search articles in Naver cafes.
search_cafe_article(query: str, display: int = 10, start: int = 1, sort: str = "sim")
Search questions and answers on Naver.
search_kin(query: str, display: int = 10, start: int = 1, sort: str = "sim")
Search local information on Naver.
search_local(query: str, display: int = 10, start: int = 1, sort: str = "random")
Correct spelling errors in a given text.
fix_spelling(query: str)
Search web pages on Naver.
search_webkr(query: str, display: int = 10, start: int = 1)
Search images on Naver with filters.
search_image(query: str, display: int = 10, start: int = 1, sort: str = "sim", filter: str = "all")
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)
Search documents on Naver.
search_doc(query: str, display: int = 10, start: int = 1)
This project is open source software licensed as MIT.
Reviews feature coming soon
Stay tuned for community discussions and feedback