navermap-mcp-server

flor3z-github/navermap-mcp-server

3.2

If you are the rightful owner of navermap-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

Naver Map MCP Server provides Naver Map API functionalities through the Model Context Protocol (MCP) for use in Claude Code and other MCP clients.

Tools
5
Resources
0
Prompts
0

Naver Map MCP Server

네이버 지도 API를 Model Context Protocol (MCP) 도구로 제공하는 서버입니다. Claude Desktop, Claude Code, VS Code 등 MCP 클라이언트에서 네이버 지도 기능을 사용할 수 있습니다.

주요 기능

  • 주소 → 좌표 변환 (Geocoding): 도로명/지번 주소를 경도, 위도 좌표로 변환
  • 좌표 → 주소 변환 (Reverse Geocoding): 좌표를 법정동, 행정동, 도로명, 지번 주소로 변환
  • 경로 탐색 (Directions): 출발지-목적지 간 거리, 소요시간, 통행료, 택시비, 유류비 계산
  • 정적 지도 이미지 생성 (Static Map): 마커, 경로가 포함된 지도 이미지 생성
  • API 사용량 조회 (Usage): 월별 사용량, 비용, 무료 한도 대비 사용률 확인

보안 주의사항

주의: 이 서버는 네이버 클라우드 API에 접근하며, 무료 한도 초과 시 요금이 부과될 수 있습니다.

  • API 키를 코드나 공개 저장소에 노출하지 마세요
  • 환경변수나 설정 파일을 통해 안전하게 관리하세요
  • 무료 한도를 초과하면 사용량에 따라 요금이 부과됩니다
  • navermap_get_usage 도구로 정기적으로 사용량을 확인하세요

설치

npm install -g @flor3z-github/navermap-mcp-server

또는 npx로 직접 실행:

npx -y @flor3z-github/navermap-mcp-server

환경변수 설정

필수 (Maps API)

Naver Cloud Platform에서 Application을 생성하고 API 키를 발급받으세요.

NAVER_CLIENT_ID=your_client_id
NAVER_CLIENT_SECRET=your_client_secret

선택 (Billing API - 사용량 조회)

사용량 조회 기능을 사용하려면 추가 키가 필요합니다:

NCLOUD_ACCESS_KEY=your_access_key
NCLOUD_SECRET_KEY=your_secret_key

Billing API 키가 없어도 나머지 4개 도구는 정상 작동합니다.

클라이언트 설정

Claude Desktop

claude_desktop_config.json 파일에 다음을 추가하세요:

전체 기능 사용:

{
  "mcpServers": {
    "navermap": {
      "command": "npx",
      "args": ["-y", "@flor3z-github/navermap-mcp-server"],
      "env": {
        "NAVER_CLIENT_ID": "your_client_id",
        "NAVER_CLIENT_SECRET": "your_client_secret",
        "NCLOUD_ACCESS_KEY": "your_access_key",
        "NCLOUD_SECRET_KEY": "your_secret_key"
      }
    }
  }
}

Maps API만 사용:

