MCP 란?

moon.kick·2025년 5월 2일

MCP 에이전트 개요

MCP(Model Context Protocol)은 앤트로픽(Anthropic)이 제안한 오픈 표준 프로토콜로, AI 모델(LLM)에 외부 도구와 데이터를 표준화된 방식으로 연결해 줍니다  . 예를 들어, 일반 챗봇은 외부 서비스에 직접 접근하지 못하지만, MCP는 에이전트가 적절한 MCP 서버와 도구를 호출하여 필요한 정보를 가져온 뒤 응답할 수 있도록 합니다 . 즉, MCP를 통해 LLM은 USB-C 포트처럼 다양한 API·데이터 소스와 연결되고, 이를 활용해 더 복잡한 작업을 수행할 수 있습니다  .

MCP 에이전트 시스템은 이러한 프로토콜을 활용해 다중 모델(LM)과 도구를 통합하는 AI 에이전트를 구현합니다. 예를 들어, LangChain의 LangGraph 기반 ReAct 에이전트는 MCP 도구를 통해 다양한 데이터 소스와 외부 API에 접근할 수 있습니다. 실제로 LangChain-MCP-Adapters 툴킷은 LangGraph ReAct 에이전트에 MCP 연동을 제공하며, 이를 손쉽게 배포·구성할 수 있는 Streamlit 인터페이스를 지원합니다 . 이러한 구조에서 에이전트(Host)가 사용자 요청을 받아, MCP 서버(도구 제공자)에 연결하여 필요한 데이터를 가져온 뒤 응답합니다  .

도커 이미지 배포의 의미와 장점

MCP 에이전트를 도커 컨테이너로 배포한다는 것은 에이전트 소프트웨어와 필요한 라이브러리·환경을 하나의 이미지로 패키징하여, 어디서나 동일한 환경에서 실행할 수 있게 한다는 뜻입니다. 도커 이미지를 이용하면 개발 환경과 운영 환경의 일관성을 유지할 수 있으며, 시스템 간 이식성(Portability)과 관리 효율성이 크게 향상됩니다 . 예를 들어, 로컬 PC, 서버, 클라우드 등 운영체제가 다른 환경에서도 동일한 명령어만으로 에이전트를 실행할 수 있습니다. 이로써 “개발 환경에서는 되는데 운영 환경에서 안 된다”는 문제를 방지하고, 환경 설정 지옥을 해소할 수 있습니다. 또한 도커는 필요한 의존성을 모두 포함하므로, 별도의 OS나 파이썬 설치 없이도 손쉽게 컨테이너를 올릴 수 있어 사용자 편의성이 큽니다.

사용 방법 요약
1. 코드 클론 및 이동: 제공된 깃허브 리포지토리를 클론한 뒤, dockers 디렉토리로 이동합니다. 예시:

git clone https://github.com/teddynote-lab/langgraph-mcp-agents.git
cd langgraph-mcp-agents/dockers

2.	환경 변수 설정: 프로젝트 루트의 .env.example 파일을 복사하여 .env 파일을 생성하고, 필요한 API 키를 입력합니다. (ANTHROPIC_API_KEY, OPENAI_API_KEY 등) . 예를 들어, Anthropic 키를 넣으면 Claude 3.5 Sonnet/Haiku를, OpenAI 키를 넣으면 GPT-4o/4o-mini 모델을 사용할 수 있습니다  .
3.	컨테이너 실행: 시스템 아키텍처에 맞는 도커 컴포즈 파일을 선택하여 컨테이너를 실행합니다. Intel/AMD(x86_64) 시스템에서는 docker-compose.yaml, Apple Silicon(M1/M2 등 arm64)에서는 docker-compose-mac.yaml 등을 사용합니다 . 예를 들어:

docker compose -f docker-compose-KOR.yaml up -d

(한국어 환경 파일 예시; 실제 아키텍처에 맞게 yaml 파일명을 선택)  .

4.	웹 UI 접속: 실행이 완료되면 웹 브라우저로 http://localhost:8585 (기본 포트) 에 접속하여 에이전트를 사용할 수 있습니다 . 운영자가 원하는 경우 포트나 설정을 docker-compose 파일에서 조정할 수 있습니다.

