byteforce

CPN 한국어 자습서 · Introduction to Model Context Protocol

2 · Hands-on with MCP servers

서버 인스펙터

The server inspector

도구를 다 만들었지만 잘 도는지 알 길이 없습니다. 공식 MCP Python SDK브라우저 기반 디버거를 그냥 끼워 줍니다. 터미널에서 mcp dev mcp_server.py를 실행하면 인스펙터 주소가 뜨고, 브라우저로 열어 Connect → Tools → List Tools → 인자 입력 → Run Tool만으로 서버를 실제 앱에 연결하지 않고도 도구를 손으로 실행해 볼 수 있습니다.

전체 내레이션영상 나레이션 한국어 번역 (전체)

Stephen Grider · Anthropic 기술 스태프

MCP 서버 안에 기능을 좀 넣어 두긴 했는데, 이게 잘 도는지는 전혀 모릅니다. 그래서 어떻게든 테스트해 보면 정말 좋겠죠. 다행히 이 Python SDK를 쓰면 브라우저 안에서 도는 디버거에 자동으로 접근할 수 있어서, 서버가 기대대로 동작하는지 확인할 수 있습니다.

빠르게 보여 드리겠습니다. 터미널로 돌아와서, 먼저 Python 환경이 활성화돼 있는지 확인합니다. README 문서에 환경을 활성화하는 정확한 명령이 자세히 적혀 있다는 점, 기억하세요. 활성화됐다는 게 확실하면 mcp dev 뒤에 서버가 들어 있는 파일 이름을 붙여 실행합니다. 여기서는 mcp_server.py죠.

실행하면, 포트 6277에서 서버가 대기 중이라고 알려 주고, 실제로 접속할 수 있는 주소를 하나 줍니다. 그 주소를 브라우저로 엽니다. 그러면 이런 화면이 보입니다. 이게 바로 MCP Inspector입니다. 여기서 바로 짚고 갈 중요한 점이 있습니다. 이 인스펙터는 활발히 개발 중입니다. 그래서 여러분이 이 영상을 볼 즈음엔 지금 제 화면과 많이 다를 수 있습니다. 그래도 비슷한 기능은 거의 그대로 있을 겁니다.

왼쪽에 Connect 버튼이 보입니다. 이게 우리 MCP 서버, 그러니까 방금 편집한 그 파일을 띄워 줍니다. Connect를 누르면 화면에 몇 가지가 나타납니다. 먼저 위쪽 상단 메뉴 바를 봐 주세요. resources, prompts, tools 등이 나열돼 있습니다. UI가 바뀔 수 있으니, 이 메뉴 바가 안 보이더라도 우리가 찾는 건 그냥 Tools 영역입니다.

Tools를 누른 다음 List Tools를 누르면, 방금 만든 도구들의 이름이 보입니다. 하나를 클릭하면 오른쪽 패널이 바뀝니다. 그 패널에서 도구를 손으로 직접 호출해서 잘 도는지 확인할 수 있습니다. 이렇게 실제 애플리케이션에 연결하지 않고도 MCP 서버를 라이브로 개발할 수 있는 거죠.

read_document 도구를 쓰려면, 문서 ID만 넣으면 됩니다. 에디터로 가서 docs 딕셔너리에서 문서 ID 하나를 복사해 옵니다 — deposition.md로 하죠. 그걸 doc_id로 넣고 Run Tool을 누릅니다. 그러면 성공 표시와 함께 문서 내용이 보입니다. 딕셔너리에 있던 그 문자열과 똑같죠. 검증 끝입니다.

같은 방식으로 다른 도구도 테스트합니다. edit_document 도구로 바꿔서, 문서 ID를 넣고, 바꾸고 싶은 old_string과 새로 넣을 new_string을 줍니다. 이때 old_string은 대소문자를 구분한다는 점, 기억하세요. Run Tool을 누르면 성공이 뜹니다. 다만 이 도구는 문서 내용을 돌려주지 않고 수정만 합니다. 그래서 수정이 제대로 됐는지 확인하려면, 다시 read_document로 돌아가 같은 doc_id로 한 번 더 실행해서 바뀐 내용을 봅니다.

보시다시피 이 MCP Inspector를 쓰면, 서버를 실제 애플리케이션에 연결하지 않고도 우리가 만드는 MCP 서버를 아주 쉽게 디버깅할 수 있습니다. 여러분이 직접 MCP 서버를 만들기 시작하면 이 인스펙터를 꽤 자주 쓰게 될 겁니다. 이 모듈 안에서도 서버 개발이 잘 굴러가는지 확인하려고 인스펙터를 조금 더 쓰게 될 것입니다.