{
  "mcpServers": {
    "navermap": {
      "command": "npx",
      "args": ["-y", "@flor3z-github/navermap-mcp-server"],
      "env": {
        "NAVER_CLIENT_ID": "your_client_id",
        "NAVER_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

VS Code

.vscode/mcp.json 또는 사용자 설정의 mcp.json에 추가:

{
  "servers": {
    "navermap": {
      "command": "npx",
      "args": ["-y", "@flor3z-github/navermap-mcp-server"],
      "env": {
        "NAVER_CLIENT_ID": "your_client_id",
        "NAVER_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

Claude Code

claude mcp add navermap \
  --env NAVER_CLIENT_ID=your_client_id \
  --env NAVER_CLIENT_SECRET=your_client_secret \
  --env NCLOUD_ACCESS_KEY=your_access_key \
  --env NCLOUD_SECRET_KEY=your_secret_key \
  -- npx -y @flor3z-github/navermap-mcp-server

Maps API만 사용 시:

claude mcp add navermap \
  --env NAVER_CLIENT_ID=your_client_id \
  --env NAVER_CLIENT_SECRET=your_client_secret \
  -- npx -y @flor3z-github/navermap-mcp-server

제공 도구

모든 도구는 읽기 전용(readOnlyHint: true)으로 설정되어 있어 데이터를 변경하지 않습니다.

1. navermap_geocode

주소를 좌표로 변환합니다.

파라미터:

이름필수설명
queryO검색할 주소
coordinateX검색 중심 좌표 (경도,위도)
filterX결과 필터 (예: HCODE:1168000000)
languageX응답 언어 (ko, en, ja, zh)
pageX페이지 번호
countX결과 수 (최대 100)

사용 예시:

"서울특별시 강남구 테헤란로 152" 주소의 좌표를 알려줘

2. navermap_reverse_geocode

좌표를 주소로 변환합니다.

파라미터:

이름필수설명
coordsO좌표 (경도,위도 형식)
sourcecrsX입력 좌표계
targetcrsX출력 좌표계
ordersX응답 순서 (legalcode,admcode,addr,roadaddr)
outputX응답 형식 (json, xml)

사용 예시:

127.0368,37.5085 좌표의 주소를 알려줘

3. navermap_get_directions

경로를 탐색하고 거리, 소요시간, 비용 정보를 제공합니다.

파라미터:

이름필수설명
startO출발지 좌표 (경도,위도)
goalO목적지 좌표 (경도,위도)
waypointsX경유지 (최대 5개, |로 구분)
optionX경로 옵션 (trafast, tracomfort, traoptimal, traavoidtoll, traavoidcaronly)
cartypeX차량 종류 (1~6)
fueltypeX연료 종류
mileageX연비 (km/L)

경로 옵션:

  • trafast: 실시간 빠른길
  • tracomfort: 편한길
  • traoptimal: 최적 (기본값)
  • traavoidtoll: 무료 우선
  • traavoidcaronly: 자동차 전용도로 회피

사용 예시:

강남역에서 여의도까지 경로 알려줘

4. navermap_get_static_map

정적 지도 이미지를 생성합니다.

파라미터:

이름필수설명
centerO중심 좌표 (경도,위도)
levelX줌 레벨 (1~20, 기본값: 16)
wX이미지 너비 (최대 1024)
hX이미지 높이 (최대 1024)
maptypeX지도 유형 (basic, traffic, satellite, satellite_base, terrain)
markersX마커 설정
pathX경로 설정
scaleX이미지 스케일 (1 또는 2)

사용 예시:

서울역 주변 지도를 보여줘

5. navermap_get_usage

API 사용량과 비용을 조회합니다. (NCLOUD_ACCESS_KEY, NCLOUD_SECRET_KEY 필요)

파라미터:

이름필수설명
monthX조회할 월 (YYYY-MM, 기본값: 당월)

사용 예시:

이번 달 네이버 지도 API 사용량 알려줘

응답 예시:

## 2024-12 Naver Maps API 사용량 현황

### 경고
- Directions 5 사용률이 75.0%입니다. 한도에 주의하세요.

### 서비스별 사용량

| 서비스 | 사용량 | 무료한도 | 사용률 | 비용 |
|--------|--------|----------|--------|------|
| Directions 5 | 45,000 | 60,000 | 75.0% | 0원 |
| Geocoding | 1,500,000 | 3,000,000 | 50.0% | 0원 |
| ... | ... | ... | ... | ... |

### 총 비용: 0원

무료 이용량 안내

Naver Maps API는 월별 무료 이용량을 제공합니다:

서비스무료 한도 (월)
Dynamic Map6,000,000건
Static Map3,000,000건
Geocoding3,000,000건
Reverse Geocoding3,000,000건
Directions 5 (경유지 5개)60,000건
Directions 15 (경유지 15개)3,000건

무료 한도 초과 시 사용량에 따라 요금이 부과됩니다. 자세한 내용은 Naver Cloud Platform 요금 안내를 참조하세요.

개발

설치 및 빌드

# 의존성 설치
npm install

# 빌드
npm run build

# 개발 모드 (tsx로 직접 실행)
npm run dev

테스트

# 테스트 실행
npm test

# 커버리지 포함 테스트
npm run test:coverage

코드 품질

# 린트 검사
npm run lint

# 코드 포맷팅
npm run format

디버깅

MCP Inspector를 사용하여 서버를 디버깅할 수 있습니다:

npm run inspector
# 또는
npx @modelcontextprotocol/inspector npx -y @flor3z-github/navermap-mcp-server

환경 변수

추가 환경 변수로 동작을 조정할 수 있습니다:

변수기본값설명
LOG_LEVELinfo로그 레벨 (debug, info, warn, error)
REQUEST_TIMEOUT30000API 요청 타임아웃 (ms)
MAX_RETRIES3실패 시 재시도 횟수

기여

기여를 환영합니다! Pull Request를 보내주세요.

라이선스

Apache-2.0