주요 기능
• 다중 LLM 지원: OpenAI의 최신 모델 GPT-4o(Omni) 및 경량 버전 GPT-4o-mini를 지원합니다. 이들 모델은 텍스트·이미지 입출력을 모두 처리하며, 수백억 토큰의 문맥을 다룰 수 있습니다. 예를 들어 GPT-4o-mini는 저비용으로도 우수한 언어·코딩 성능을 보여 줍니다 .
• Anthropic Claude 3.5 지원: Claude 모델군의 최신 버전인 Sonnet과 Haiku를 사용할 수 있습니다. Sonnet은 중간급 모델로서 뛰어난 지능과 합리적 속도를 겸비하여 복잡한 업무에 적합하며  , Haiku는 가장 경량화된 모델로서 단순·급속 응답에 최적화되어 있습니다  .
• LangGraph 기반 ReAct 에이전트: LangChain의 LangGraph 프레임워크를 이용한 ReAct(Reason+Act) 구조의 에이전트를 탑재하여, LLM 기반의 추론과 외부 도구 호출이 결합된 강력한 동작 방식을 제공합니다. 실제로, LangGraph MCP Agents 프로젝트는 LangGraph ReAct Agent를 MCP 도구와 함께 사용할 수 있는 사용자 인터페이스를 제공합니다 .
• Smithery.ai 툴 연동: Smithery.ai 레지스트리를 통해 2000개 이상의 MCP 도구 서버에 접근할 수 있습니다. 즉, 다양한 외부 API나 데이터 소스를 미리 정의된 도구로서 손쉽게 활용할 수 있습니다 . 필요에 따라 UI에서 도구를 추가하거나 제거하여 에이전트 능력을 확장할 수 있습니다 .
• 멀티턴 대화: 에이전트는 이전의 대화 기록을 기억하고 문맥을 유지하면서 대화를 이어갈 수 있습니다. 웹 UI에서는 대화 히스토리를 확인하고 관리할 수 있으며, 각 응답 시 에이전트가 호출한 도구의 사용 내역도 실시간으로 보여줍니다 .
• 툴 관리: UI를 통해 MCP 도구(툴)의 추가/제거/구성 변경을 동적으로 할 수 있으며, 이를 위해 JSON 형식(Smithery JSON 등)을 지원합니다 . 이를 통해 에이전트를 다시 시작하지 않고도 새로운 기능을 즉시 반영할 수 있습니다.
• 멀티 아키텍처 지원: Intel/AMD(x86_64, amd64)와 ARM(arm64) CPU 모두에서 실행할 수 있도록 별도의 Docker Compose 파일을 제공합니다 . 이는 맥 M1/M2 같은 ARM 기반 환경에서도 동일한 이미지를 이용할 수 있게 해줍니다.

멀티턴 대화와 툴 사용

이 시스템의 핵심은 대화형 에이전트로서의 역할입니다. 사용자가 질문이나 요청을 하면, 에이전트는 내부적으로 어떤 도구(MCP 서버)의 호출이 필요한지 결정하고, 해당 도구를 호출하여 결과를 얻은 뒤 이를 바탕으로 응답을 생성합니다 . 예를 들어 “내일 서울 날씨 알려줘”라는 요청이 들어오면, 기상 API 도구를 호출해 데이터를 가져와 답변할 수 있습니다. 이 과정에서 이전의 대화 문맥(멀티턴)을 유지함으로써 사용자가 후속 질문을 할 때도 연결된 대화가 가능합니다.

웹 인터페이스에서는 Streaming Response 기능으로 에이전트의 응답 생성 과정(LLM의 중간 출력)과 도구 호출 결과를 실시간으로 확인할 수 있습니다 . 또한, 앞서 언급한 대화 기록 기능으로 에이전트와의 상호작용 이력을 관리함으로써, 사용자는 이전 문맥을 참고하여 계속 대화를 이어갈 수 있습니다. 이와 같은 멀티턴 대화와 도구 호출 기능은 복잡한 작업(예: 파일 분석, 웹 검색, 계산 등) 수행 시 특히 유용합니다.

‘바이브코딩’과의 비교

바이브코딩(Vibe Coding)은 사용자가 “무엇을 만들고 싶은지”를 자연어(감성/분위기)로 설명하면 AI가 코드를 작성해 주는 새로운 개발 패러다임입니다. 예를 들어 “80년대 클래식 게임 느낌의 앱 만들어줘”라고 말하면 AI가 해당 분위기에 맞는 코드를 생성합니다 . 바이브코딩은 주로 개발자용 코드 편집기나 IDE에 통합되어 코딩 생산성을 높이는 방식입니다.

반면 MCP 에이전트는 단순 코드 작성에 국한되지 않고, 범용적인 AI 도구 시스템입니다. MCP 에이전트는 코드 생성뿐 아니라, 데이터 검색·분석·자동화 등 다양한 작업을 위해 여러 LLM과 도구를 결합합니다. 즉, 바이브코딩이 “IDE 안에서 코드 생성”에 초점을 둔 플랫폼인 반면, MCP 에이전트는 독립 실행형 에이전트 서비스로서 여러 도메인과 연동됩니다. 또한 바이브코딩 도구는 특정 IDE에 최적화된 반면, MCP 에이전트는 Docker 컨테이너로 배포되어 어디서나 실행 가능하다는 차이가 있습니다.

참고: 이 설명은 MCP 에이전트 시스템의 구조와 기능을 종합적으로 다룹니다. 제시된 인용문은 공식 문서 및 관련 자료를 바탕으로 하였습니다      .

