MCP 클라이언트와 서버가 어떻게 함께 작동하는지 더 잘 이해하기 위해 우리만의 CLI 기반 챗봇을 직접 만들어 보겠습니다. 이 실습 프로젝트를 통해 MCP 아키텍처의 양쪽 측면 모두에 대한 실질적인 경험을 얻을 수 있습니다.
우리가 만들 것
우리의 챗봇은 사용자가 일련의 문서와 채팅할 수 있도록 해주는 명령줄 인터페이스가 될 것입니다. 시스템에 포함될 내용은 다음과 같습니다:
- CLI 기반 챗봇 인터페이스
- Claude를 위한 문서 읽기 및 편집 기능
@doc_name구문을 사용한 문서 "멘션" 기능/command_name구문을 사용한 명령 실행- 메모리에 저장된 가짜 문서 모음

시스템 아키텍처
이 프로젝트는 함께 작동하는 세 가지 주요 구성 요소로 이루어져 있습니다:
- 우리의 MCP 클라이언트 - 사용자 상호작용과 채팅 인터페이스를 처리합니다
- 우리의 MCP 서버 - 문서 작업을 위한 도구를 제공합니다
- 문서 저장소 - 다양한 파일 유형의 메모리 내 모음

MCP 서버는 두 가지 핵심 도구를 구현할 것입니다:
- 문서 내용을 읽는 도구
- 문서 내용을 업데이트하는 도구
모든 문서(PDF, 스프레드시트, 텍스트 파일, 마크다운 파일)는 디스크가 아닌 메모리에 저장되어, 프로젝트를 단순하게 유지하고 MCP 개념에 집중할 수 있도록 합니다.
중요한 아키텍처 참고 사항
실제 프로젝트에서는 일반적으로 MCP 클라이언트 또는 MCP 서버 중 하나만 구현합니다 - 둘 다 구현하지는 않습니다. 다음과 같은 경우가 있을 수 있습니다:
- 다른 개발자에게 서비스를 배포하기 위해 MCP 서버를 구축하는 경우
- 기존의 타사 MCP 서버에 연결하는 MCP 클라이언트를 구축하는 경우

우리 프로젝트는 순전히 교육적인 목적으로 단일 코드베이스에 두 구성 요소를 모두 구현하여, 클라이언트와 서버가 서로 어떻게 상호작용하는지 볼 수 있도록 합니다.