Naver Search MCP Server–SSE部署指南(单个Dockerfile)
Naver搜索MCP服务器是将Naver搜索和DataLab Open API作为服务器-发送事件(MCP)协议进行中继的单一容器服务。\ 您可以在一个Dockerfile中构建和运行。 NAVER_API_BASE_URL 您可以仅通过环境变量指定Naver API或代理。\ 应用程序在容器内部进行SSE通信 mcp-proxy使用。
该服务器旨在让LangChain等MCP客户端与Naver搜索和DataLab API进行实时通信。
______________________________________________________________________
1)环境变量
| 变量名 | 是否必需 | 默认值 | 说明 |
|---|---|---|---|
NAVER_API_BASE_URL | 选择 | https://openapi.naver.com | Naver API默认URL或代理地址 |
NAVER_API_KEY | 必需 | - | Naver API验证密钥 |
NAVER_CLIENT_ID | 必需 | - | Naver API客户端ID |
NAVER_CLIENT_SECRET | 必需 | - | Naver API客户端机密 |
NAVER_PROFILE | 选择-- | 标识服务或部署环境的唯一配置文件ID | |
BRIDGE_PORT | 选择 | 8080 | 服务器端口 |
NODE_ENV | 选择 | production | Node环境变量 |
在应用程序内部 NAVER_API_BASE_URL 后面 /v1/search, /v1/datalab 路径将自动粘贴。\ 后行 /将自动删除。
______________________________________________________________________
2)源代码clone
git clone https://github.com/wookja-0/naver-mcp-server.git______________________________________________________________________
3)构建/运行Docker
# 빌드
docker build -t //naver-mcp:sse .环境变量设置示例(未使用代理)
# NAVER_API_BASE_URL 생략 가능 (기본값: https://openapi.naver.com)
docker run -p 8080:8080 -e NAVER_API_KEY=aaaaaa -e NAVER_CLIENT_ID=xxxxxxxx -e NAVER_CLIENT_SECRET=yyyyyyyy //naver-mcp:sse环境变量设置示例(使用代理)
docker run -p 8080:8080 -e NAVER_API_BASE_URL=http://
:
/naver -e NAVER_API_KEY=aaaaaa -e NAVER_CLIENT_ID=xxxxxxxx -e NAVER_CLIENT_SECRET=yyyyyyyy //naver-mcp:sse设置外部Proxy(NGINX)
# Naver API (MCP 용)
location /naver/ {
proxy_pass https://openapi.naver.com/;
proxy_set_header Host openapi.naver.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_ssl_verify off;
proxy_ssl_server_name on;
proxy_connect_timeout 30s;
proxy_send_timeout 30s;
proxy_read_timeout 30s;
# SSL 설정 추가
proxy_ssl_protocols TLSv1.2 TLSv1.3;
proxy_ssl_ciphers HIGH:!aNULL:!MD5;
}______________________________________________________________________
4)部署K8s时
apiVersion: v1
kind: ConfigMap
metadata:
name: naver-mcp-config
data:
NAVER_API_BASE_URL: "http://
:
/naver" # 프록시 서버 사용 시 추가, 미사용 시 제외
BRIDGE_PORT: "8080"
---
apiVersion: v1
kind: Secret
metadata:
name: naver-mcp-secret
type: Opaque
stringData:
NAVER_API_KEY: ""
NAVER_CLIENT_ID: ""
NAVER_CLIENT_SECRET: ""
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: naver-mcp-server
labels: { app: naver-mcp-server }
spec:
replicas: 1
selector:
matchLabels: { app: naver-mcp-server }
template:
metadata:
labels: { app: naver-mcp-server }
spec:
containers:
- name: naver-mcp-server
image: //naver-mcp:sse
imagePullPolicy: IfNotPresent
envFrom:
- secretRef:
name: naver-mcp-secret
- configMapRef:
name: naver-mcp-config
env:
- name: LOG_DIR
value: "/var/log/naver-mcp"
ports:
- name: http
containerPort: 8080
volumeMounts:
- name: logs
mountPath: /var/log/naver-mcp
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "512Mi"
volumes:
- name: logs
persistentVolumeClaim:
claimName: naver-mcp-logs______________________________________________________________________
5)后端(客户端)连接示例
from langchain_mcp_adapters.client import MultiServerMCPClient
mcp_client = MultiServerMCPClient(
{
"naver-search-mcp": {
"transport": "sse",
"url": "http://:8080/sse" # 예) http://naver-mcp-server.svc.cluster.local:8080/sse
}
}
)暴露到NodePort:使用工作节点IP和NodePort
______________________________________________________________________
源和许可证
- 源存储库: isnow890/naver搜索mcp
- 许可证:MIT
______________________________________________________________________
Smithery专用路径(/@org/server/mcp?...)。\ 服务器容器包括:NAVER_CLIENT_ID/SECRET(K8s Secret)被注入并调用NAVER API。