다음은 MCP 시스템 발표용으로 정리된 참고문헌 표입니다. 각 출처의 제목, 링크, 핵심 내용을 보기 좋게 정리해두었으니 발표 자료에 직접 삽입해 활용하시면 좋습니다. 추가로 APA 스타일 인용 방식이 필요하시면 요청해 주세요. 

좋아요! 중학교 1학년도 이해할 수 있도록 쉽게 설명해볼게요.

MCP 에이전트란?

AI 비서가 여러 도구를 써서 똑똑하게 도와주는 시스템이에요!

우리가 챗GPT 같은 AI에게 질문하면 답을 주죠? 그런데 이 MCP 에이전트는 그냥 대답만 하는 게 아니라, 도구나 앱을 직접 사용해서 더 정확하게 답을 해줘요.

예를 들어:
• “내일 서울 날씨 어때?”라고 물으면,
• MCP는 날씨 앱(기상청 같은 곳)에 직접 접속해서 진짜 데이터를 가져와서 알려줘요.

도커(Docker)로 설치? 그게 뭐야?

게임 설치처럼, 복잡한 준비 없이 한 번에 설치하고 바로 실행할 수 있는 상자라고 생각하면 돼요.

MCP를 쓰려면 여러 가지 설정을 해야 되는데, 도커는 이걸 한꺼번에 묶어서, 버튼 하나로 쉽게 켤 수 있게 해줘요.
그래서 파이썬이나 프로그램을 따로 깔 필요가 없어요.

MCP가 할 수 있는 일들!
1. GPT-4o랑 Claude 같은 최신 AI 모델을 사용할 수 있어요!
→ 똑똑하고 빠르게 대답해주는 AI 친구들이에요.
2. 도구 사용하기
→ AI가 계산기, 날씨 앱, 뉴스 앱 등을 직접 써요!
3. 대화 기억하기 (멀티턴 대화)
→ “어제 뭐라고 했지?” 물으면, 기억해서 알려줘요!
4. 스마트폰이든 컴퓨터든 어디서나 사용 가능
→ 애플, 윈도우, 리눅스 다 돼요!

바이브코딩이랑 뭐가 달라?
• 바이브코딩:
“멋진 게임 앱 만들어줘!” 하면 AI가 코드를 만들어주는 도우미예요.
코딩 도와주는 AI죠!
• MCP 에이전트:
코딩뿐 아니라, 날씨, 뉴스, 계산기 등 다양한 앱도 AI가 직접 사용할 수 있어요.
즉, 만능 AI 비서 느낌이에요!

정리

구분 쉽게 설명하면
MCP 에이전트 도구를 직접 써서 문제를 해결해주는 AI 비서
도커 게임처럼 한 번에 설치해서 실행할 수 있게 해주는 상자
멀티턴 대화 AI가 대화를 기억하고 이어서 얘기할 수 있는 기능
바이브코딩 “느낌대로” 코드를 만들어주는 똑똑한 코드 도우미

필요하면 만화처럼 설명하거나 그림으로도 보여줄 수 있어요! 시각적으로 도와줄까?

물론입니다! 아래는 발표 자료나 문서에 바로 복사해서 사용할 수 있도록 정리한 참고문헌 표입니다.

MCP 시스템 참고문헌 목록

번호 출처 제목 링크 내용요약
1 Anthropic (2024) Model Context Protocol (MCP) 소개 https://docs.anthropic.com/mcp MCP 프로토콜의 구조 및 목적 설명, Claude 통합 방식
2 LangChain Docs LangGraph 및 ReAct Agent 가이드 https://docs.langchain.com/langgraph/ LangGraph 기반 ReAct Agent 구성 및 도구 연동 방식 설명
3 Smithery.ai MCP 도구 마켓플레이스 개요 https://smithery.ai 2000개 이상의 도구 레지스트리, 도구 관리 방법 안내
4 GitHub - langgraph-mcp-agents MCP Agent Docker 배포 예제 https://github.com/teddynote-lab/langgraph-mcp-agents 도커로 MCP 에이전트 실행하는 법, 구성 요소 및 API 키 사용법
5 OpenAI (2024) GPT-4o 및 GPT-4o-mini 모델 문서 https://platform.openai.com/docs/models GPT-4o 시리즈의 성능, 멀티모달 기능 및 사용법 설명
6 Anthropic (2024) Claude 3.5 Sonnet & Haiku 설명 https://www.anthropic.com/index/claude Claude 모델들의 기능 차이 및 API 활용법 소개
7 Docker Docs 도커 아키텍처 및 멀티 플랫폼 지원 https://docs.docker.com/ 도커 이미지 배포 원리, amd64/arm64 차이 설명

필요하면 한글/APA 형식 인용으로도 다시 정리해 드릴 수 있어요!

profile
@mgkick

0개의 댓글