iNavi Maps docs for AI (South Korea): API specs, Web JS SDK reference, HTML map templates
AI 어시스턴트에 지도 인텔리전스를 부여하는 MCP (Model Context Protocol) 서버입니다.
iNavi MCP Server를 연결하면, AI가 iNavi Maps의 다양한 위치 기반 API를 이해하고 인터랙티브 지도를 직접 생성할 수 있게 됩니다. 별도의 API 문서를 읽거나 코드를 직접 작성할 필요 없이, 자연어로 대화하며 지도 기반 기능을 구현할 수 있습니다.
이런 분들에게 적합합니다:
가장 쉬운 설치 방법입니다. 별도 환경 구성 없이 바로 사용할 수 있습니다.
.mcpb 파일 다운로드.mcpb 파일을 Claude Desktop에 드래그 앤 드롭 (또는 더블클릭)완료! 이제 Claude에게 지도 관련 질문을 할 수 있습니다.
Cursor, VS Code, Claude Code, Codex, Windsurf 등 다양한 MCP 호스트에서 사용할 수 있습니다. 아래 서버 설정을 사용 중인 도구의 설정 경로에 추가하세요. (Codex는 JSON이 아닌 TOML 형식이라 변환이 필요합니다.)
사전 요구사항: Node.js 22 이상이 설치되어 있어야 합니다.
| 도구 | 설정 경로 | 서버 설정 | 공식 가이드 |
|---|---|---|---|
| Cursor | ~/.cursor/mcp.json | { | ↗ |
| VS Code | 사용자 프로필 | { | ↗ |
| Claude Code | ~/.claude.json | { | ↗ |
| Claude Desktop | %APPDATA%\Claude\claude_desktop_config.json | { | ↗ |
| Codex | ~/.codex/config.toml | [mcp_servers.inavi-maps-mcp] | ↗ |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | { | ↗ |
Claude Code, Codex 같은 CLI 도구는 다음과 같이 간단하게 설정할 수 있습니다.
claude mcp add --transport stdio inavi-maps-mcp -- npx -y @inavi-maps/mcp-servercodex mcp add inavi-maps-mcp -- npx -y @inavi-maps/mcp-serverMCP 서버를 설치한 후, AI에게 자연어로 요청하세요.
이 MCP 서버는 iNavi Maps API 사양을 AI에게 제공합니다. AI가 직접 API를 호출하는 것이 아니라, API 스펙을 참조하여 올바른 호출 코드를 작성해 줍니다.
iNavi Maps에서 사용할 수 있는 지오코딩 관련 API를 알려줘
리버스 지오코딩 API의 요청/응답 스펙을 보여줘
주소를 좌표로 변환하는 API 호출 코드를 TypeScript로 작성해줘
출발지-도착지 경로 탐색 API를 사용하는 예제 코드를 만들어줘
N:1 거리 매트릭스 API로 가장 가까운 매장을 찾는 로직을 구현해줘
AI가 HTML 템플릿을 기반으로 인터랙티브 지도 페이지를 생성합니다.
iNavi 지도에 마커를 표시하는 HTML 페이지를 만들어줘
여러 지점을 클러스터로 묶어서 지도에 표시하는 페이지를 만들어줘
경로를 교통 상황 색상으로 지도에 시각화하는 페이지를 만들어줘
서울 주요 관광지를 폴리곤 영역과 마커로 표시하는 지도를 만들어줘
API 스펙 조회와 지도 시각화를 함께 사용하면 더 복잡한 기능을 구현할 수 있습니다.
지오코딩 API로 주소를 좌표로 변환하고, 그 결과를 지도에 마커로 표시하는 페이지를 만들어줘
경로 탐색 API 호출 결과를 지도 위에 폴리라인으로 시각화하는 코드를 작성해줘
이 MCP 서버는 세 종류, 총 6개의 도구를 제공합니다. 각 도구 쌍은 탐색 → 상세 조회의 2단계 워크플로우로 설계되어 있습니다.
iNavi Maps API 사양을 AI에게 제공하여, API 문서를 직접 읽지 않고도 AI가 올바른 API 호출 코드를 작성할 수 있도록 합니다.
| 도구 | 설명 | 주요 입력 |
|---|---|---|
list_api_specs | API 스펙 목록 조회 | category (선택) |
get_api_spec | 특정 API 상세 사양 조회 | operationId (필수) |
워크플로우: list_api_specs로 사용 가능한 API를 탐색한 후, get_api_spec에 operationId를 전달하여 파라미터, 요청/응답 스키마 등 상세 사양을 조회합니다.
| 카테고리 | 설명 | 포함 API |
|---|---|---|
search-place | 장소/주소 검색 | 통합 검색, 다국어 통합 검색, 장소 상세 조회, 시설물 정보 조회, 검색어 추천, 주변 카테고리 검색, 최적 지점 검색 |
search-geocoding | 지오코딩 | 지오코딩, 리버스 지오코딩 |
search-spatial | 공간 검색 | 공간 검색, 행정/법정동 영역 검색, 좌표(계) 변환 |
search-w3w | what3words | W3W 검색어 추천, W3W 리버스 지오코딩, W3W 최적 지점 검색 |
route-directions | 경로 탐색 | 경로 탐색, 경로 탐색 요약, 경로 예측 탐색, 다중 경유지 탐색 100, 도보/PM 경로 탐색 |
route-optimization | 경유지 최적화 | TSP 10, TSP 30, TSP 50, TSP 100 (다중 경유지 최적화) |
route-map-matching | 맵 매칭 | Special Map Matching, MTR 100, MTR 1000 |
route-matrix | 거리/시간 매트릭스 | N:1, 1:N, M:N 매트릭스 |
인터랙티브 지도를 생성하기 위한 HTML 템플릿을 제공합니다. AI가 템플릿의 데이터 값(좌표, 레이블 등)을 커스터마이징하여 맞춤형 지도 페이지를 생성합니다.
| 도구 | 설명 | 주요 입력 |
|---|---|---|
list_map_examples | 지도 예제 목록 조회 | category (선택) |
get_map_example | 특정 지도 예제 HTML 조회 | id (필수) |
워크플로우: list_map_examples로 사용 가능한 예제를 탐색한 후, get_map_example에 id를 전달하여 완전한 HTML 코드를 조회합니다.
| 카테고리 | 예제 수 | 포함 예제 |
|---|---|---|
dynamic-maps | 5 | 기본 지도, 지도 정보 표시, 거리 계산, 지도 타입 전환, FlyTo 애니메이션 |
marker | 6 | 기본 마커, 이동 가능 마커, 클러스터, 클러스터 격자 크기, 넘버링, 컬러 마커 |
infowindow | 2 | 기본 InfoWindow, 클러스터 마커 InfoWindow |
shapes | 5 | 원, 폴리곤, 멀티 폴리곤, 스타일 변경, 폴리라인 (교통 색상) |
iNavi Maps Web JS SDK의 클래스와 옵션/타입 정의를 제공합니다. 예제 템플릿에 없는 옵션·메서드·이벤트를 AI가 기억에 의존해 추측하지 않고, 실제 시그니처를 확인한 뒤 작성하도록 합니다.
| 도구 | 설명 | 주요 입력 |
|---|---|---|
list_sdk_docs | SDK 심볼 목록 조회 (클래스는 메서드명 포함) | category (선택) |
get_sdk_doc | 특정 심볼 또는 단일 메서드 문서 조회 | docId (필수) |
워크플로우: 지도를 만들 때는 list_map_examples로 실행 가능한 템플릿을 먼저 확보하고, 템플릿에 없는 기능이 필요할 때 list_sdk_docs → get_sdk_doc으로 정확한 시그니처를 확인합니다. SDK 로더 스크립트는 예제에만 있으므로 레퍼런스만으로는 동작하는 페이지를 만들 수 없습니다.
docId는 클래스/타입 id(inavi.maps.Map, MapOptions)와 메서드 롱네임(inavi.maps.Map#fitBounds)을 모두 받습니다.
| 카테고리 | 심볼 수 | 포함 심볼 |
|---|---|---|
map | 2 | Map, EventPayload |
overlay | 8 | Circle, CustomInfoWindow, InfoWindow, Label, Marker, MarkerClusterer, Polygon, Polyline |
control | 3 | CompassControl, LogoScaleControl, ZoomControl |
coordinates | 12 | LngLat, LngLatBounds, Pixel, PixelBounds, TWLngLat, TWLngLatBounds 및 각 *Like 입력 타입 |
options | 15 | MapOptions, MarkerOptions, CircleOptions 등 *Options 타입 |
style | 5 | ClusterStyle, Color, FillStyle, LabelStyle, LineStyle |
This server exposes 6 tools, arranged as three discovery → detail pairs.
list_api_specs — Browse available iNavi Maps API specifications by category.get_api_spec — Get the detailed specification of a specific API by operationId.list_map_examples — Browse available map visualization HTML examples.get_map_example — Get a specific map example's HTML template by id.list_sdk_docs — Browse Web JS SDK symbols (classes and option/type definitions) by category.get_sdk_doc — Get one SDK symbol, or a single method, by docId.node -v로 확인)Unexpected token...is not valid JSON
해결 방법:
console.log 대신 MCP Logging 사용 (stdout 오염 방지)더 자세한 문제 해결 방법은 Troubleshooting Guide를 참고하세요.
| 문서 | 설명 |
|---|---|
| API 레퍼런스 | 모든 도구의 상세 입출력 문서 |
| Claude Desktop 설정 | Claude Desktop 설치 및 설정 가이드 |
| Cursor 설정 | Cursor IDE 설정 가이드 |
| 로컬 개발 | 소스 코드에서 직접 빌드 및 실행 |
| Troubleshooting | 상세 문제 해결 가이드 |
MIT License - 자유롭게 사용, 수정, 배포할 수 있습니다. 자세한 내용은 LICENSE 파일을 참조하세요.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @inavi-maps/mcp-serverMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-inavi-systems-inavi-mcp": {
"command": "npx",
"args": [
"-y",
"@inavi-maps/mcp-server"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@inavi-maps/mcp-servernpmiNavi Maps Docs works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.