githubEdit

Clip 1: 계산기와 random MCP server 만들기

학습 목표

  • Python으로 간단한 MCP server를 직접 구현한다

  • Tool 기반 MCP server의 구조를 실습을 통해 익힌다

  • 디버깅 가능한 계산기 MCP server를 구현한다

  • 랜덤 숫자를 생성하는 random MCP server를 구현한다

실습 개요

이번 클립에서는 두 가지 MCP server를 바이브 코딩으로 구현합니다:

  1. Calculate MCP Server: 더하기, 곱하기 계산을 제공하며 디버깅 기능 포함

  2. Random MCP Server: 1~100 사이의 랜덤 숫자를 생성하는 기능 제공

이전 Chapter에서 배운 MCP server의 개념을 실제 코드로 구현하면서 동작 원리를 깊이 이해하는 것이 목표입니다.

실습 1: Calculate MCP Server 구현

프로젝트 구조

calculate-mcp-server/
├── pyproject.toml          # 프로젝트 설정 및 의존성
├── src/
│   └── calculate_mcp_server/
│       ├── __init__.py
│       └── server.py       # 메인 서버 코드
└── README.md

바이브 코딩 프롬프트

src/calculate_mcp_server/server.py

pyproject.toml 설정

Claude Code에 연결하기

MCP 설정 파일 (.mcp.json)

프로젝트 루트에 .mcp.json 파일을 생성합니다:

테스트

Claude Code를 재시작하고 다음과 같이 요청:


실습 2: Random MCP Server 구현

프로젝트 구조

바이브 코딩 프롬프트

src/random_mcp_server/server.py

pyproject.toml 설정

Claude Code에 연결하기

MCP 설정 파일 (.mcp.json) 업데이트

두 개의 MCP server를 모두 연결하려면 .mcp.json을 다음과 같이 수정합니다:

테스트

Claude Code를 재시작하고 다음과 같이 요청:


핵심 정리

MCP Server 구조 패턴

두 가지 실습을 통해 다음과 같은 MCP server 구현 패턴을 확인했습니다:

pyproject.toml 설정의 중요성

MCP server를 패키지로 관리하기 위해 pyproject.toml에 스크립트 엔트리 포인트를 정의합니다:

이렇게 하면 uv run 서버명 명령으로 서버를 실행할 수 있습니다.

.mcp.json 설정 포맷

Claude Code의 .mcp.json은 다음 필드만 사용합니다:

  • command: 실행할 명령어 (예: "uv")

  • args: 명령어 인자 배열

  • env: 환경 변수 객체 (비어있을 수 있음)

주의: type, cwd 같은 필드는 사용하지 않습니다.

디버깅 팁

  • Tool의 실행 전후로 로그를 출력하여 동작 확인

  • Claude Code의 MCP 로그에서 디버깅 정보 확인 가능


강사 정보

  • 작성자: 정구봉

  • LinkedIn: https://www.linkedin.com/in/gb-jeong/

  • 이메일: bong@dio.so

강의 자료

  • 강의 자료: https://goobong.gitbook.io/fastcampus

  • Github: https://github.com/Koomook/fastcampus-ai-agent-vibecoding

  • FastCampus 강의 주소: https://fastcampus.co.kr/biz_online_vibeagent

Last updated