본문 바로가기

인공지능

GPT 하나로 부족할 때: LangGraph + MCP로 만드는 멀티 에이전트 AI 어시스턴트

728x90
반응형

 

AI를 활용해 똑똑한 어시스턴트를 만들고 싶은데, 어디서부터 어떻게 시작해야 할지 막막한가요?
GPT 모델 하나로는 한계가 느껴지지만, 다양한 툴과 데이터를 연결하려니 시스템이 너무 복잡해지나요?

이번 블로그에서는 바로 그런 고민을 해결해 줄 **LangGraph와 MCP(Model Context Protocol)**의 결합을 소개합니다.
단순한 챗봇을 넘어서, 멀티 에이전트 기반의 범용 AI 어시스턴트를 어떻게 만들 수 있는지 구조부터 설치, 구현 예시까지 전부 다룹니다.

반응형

LangGraph란?

LangGraph는 LLM을 기반으로 한 워크플로우를 그래프 형태로 설계하고 실행할 수 있게 해주는 프레임워크입니다.
모듈식 구조로 되어 있어, 각 노드는 특정 작업이나 도구, 혹은 모델 호출을 담당하고, 엣지(Edge)는 그 흐름을 제어합니다.

쉽게 말해, 복잡한 언어 기반 작업을 순서도처럼 시각화하고 연결할 수 있는 구조를 제공합니다.

LangChain과 유사하지만 더 직관적이고 유연한 구조 설계가 가능해, 자연어 처리 기반의 자동화 시스템에 매우 적합합니다.


MCP(Model Context Protocol)란?

MCP는 LLM이 외부 도구나 데이터에 쉽게 접근할 수 있도록 만들어주는 통합 프로토콜입니다.
USB-C가 어떤 기기든 연결해주는 표준 포트인 것처럼, MCP는 다양한 외부 리소스를 연결하는 역할을 합니다.

예를 들어, GPT가 검색 기능, 데이터베이스, 코드 실행기 등 다양한 기능을 쓰게 하고 싶을 때,
각 기능을 일일이 연동할 필요 없이 MCP 서버에 정의된 툴만 등록하면 됩니다.


왜 LangGraph와 MCP를 함께 써야 할까?

LangGraph는 구조화된 워크플로우 설계를 도와주고, MCP는 필요한 외부 도구 연결을 가능하게 합니다.
이 둘을 결합하면 다양한 기능을 가진 AI 어시스턴트를 단일 그래프 안에서 손쉽게 구성할 수 있습니다.

예시 흐름

  1. 사용자 메시지 수신
  2. LangGraph의 에이전트 노드가 적절한 MCP 도구를 선택
  3. 선택된 MCP 서버의 툴 실행
  4. 결과 반환 및 대화 흐름 제어

복잡한 멀티에이전트 설계가 단 두 개의 MCP 노드로 끝납니다: 하나는 라우팅용, 하나는 툴 실행용.


설치 및 개발 환경 구성

아래와 같이 간단한 명령어들로 개발 환경을 구성할 수 있습니다.

git clone https://github.com/esxr/langgraph-mcp.git
cd langgraph-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -U "langgraph-cli[inmem]"
pip install -e .
cp env.example .env

.env 파일에는 OPENAI_API_KEY, GITHUB_PERSONAL_ACCESS_TOKEN 등을 입력해 설정을 완료합니다.
Milvus Lite를 활용한 벡터 검색 기능도 기본 지원됩니다.


구조별 기능 설명

1. 라우터(Router)

build_router_graph.py에서 구현된 이 라우터는
각 MCP 서버에서 사용할 수 있는 툴/프롬프트/리소스를 수집하고 벡터 데이터베이스에 인덱싱합니다.

사용자의 요청이 들어오면, 어떤 서버의 어떤 툴을 쓸지 빠르게 판단할 수 있게 해주는 핵심 역할을 합니다.


2. 어시스턴트(Assistant)

assistant_graph.py에 구현되어 있으며, 실제 대화 흐름을 처리합니다.

  • 사용자 메시지를 분석해 적절한 MCP 에이전트를 선택하고
  • 해당 MCP 서버에 툴 실행 요청을 보내며
  • 결과를 받아 사용자에게 응답합니다

이때 사용하는 구조는 LangGraph 기반의 멀티노드 그래프입니다.


3. MCP Wrapper

mcp_wrapper.py는 다양한 MCP 작업을 쉽게 실행할 수 있게 해주는 전략 패턴 기반의 래퍼 구조입니다.

주요 클래스 및 역할

  • MCPSessionFunction: 공통 인터페이스
  • RoutingDescription: 툴 정보 수집
  • GetTools: 서버 툴 정보 가져오기
  • RunTool: MCP 도구 실행
  • apply: 위 작업들을 공통 실행 함수로 래핑

새로운 기능이 필요할 땐 MCPSessionFunction만 상속해서 구현하면 끝.
코어 로직 수정 없이 확장 가능한 구조입니다.


기술적 특징 요약

항목 설명

🎯 유연성 다양한 외부 툴과 자연스럽게 연동 가능
🧩 구조화 워크플로우를 시각적 그래프 형태로 설계
🧠 스마트 라우팅 사용자 요청에 따라 도구 자동 선택
🔌 확장성 새로운 기능이나 도구 쉽게 추가 가능
⚙️ 간단한 설정 몇 줄 코드로 실행 환경 구축 가능

728x90

지금 왜 이 기술을 주목해야 할까?

GPT 모델만으로는 할 수 없는 것들이 많아졌습니다.
검색, 실행, 분석, 저장 등 다양한 외부 기능과 연결된 AI 중심 자동화 시스템이 필요해진 지금,
LangGraph + MCP는 복잡한 구조 없이도 그 해답을 제시해줍니다.

단일 모델에서 벗어나, 다중 에이전트 기반의 똑똑한 어시스턴트를 만들고 싶다면
이 구조는 최고의 출발점이 될 것입니다.

“코드 몇 줄이면, 당신만의 AI 비서를 만들 수 있습니다.”

https://github.com/esxr/langgraph-mcp

 

GitHub - esxr/langgraph-mcp: LangGraph solution template for MCP

LangGraph solution template for MCP. Contribute to esxr/langgraph-mcp development by creating an account on GitHub.

github.com

728x90
반응형