项目简介
本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,专注于集成 Naver OpenAPI。它将 Naver 提供的各种搜索 API (如博客搜索、新闻搜索、图书搜索等) 封装成 MCP 工具,使得支持 MCP 协议的 LLM 客户端能够通过标准的 JSON-RPC 协议调用这些工具,从而便捷地获取 Naver 平台上的信息。
主要功能点
- 提供丰富的 Naver 搜索工具: 包括博客、新闻、图书、百科、 카페 文章、问答、本地信息、网站、图片、购物、文档等多种搜索功能。
- 基于 FastMCP 框架: 使用 FastMCP 这一 Python MCP 框架简化了服务器的开发和部署。
- 易于安装和运行: 提供了简单的安装和运行命令,方便用户快速启动服务。
- 支持 OpenAPI 密钥配置: 通过环境变量 'NAVER_CLIENT_ID' 和 'NAVER_CLIENT_SECRET' 管理 Naver OpenAPI 的密钥,保证安全性。
安装步骤
-
克隆仓库
git clone https://github.com/pfldy2850/py-mcp-naver.git cd py-mcp-naver -
安装依赖 建议使用 'uv' (或者 'pip') 管理 Python 依赖。
uv sync --dev --all-extras # 推荐使用 uv,如果使用 pip,请替换为 pip install -r requirements.txt如果 'uv' 未安装,请先安装 'uv': 'pip install uv'
-
配置 Naver OpenAPI 密钥 你需要申请 Naver OpenAPI 的 Client ID 和 Client Secret。申请地址可以在 Naver Developer Center 找到。 获取密钥后,将其设置为环境变量:
export NAVER_CLIENT_ID="YOUR_NAVER_CLIENT_ID" export NAVER_CLIENT_SECRET="YOUR_NAVER_CLIENT_SECRET"请将 'YOUR_NAVER_CLIENT_ID' 和 'YOUR_NAVER_CLIENT_SECRET' 替换为你实际的密钥。
服务器配置 (MCP 客户端配置)
以下 JSON 配置信息用于 MCP 客户端连接此 MCP 服务器。客户端需要配置 'command' 和 'args' 来启动服务器进程。
{ "server name": "Naver MCP Server", "command": "python", "args": ["src/server.py"] // "command": "uv", // 或者使用 uv 运行 // "args": ["run", "python", "src/server.py"] // 使用 uv 运行时的参数 }
配置参数说明:
- '"server name"': 服务器的名称,可以自定义,用于在客户端标识服务器。
- '"command"': 启动服务器的命令。这里设置为 'python',表示使用 Python 解释器。你也可以根据你的环境设置为 'python3' 或指定 Python 解释器的完整路径。如果使用 'uv run' 启动,则设置为 '"uv"'。
- '"args"': 传递给启动命令的参数,以列表形式提供。
- '["src/server.py"]': 指定要运行的 Python 脚本为 'src/server.py'。如果使用 'uv run',则为 '["run", "python", "src/server.py"]'。
注意: MCP 客户端需要能够找到 'python' 命令以及项目依赖的环境。建议在与 MCP 客户端相同的环境中安装和运行此 MCP 服务器。
基本使用方法
-
启动 MCP 服务器: 根据上述 "服务器配置" 中的 'command' 和 'args',通过 MCP 客户端启动服务器。客户端会负责运行 'python src/server.py' (或 'uv run python src/server.py') 命令来启动 Naver MCP Server。
-
在 MCP 客户端中使用工具: 服务器成功启动后,MCP 客户端可以向服务器发送符合 MCP 协议的 JSON-RPC 请求,调用预定义的工具。
例如,要使用 'search_blog' 工具搜索关键词 "맛집",客户端需要构造一个 JSON-RPC 请求,指定方法名为 'search_blog',并提供参数 'query: "맛집"'。服务器会将请求转发给 Naver Blog Search API,并将结果以 JSON-RPC 响应的形式返回给客户端。
具体的工具名称和参数可以参考 'README.md' 或 'src/server.py' 文件中 '@mcp.tool' 装饰器定义的函数签名和描述。
-
查看日志: 服务器的运行日志 (例如错误信息) 通常会在启动服务器的终端或 MCP 客户端的日志中显示。
环境变量
- 'NAVER_CLIENT_ID': Naver OpenAPI Client ID (必须配置)
- 'NAVER_CLIENT_SECRET': Naver OpenAPI Client Secret (必须配置)
信息
分类
网页与API