Skip to main content
Glama

Naver Encyclopedia MCP Server

by cola314
PROJECT_SUMMARY.md6.27 kB
# 네이버 백과사전 검색 MCP 서버 - 프로젝트 완성 요약 ## 🎉 프로젝트 완성! 네이버 백과사전 검색 API를 MCP(Model Context Protocol) 서버로 래핑하는 프로젝트가 성공적으로 완성되었습니다. ## ✅ 구현된 기능들 ### 1. 핵심 컴포넌트 - ✅ **네이버 API 클라이언트** (`src/naver_api.py`) - 네이버 백과사전 검색 API 연동 - 오류 처리 및 예외 관리 - API 키 검증 - ✅ **데이터 모델** (`src/models.py`) - Pydantic을 사용한 타입 안전한 데이터 모델 - 검색 요청/응답 모델 정의 - 오류 응답 모델 - ✅ **MCP 서버** (`src/server.py`) - FastMCP를 사용한 MCP 서버 구현 - stdin/stdout 모드 지원 - HTTP 모드 지원 - 백과사전 검색 함수 등록 - ✅ **설정 관리** (`config/settings.py`) - 환경 변수를 통한 설정 관리 - API 키 및 서버 설정 ### 2. 지원하는 실행 모드 - ✅ **stdin/stdout 모드**: `python3 run_server.py --mode stdin` - ✅ **HTTP 모드**: `python3 run_server.py --mode http --host localhost --port 8000` ### 3. 테스트 코드 - ✅ **API 클라이언트 테스트** (`tests/test_naver_api.py`) - 성공 케이스 테스트 - 오류 케이스 테스트 - 네트워크 오류 테스트 - ✅ **서버 테스트** (`tests/test_server.py`) - 서버 초기화 테스트 - API 클라이언트 통합 테스트 - 오류 처리 테스트 ### 4. 문서화 - ✅ **설계 문서** (`docs/design.md`) - ✅ **API 참조 문서** (`docs/api-reference.md`) - ✅ **구현 가이드** (`docs/implementation-guide.md`) - ✅ **README** (`README.md`) ### 5. 프로젝트 설정 - ✅ **의존성 관리** (`requirements.txt`) - ✅ **환경 변수 예시** (`env.example`) - ✅ **Git 무시 파일** (`.gitignore`) - ✅ **실행 스크립트** (`run_server.py`) ## 🧪 테스트 결과 ``` ========================================= test session starts ========================================= collected 6 items tests/test_naver_api.py ... [ 50%] tests/test_server.py ... [100%] ==================================== 6 passed, 1 warning in 0.46s ===================================== ``` **모든 테스트 통과!** ✅ ## 🚀 사용 방법 ### 1. 설치 및 설정 ```bash # 의존성 설치 pip install -r requirements.txt # 환경 변수 설정 cp env.example .env # .env 파일에 네이버 API 키 입력 ``` ### 2. 서버 실행 (권장 방법) ```bash # stdin/stdout 모드 python3 run_server.py --mode stdin # HTTP 모드 python3 run_server.py --mode http --host localhost --port 8000 # 도움말 python3 run_server.py --help ``` ### 3. 직접 실행 방법 ```bash # stdin/stdout 모드 PYTHONPATH=. python3 src/server.py --mode stdin # HTTP 모드 PYTHONPATH=. python3 src/server.py --mode http --host localhost --port 8000 ``` ### 4. 테스트 실행 ```bash PYTHONPATH=. python3 -m pytest tests/ -v ``` ## 📁 프로젝트 구조 ``` naver-encyc-mcp/ ├── src/ │ ├── __init__.py │ ├── server.py # MCP 서버 메인 │ ├── naver_api.py # 네이버 API 클라이언트 │ └── models.py # 데이터 모델 ├── config/ │ ├── __init__.py │ └── settings.py # 설정 관리 ├── tests/ │ ├── __init__.py │ ├── test_naver_api.py # API 클라이언트 테스트 │ └── test_server.py # 서버 테스트 ├── docs/ # 문서 │ ├── design.md # 설계 문서 │ ├── api-reference.md # API 참조 │ └── implementation-guide.md # 구현 가이드 ├── requirements.txt # 의존성 ├── env.example # 환경 변수 예시 ├── .gitignore # Git 무시 파일 ├── run_server.py # 실행 스크립트 (권장) ├── README.md # 프로젝트 문서 └── PROJECT_SUMMARY.md # 이 파일 ``` ## 🔧 MCP 함수 ### search_encyclopedia 네이버 백과사전에서 검색어로 관련 정보를 검색합니다. **파라미터:** - `query` (string, 필수): 검색할 키워드 - `display` (integer, 선택): 한 번에 표시할 검색 결과 개수 (기본값: 10, 최대: 100) - `start` (integer, 선택): 검색 시작 위치 (기본값: 1, 최대: 1000) **응답:** ```json { "total": 100, "start": 1, "display": 10, "items": [ { "title": "검색 결과 제목", "link": "https://example.com", "description": "검색 결과 설명", "thumbnail": "https://example.com/image.jpg" } ], "last_build_date": "Mon, 26 Sep 2016 10:50:00 +0900" } ``` ## 🛡️ 오류 처리 서버는 다음과 같은 오류 상황을 처리합니다: - 네이버 API 오류 (SE01, SE02, SE03 등) - 네트워크 오류 - 설정 오류 (API 키 미설정) - 예상치 못한 오류 오류 응답 형식: ```json { "error": true, "error_code": "ERROR_CODE", "message": "오류 메시지", "status_code": 400 } ``` ## 🎯 다음 단계 1. **실제 API 키 설정**: 네이버 개발자 센터에서 API 키 발급 2. **실제 테스트**: 실제 네이버 API와 연동 테스트 3. **성능 최적화**: 캐싱, 연결 풀링 등 4. **모니터링**: 로깅 및 모니터링 도구 연동 5. **배포**: Docker, Kubernetes 등으로 배포 ## 📚 참고 자료 - [네이버 백과사전 검색 API 문서](https://developers.naver.com/docs/serviceapi/search/encyclopedia/encyclopedia.md) - [FastMCP 문서](https://github.com/fastmcp/fastmcp) - [MCP 프로토콜 스펙](https://modelcontextprotocol.io/) --- **프로젝트 완성!** 🎉 네이버 백과사전 검색 API를 MCP 서버로 성공적으로 래핑하여 AI 모델이 백과사전 정보를 쉽게 검색할 수 있도록 구현했습니다. **주요 개선사항:** - ✅ 실행 스크립트 추가로 사용 편의성 향상 - ✅ 모든 테스트 통과 - ✅ 완전한 문서화 - ✅ stdin/stdout 및 HTTP 모드 모두 지원

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cola314/naver-encyc-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server