# 문제 해결 가이드
iNavi Maps MCP Server 사용 중 발생할 수 있는 문제들과 해결 방법을 정리했습니다.
## 목차
- [MCP 서버가 연결되지 않을 때](#mcp-서버가-연결되지-않을-때)
- [JSON 파싱 에러가 발생할 때](#json-파싱-에러가-발생할-때)
- [API 호출이 실패할 때](#api-호출이-실패할-때)
- [HTML 예제 코드가 작동하지 않을 때](#html-예제-코드가-작동하지-않을-때)
- [테스트 실행 시 문제가 발생할 때](#테스트-실행-시-문제가-발생할-때)
---
## MCP 서버가 연결되지 않을 때
### 증상
Claude Desktop이나 다른 MCP Host에서 iNavi Maps MCP 서버를 인식하지 못합니다.
### 해결 방법
1. **빌드 확인**
```bash
npm run build
```
빌드가 성공적으로 완료되었는지 확인하고, `dist/` 디렉터리에 `server.js` 파일이 생성되었는지 확인합니다.
2. **경로 확인**
MCP Host 설정 파일에서 **절대 경로**를 사용하고 있는지 확인합니다.
**잘못된 예:**
```json
{
"command": "node",
"args": ["./dist/server.js"] // ❌ 상대 경로
}
```
**올바른 예:**
```json
{
"command": "node",
"args": ["C:/Users/username/projects/inavi-maps-mcp-server/dist/server.js"] // ✅ 절대 경로
}
```
3. **로그 확인**
**Claude Desktop:**
- 개발자 도구 열기: `Ctrl+Shift+I` (Windows) / `Cmd+Option+I` (macOS)
- Console 탭에서 MCP 서버 stderr 로그 확인
- 또는 로그 디렉터리 확인:
- Windows: `%APPDATA%\Claude\logs\`
- macOS: `~/Library/Logs/Claude/`
**Cursor:**
- Output 패널 또는 개발자 로그 확인
4. **MCP Host 재시작**
설정을 변경한 후에는 반드시 MCP Host를 완전히 종료하고 재시작합니다.
---
## JSON 파싱 에러가 발생할 때
### 증상
```
Unexpected token 'd', "[dotenv@17."... is not valid JSON
```
### 원인
stdout이 MCP JSON-RPC 프로토콜이 아닌 다른 내용(로그, console.log 등)으로 오염되었을 때 발생합니다.
### 해결 방법
1. **최신 버전 사용**
이 문제는 이미 수정되었습니다. 최신 버전을 사용하고 있는지 확인하세요.
```bash
# 최신 버전 확인
git pull origin main
npm install
npm run build
```
2. **코드에서 console.log 제거**
서버 코드에 `console.log`나 `console.error`를 추가했다면 제거하고, 대신 MCP Logging을 사용하세요:
```typescript
// ❌ 잘못된 방법
console.log('Debug message');
// ✅ 올바른 방법
logger.log('debug', 'Debug message');
```
3. **MCP Host 재시작**
빌드 후 MCP Host를 재시작합니다.
---
## API 호출이 실패할 때
### 증상
API 호출 시 에러가 발생하거나 결과가 반환되지 않습니다.
### 해결 방법
1. **API 키 검증**
iNavi Maps API 키가 유효한지 확인합니다:
- [iNavi Maps API 대시보드](https://mapsapi.inavisys.com/) 방문
- API 키 상태 확인
2. **네트워크 확인**
iNavi API 엔드포인트에 접근 가능한지 확인합니다:
```bash
curl https://imaps.inavi.com/maps/v3.0
```
3. **좌표 형식 확인**
WGS84 좌표계를 사용하고 있는지 확인합니다:
- 형식: (경도, 위도) 순서
- 예: `startX="127.027926", startY="37.497942"`
- 경도(X): -180 ~ 180
- 위도(Y): -90 ~ 90
4. **로그 확인**
MCP Host의 로그를 확인하여 자세한 에러 메시지를 확인합니다.
---
## HTML 예제 코드가 작동하지 않을 때
### 증상
MCP 도구에서 받은 HTML 예제 코드를 브라우저에서 열었을 때 지도가 표시되지 않습니다.
### 해결 방법
1. **API 키 확인**
HTML의 `{appKey}` 플레이스홀더를 실제 iNavi API 키로 교체합니다:
```html
```
3. **브라우저 콘솔 확인**
브라우저 개발자 도구(F12)를 열어 Console 탭에서 JavaScript 에러를 확인합니다.
4. **CORS 이슈**
로컬 파일(file://)로 열 경우 CORS 문제가 발생할 수 있습니다. 간단한 HTTP 서버를 사용하세요:
```bash
# Python 3
python -m http.server 8000
# Node.js
npx http-server
```
그리고 `http://localhost:8000`에서 HTML 파일을 엽니다.
---
## 테스트 실행 시 문제가 발생할 때
### 증상
`npm test` 실행 시 에러가 발생합니다.
### 해결 방법
1. **타입 체크 먼저 실행**
```bash
npm run type-check
```
TypeScript 타입 에러가 있는지 확인합니다.
2. **개별 테스트 파일 실행**
```bash
npm test -- searches.tool.integration.test.ts
```
특정 테스트 파일만 실행하여 문제를 격리합니다.
3. **UI 모드로 테스트 (디버깅 용이)**
```bash
npm run test:ui
```
Vitest UI를 사용하면 테스트를 시각적으로 확인하고 디버깅할 수 있습니다.
4. **의존성 재설치**
```bash
rm -rf node_modules package-lock.json
npm install
```
---
## 추가 지원
위의 방법으로 문제가 해결되지 않으면:
1. **GitHub Issues**: [문제 보고하기](https://github.com/inavi-systems/inavi-mcp/issues)
2. **로그 첨부**: MCP Host의 로그 파일을 첨부해주시면 더 빠르게 도움을 드릴 수 있습니다
3. **환경 정보**: OS, Node.js 버전, MCP Host 종류 및 버전을 함께 알려주세요