Langgraph-Mcp-Agents: LangGraph 기반의 MCP 통합 AI 에이전트 시스템 139

小编 ·

Langgraph-Mcp-Agents: LangGraph 기반의 MCP 통합 AI 에이전트 시스템

Langgraph-Mcp-Agents는 LangGraph 기반의 AI 에이전트 시스템으로, MCP를 통합하여 AI 어시스턴트가 다양한 데이터 소스와 API에 쉽게 접근할 수 있도록 합니다. Streamlit 웹 인터페이스를 제공하여 사용자가 LangGraph 및 MCP 도구와 편리하게 상호작용할 수 있습니다. UI를 통해 앱 재시작 없이 MCP 도구를 동적으로 추가, 제거 또는 구성할 수 있으며 Smithery JSON 형식을 지원합니다. 또한 스트리밍 응답을 지원하여 에이전트의 응답과 도구 호출을 실시간으로 확인할 수 있습니다.

Langgraph-Mcp-Agents: LangGraph 기반의 MCP 통합 AI 에이전트 시스템

Craft-MCP-MCP-에이전트란 무엇인가요?

Langgraph-Mcp-Agents는 LangGraph를 기반으로 한 ai 에이전트 시스템으로, MCP를 통합하여 Ai 어시스턴트가 다양한 데이터 소스 및 API에 쉽게 접근할 수 있도록 합니다. 시스템에는 Streamlit 웹 인터페이스가配备되어 있어, 사용자가 LangGraph 및 MCP 도구와 편리하게 상호작용할 수 있습니다. 사용자는 인터페이스를 통해 MCP 도구를 동적으로 추가, 삭제 또는 구성할 수 있으며, 애플리케이션을 재시작할 필요가 없고 Smithery JSON 형식도 지원합니다. 또한 시스템은 스트리밍 응답을 지원하여, 사용자가 에이전트의 응답 및 도구 호출 상황을 실시간으로 확인할 수 있습니다.

Langgraph-Mcp-Agents:一个集成MCP基于LangGraph的AI智能体系统.webp

Langgraph-Mcp-Agents 기능

  • 태스크 로직과 도구 구현의 분리: 개발자가 에이전트 코어에 영향을 주지 않고 독립적으로 도구 라이브러리를 확장할 수 있습니다.

  • 장기 컨텍스트 지원: LangGraph의 지속성 기능을 통해 세션 간 태스크 연속성을 실현합니다.

  • 다중 에이전트 협업: 다중 에이전트 시스템 구축을 지원하며, 서로 다른 에이전트가 분업하여 복잡한 태스크를 완료할 수 있습니다.

  • 동적 구성 및 배포: Streamlit 인터페이스를 통해 AI Agent를 동적으로 구성하고 배포합니다.

  • 도구 통합: 다양한 데이터 소스 및 외부 도구에 쉽게 접속할 수 있습니다.

  • 상태 관리: 워크플로의 각 단계에서 상태를 관리합니다.

  • 유연한 배포: 단일 머신 및 다중 서버 배포를 지원하여 다양한 규모의 애플리케이션 요구에 적응합니다.

기술 아키텍처 및 핵심 구성 요소

LangGraph 프레임워크

LangGraph는 LangChain의 확장 라이브러리로, 상태 기반 및 다중 역할의 에이전트 워크플로 구축에 중점을 둡니다.

  • 상태 관리: StateGraph를 통해 대화 컨텍스트를 유지하며, 장기 기억 및 태스크 연속성을 지원합니다.

  • 동적 흐름 제어: 루프, 분기 및 조건부 로직을 지원하여 자기 수정 또는 반복이 필요한 태스크(예: 코드 생성)에 적합합니다.

  • 다중 도구 통합: langchain-mcp-adapters를 통해 MCP 도구를 LangChain 도구로 변환하여 외부 서비스(예: 검색, 데이터베이스)와의 상호작용을 실현합니다.

MCP 프로토콜

MCP는 모델과 외부 도구 간의 상호작용 프로토콜을 정의하는 개방형 표준입니다.

  • 느슨한 결합 설계: AI가 도구를 동적으로 발견하고 호출할 수 있도록 하여 유연성을 향상시킵니다.

  • 다중 서버 지원: MultiServerMCPClient를 통해 여러 MCP 서버에 접속하여 도구 호출 능력을 확장합니다.

사용 시나리오

복잡한 태스크 처리

  • 다단계 워크플로: 예를 들어 데이터 분석 태스크에서 LangGraph는 데이터 획득, 정제, 시각화 등의 단계를 조율하고, MCP 도구는 구체적인 실행 능력(예: Python 라이브러리 호출 또는 데이터베이스 쿼리)을 제공합니다.

  • 크로스 시스템 협업: MCP를 통해 GitHub, Slack等服务에 접속하여 크로스 플랫폼 정보 통합을 실현합니다.

에이전트 협업

  • 역할 분담: 서로 다른 에이전트가 특정 태스크(예: 코드 생성, 차트 그리기)에 집중하고, MCP를 통해 중간 결과를 공유할 수 있습니다.

  • 동적 의사 결정: LangGraph의 상태 그래프는 태스크 진행 상황에 따라 실행 경로를 조정하는 것을 지원합니다. 예를 들어 코드 생성이 실패할 경우 디버깅 프로세스를 트리거합니다.

개발 효율성 향상

  • 도구 즉 서비스(Tool as a Service): MCP는 도구를 표준화된 인터페이스로 캡슐화하여, 개발자가 에이전트 핵심 로직을 수정하지 않고도 기능을 확장할 수 있습니다.

  • 비동기 지원: async_tool_executor가 동기 및 비동기 도구 호출(예: 코드 생성 및 실시간 검색)을 처리하여 실행 효율성을 최적화합니다.

프로젝트 구현

  • 클라이언트-서버 아키텍처: MCP는 클라이언트-서버 모델을 사용하며, LangGraph는 클라이언트로서 MCP 서버에 접속합니다.

  • 도구 노드 통합: MCP 서버의 도구를 LangGraph의 도구 노드로 변환합니다.

  • 다중 서버 지원: 여러 MCP 서버에 접속하여 서로 다른 서버의 도구를 유연하게 사용할 수 있도록 지원합니다.