AG2

AG2

AG2AI (originally AutoGen from Microsoft Research) · 코딩

AG2는 오픈소스 Python 에이전트 프레임워크다. AI 에이전트를 원격과 로컬 MCP 서버에 연결하고, 그 도구들을 재사용 가능한 툴킷으로 묶으며, 에이전트 자체를 MCP 서버로 제공할 수도 있다.

AG2 미리보기

AG2 소개

What Is AG2

AG2는 원래 AutoGen이라는 이름으로 마이크로소프트 리서치가 2023년에 공개한 멀티에이전트 프레임워크였다. 이후 프로젝트가 커뮤니티로 넘어가면서 AG2로 이름을 바꿨고, 목표는 그대로다. 여러 AI 에이전트가 서로 대화하고 도구를 호출하며 작업을 나눠 맡아 끝까지 해내는 시스템을 만드는 것이다. 이 페이지에서 다루는 것은 그중 MCP 엔진, 즉 Model Context Protocol을 다루는 부분이다.

MCP는 Anthropic이 2024년 말에 내놓은 개방형 표준으로, 언어 모델을 외부 도구와 데이터에 연결하기 위해 만들어졌다. 이것이 푸는 문제는 하나다. 등장 이전에는 도구마다, 모델마다 전용 어댑터가 필요했다. AG2는 MCP를 나중에 덧붙이는 부품이 아니라 기본 구성으로 본다. 에이전트는 HTTP로 원격 MCP 서버의 도구를 읽어들이고, 로컬 서버를 표준 입출력 자식 프로세스로 띄우며, 서버 URL을 MCP를 원래 지원하는 공급자에게 그대로 넘길 수 있다.

가장 큰 제약은 범위다. AG2는 개발자용 Python 라이브러리이지 클릭 몇 번으로 쓰는 제품이 아니다. pip로 설치하고 코드를 쓰며, 키와 서버는 각자 관리한다. 코드 없이 쓰는 걸 원하는 사람은 다른 도구를 찾아야 하고, Python이 오래된 Windows 환경에서는 걸림돌이 생길 수 있다. 패키지가 3.10 이상을 요구하기 때문이다.

Getting Started

  1. pip install ag2[openai,mcp]로 프레임워크와 MCP 확장을 설치한다. openai 자리는 anthropic, gemini, ollama 등 다른 공급자로 바꿔도 된다.
  2. export OPENAI_API_KEY="..."처럼 공급자 키를 설정한다. 키는 환경 변수에서 읽으므로 프로젝트에 그대로 박아 넣을 필요가 없다.
  3. 에이전트를 MCP 서버로 향하게 한다. 원격 서버라면 URL을 MCPToolkit에 넘기고, 로컬 서버라면 MCPStdioServerConfig로 자식 프로세스로 돌린다.
  4. allowed_tools, blocked_tools, server_label로 도구를 걸러 에이전트가 필요한 것만 보게 한다.
  5. 방향을 뒤집고 싶다면 ag2 serve my_agent.py --protocol mcp로 완성한 에이전트를 그대로 MCP 서버로 공개한다.

제품 정보

AG2의 요금, 지원 플랫폼, 성능을 한눈에 확인해 보세요.

무료 플랜예
유료 플랜$0 (open source)
플랫폼Python (Windows, macOS, Linux)
개발사AG2AI (originally AutoGen from Microsoft Research)
카테고리코딩
출시일Nov 2024
최근 업데이트Oct 2026
웹사이트 방문 수N/A
웹사이트 글로벌 순위N/A
API 제공 여부예

추천 대상

이 도구가 가장 잘 맞는 사용자, 작업, 상황입니다.

사용자

  • 에이전트 시스템을 만드는 Python 개발자
  • 이미 MCP 서버를 운영하는 팀
  • 에이전트 간 협업을 연구하는 사람

작업

  • 에이전트를 외부 도구에 연결하기
  • 에이전트를 도구로 공개하기
  • 기존 인터페이스를 MCP 도구로 바꾸기

활용 상황

  • 한 흐름에서 여러 데이터 원천이 필요한 경우
  • 인증 정보를 자체 환경에 두고 싶은 경우
  • 리서치 어시스턴트를 먼저 시험해 보는 경우

주요 기능

클라이언트 쪽 연결을 위한 MCP 툴킷

MCPToolkit 클래스는 필요할 때 서버의 도구를 찾아내 각각을 일반 함수로 에이전트에 넘긴다. 원격 URL과 MCPServerConfig 조합도, 로컬 자식 프로세스와 MCPStdioServerConfig 조합도 받아들이며, 어느 쪽을 골랐든 에이전트의 나머지 부분에는 상관이 없다. 실행이 내 쪽에 남기에 모든 공급자에서 돌아가고 인증 정보도 자체 환경 안에 머문다.

