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분SDK가 브라우저 디버거(MCP Inspector)를 그냥 끼워 준다
mcp dev mcp_server.py → 포트 6277 안내 주소
왼쪽 Connect로 서버 시작 → 상단 Tools 탭
List Tools → 도구 클릭 → 오른쪽 패널에 인자 입력
Run Tool로 손수 실행 — 앱 연결 없이 서버 디버깅
인스펙터는 개발 중이라 화면이 다를 수 있다
mcp dev mcp_server.py로 서버 + 인스펙터를 함께 띄운다.서버가 동작하는지 보려고 따로 앱을 만들 필요가 없습니다. 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 영역이라는 점만 기억하면 됩니다.
브라우저로 주소를 열면 MCP Inspector가 보입니다. 왼쪽 Connect로 서버를 시작하고, 상단 Tools 탭에서 List Tools를 누른 뒤, 도구를 클릭하면 오른쪽 패널에 인자를 넣어 Run Tool로 직접 실행합니다.
실제 앱에 연결하지 않고 서버만 띄워 도구를 손수 실행합니다. read_document로 내용을 읽고, edit_document로 치환한 뒤 다시 read로 검증하는 식입니다. 인스펙터는 개발 중이라 실제 화면은 다를 수 있습니다.
먼저 read_document에 doc_id로 deposition.md를 넣어 내용을 확인합니다. 그다음 edit_document로 old_string을 new_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 원문 내용 ..."
mcp dev mcp_server.py.Q1MCP 서버를 만든 뒤, 실제 앱에 연결하기 전에 도구를 테스트하려면?
mcp dev mcp_server.py로 인스펙터를 띄우고 Run Tool로 직접 실행해 검증합니다.
Q2인스펙터에서 도구를 실행하는 순서로 맞는 것은?
Connect로 서버를 켜고, Tools 탭에서 List Tools로 목록을 받은 뒤, 도구를 골라 인자를 넣고 Run Tool로 실행합니다.
Q3edit_document로 치환한 뒤 결과를 확인하려면?
edit_document는 수정만 하고 내용을 반환하지 않습니다. 같은 doc_id로 read_document를 다시 실행해 검증합니다.
도구가 잘 도는 것을 확인했으니, 이제 클라이언트를 구현해 서버 기능을 우리 코드베이스에 노출합니다. list_tools·call_tool부터 시작합니다. → 클라이언트 구현하기