이 장에서 배우는 것What you'll learn

약 4분
1

SDK가 브라우저 디버거(MCP Inspector)를 그냥 끼워 준다

2

mcp dev mcp_server.py → 포트 6277 안내 주소

3

왼쪽 Connect로 서버 시작 → 상단 Tools

4

List Tools → 도구 클릭 → 오른쪽 패널에 인자 입력

5

Run Tool로 손수 실행 — 앱 연결 없이 서버 디버깅

6

인스펙터는 개발 중이라 화면이 다를 수 있다

먼저 짚고 갈 용어
mcp dev
SDK가 제공하는 명령. mcp dev mcp_server.py로 서버 + 인스펙터를 함께 띄운다.
MCP Inspector
브라우저에서 도는 인메모리 디버거. 서버를 앱에 연결하지 않고 도구를 손으로 실행.
포트 6277
인스펙터가 대기하는 포트(안내 주소로 접속). UI 자체는 기본 6274 쪽에서 뜬다.
Connect
왼쪽 버튼. 누르면 MCP 서버가 시작된다.
List Tools · Run Tool
Tools 탭에서 도구 목록을 받고(List Tools), 인자를 넣어 하나를 직접 실행(Run Tool).

인스펙터 띄우기

mcp dev

서버가 동작하는지 보려고 따로 앱을 만들 필요가 없습니다. SDK가 브라우저 디버거를 그냥 끼워 줍니다. 환경을 활성화한 뒤 mcp dev에 서버 파일 이름을 붙여 실행합니다.

터미널 · 인스펙터 실행
# 먼저 Python 환경을 활성화 (정확한 명령은 README 참고)
$ mcp dev mcp_server.py

# SDK가 인스펙터를 띄우고 접속 주소를 알려 준다
MCP Inspector is up and running at
  http://localhost:6274   # 브라우저로 열 주소
Proxy server listening on port 6277
개발 중

이 인스펙터는 활발히 개발 중입니다. 여러분이 볼 즈음엔 화면이 제 것과 많이 다를 수 있습니다 — 그래도 우리가 찾는 건 그냥 Tools 영역이라는 점만 기억하면 됩니다.

Connect · Tools · Run

Drive the inspector

브라우저로 주소를 열면 MCP Inspector가 보입니다. 왼쪽 Connect로 서버를 시작하고, 상단 Tools 탭에서 List Tools를 누른 뒤, 도구를 클릭하면 오른쪽 패널에 인자를 넣어 Run Tool로 직접 실행합니다.

MCP Inspector 모사 · 스텝을 눌러 따라가 보세요
localhost:6274 — MCP Inspector
Resources Prompts Tools

실제 앱에 연결하지 않고 서버만 띄워 도구를 손수 실행합니다. read_document로 내용을 읽고, edit_document로 치환한 뒤 다시 read로 검증하는 식입니다. 인스펙터는 개발 중이라 실제 화면은 다를 수 있습니다.

두 도구 검증하기

Verify both tools

먼저 read_document에 doc_id로 deposition.md를 넣어 내용을 확인합니다. 그다음 edit_documentold_stringnew_string으로 치환합니다 — 이 도구는 내용을 돌려주지 않으니, 다시 read_document로 바뀐 내용을 검증합니다.

인스펙터 수동 실행 · 읽기 → 수정 → 다시 읽기
# 1) read_document — 내용 확인
doc_id = "deposition.md"
Run Tool  ->  "... deposition 원문 내용 ..."

# 2) edit_document — 치환 (old는 대소문자 구분!)
doc_id     = "deposition.md"
old_string = "deposition"
new_string = "report"
Run Tool  ->  success   # 내용은 반환하지 않고 수정만

# 3) read_document로 다시 — 치환됐는지 검증
doc_id = "deposition.md"
Run Tool  ->  "... report 원문 내용 ..."
핵심 정리
  • SDK가 브라우저 디버거(MCP Inspector)를 끼워 준다 — mcp dev mcp_server.py.
  • 포트 6277에서 대기, 안내 주소를 브라우저로 연다(기본 UI는 6274).
  • Connect로 서버 시작 → ToolsList Tools → 도구 클릭 → 인자 입력 → Run Tool.
  • edit_document는 내용을 반환하지 않으니 read_document로 재검증한다.

정리 & 점검

Recap & check

Q1MCP 서버를 만든 뒤, 실제 앱에 연결하기 전에 도구를 테스트하려면?

Q2인스펙터에서 도구를 실행하는 순서로 맞는 것은?

Q3edit_document로 치환한 뒤 결과를 확인하려면?