공급자 쪽 MCP 전달

연결 자체를 모델 공급자에게 맡기고 싶다면 MCPServerTool이 서버 URL과 인증 정보를 넘기고, 공급자가 자기 쪽에서 도구를 실행한다. 이 경로는 Anthropic처럼 MCP 전달을 지원하는 공급자에서만 쓸 수 있고, 인증 정보가 자체 네트워크를 떠난다는 점도 감안해야 한다. 연결 수명 주기를 직접 관리하고 싶지 않은 사람을 위한 선택지다.

여러 서버를 위한 동적 세션 관리

MCPClientSessionManager는 흐름 내내 연결을 붙들어 두지 않고 필요할 때 세션을 연다. 도구 함수 안에서 에이전트는 질의에 따라 다른 서버로 접속하고, 로컬 표준 입출력 서버와 원격 HTTP 서버를 섞어 쓰며, 각 세션은 닫힐 때 스스로 정리된다. 리서치 어시스턴트나 작업 도중 참조 대상을 바꾸는 라우팅 시스템에 어울린다.

에이전트를 MCP 서버로 제공하기

ag2 serve 명령은 완성한 에이전트를 세 가지 프로토콜 가운데 하나로 공개한다. --protocol mcp를 붙이면 에이전트가 chat과 list_agents 도구를 제공하는 MCP 서버가 되어 MCP를 다루는 클라이언트라면 무엇이든 쓸 수 있다. 같은 명령으로 REST API나 A2A 엔드포인트도 낼 수 있는데, 여러 종류의 호출자가 에이전트에 닿아야 할 때 중요하다.

어떤 인터페이스든 MCP 도구로 바꾸기

ag2 proxy는 이미 가진 것을 에이전트 도구로 바꾼다. CLI 명령을 가리키면 도움말 출력을 읽어 타입이 있는 래퍼를 만들고, OpenAPI 명세를 가리키면 엔드포인트마다 도구 하나를 만들며, Python 모듈을 가리키면 타입이 있는 함수 래퍼를 만든다. --serve-mcp를 더하면 파일 생성은 건너뛰고 감싼 도구를 동작하는 MCP 서버로 띄운다.

AutoGen 계보 위에 세워짐

AG2는 AutoGen을 널리 알린 멀티에이전트 모델을 그대로 지킨다. 대화하는 에이전트, 그룹 채팅, swarm, 중첩 흐름이다. 그 위에 비동기 코어, 지속되는 컨텍스트, 그리고 MCP와 A2A 프로토콜 지원을 얹었다. 연구로 검증된 오케스트레이션 패턴과 에이전트를 바깥 세계에 잇는 상호운용 계층을 함께 얻는다.

장단점

장점

  • Apache 2.0 오픈소스라 핵심 프레임워크에 라이선스 비용이 없고 특정 벤더에 묶이지 않는다.
  • 공급자에 얽매이지 않는다. 클라이언트 쪽 툴킷이 호출을 로컬에서 실행하므로 OpenAI, Anthropic, Google, 오픈 모델 모두에서 똑같이 돈다.
  • 하나의 코드로 MCP 양방향을 다룬다. 서버 연결과 에이전트의 서버 제공이다.
  • 세션은 필요할 때 열리므로 긴 흐름도 불필요한 연결을 끌고 다니지 않는다.
  • notebook과 빠른 시작이 준비되어 있고, 이론을 알고 싶으면 AutoGen 논문으로 거슬러 갈 수 있다.

단점

  • 호스팅된 앱이 아니라 Python 라이브러리다. 개발자가 없는 팀은 바로 쓸 수 없고 자체 인터페이스를 만들어야 한다.
  • Python 3.10 이상을 요구해 오래된 환경에서는 못 쓴다. 오래된 Windows 환경에서는 걸림돌이 될 수도 있다.
  • 공급자 쪽 MCP 전달은 이를 지원하는 공급자에서만 돈다. 아무 모델에나 쓸 수 있는 게 아니다.
  • 여러 서버와 키를 잇는 일은 각자 몫이고, 운영 중인 에이전트를 지켜볼 기본 대시보드도 없다.

자주 묻는 질문

AG2는 서로 협업하고 외부 도구를 쓰는 AI 에이전트를 만드는 Python 프레임워크다. MCP 엔진을 쓰면 에이전트가 MCP 서버에 연결하고, 도구를 재사용 가능한 툴킷으로 묶고, 완성한 에이전트를 MCP 서버로 공개해 다른 클라이언트가 호출하게 할 수 있다.