이 저장소는 AutoGen 프레임워크 내에서 **Model Context Protocol (MCP)**를 사용하여 AI 에이전트와 도구를 통합하는 실질적인 데모를 제공합니다.
시연되는 주요 기능:
이중 MCP 통합: AutoGen 에이전트를 다음 두 가지 방식으로 연결하는 방법을 보여줍니다:
-
Stdio 전송 방식을 사용하는 로컬 도구 서버(math_server.py)
-
Server-Sent Events (SSE) 전송 방식을 사용하는 원격 도구 서버(Apify의 RAG Web Browser Actor)
-
로컬 도구 예시: math_server.py를 통해 로컬에서 실행되는 간단한 계산기(add, multiply)
-
원격 도구 예시: 웹 검색 및 콘텐츠 검색을 위해 Apify의 MCP Server를 통한 Apify의 RAG Web Browser Actor 활용
-
AutoGen 에이전트: 사용자 질의에 답변하기 위해 두 세트의 도구를 모두 사용하도록 구성된 AssistantAgent
목표: 표준화된 통신 프로토콜(Stdio 및 SSE)을 통해 AI 에이전트가 로컬 또는 원격에 호스팅된 다양한 도구에 액세스할 수 있도록 하는 MCP의 유연성을 보여주는 것입니다.
시나리오: 예시 에이전트는 두 가지 서로 다른 질문에 답변합니다:
- 수학 문제 (
(3 + 5) x 12?): 로컬 math_server.py를 사용할 것으로 예상됩니다.
- 최근 뉴스 요청 ("Summarise the latest news of Iran and US negotiations..."): 원격 Apify 웹 브라우징 도구를 사용할 것으로 예상됩니다.
AutoGen: AI 에이전트 프레임워크 (autogen_agentchat, autogen_core, autogen_ext)
MCP: 도구 통합을 위한 Model Context Protocol
Python-dotenv: 환경 변수 관리를 위함
OpenAI API: LLM 기능을 위함
Apify API: 웹 브라우징 기능을 위함
환경을 설정하려면 다음 단계를 주의 깊게 따르십시오:
uv를 사용하여 가상 환경 생성
uv venv --python 3.12
가상 환경 활성화
source .venv/bin/activate # macOS/Linux의 경우
# OR
.\.venv\Scripts\activate # Windows의 경우
의존성 설치:
프로젝트 의존성 설치
uv pip install -e .
문제 해결 참고 사항: MCP CLI 설치 중 문제가 발생하면 수동으로 설치할 수 있습니다:
uv add "mcp[cli]"
환경 변수 설정:
-
mcp_autogen_sse_stdio 디렉토리에 .env 파일을 생성하십시오.
-
API 키를 추가하십시오:
OPENAI_API_KEY=your_openai_api_key_here
APIFY_API_KEY=your_apify_api_key_here
-
Apify MCP Server 페이지에서 Apify API 키를 가져오십시오.
-
파일을 생성하십시오.
상위 디렉토리(프로젝트 디렉토리의 한 단계 위)에 있는지 확인하십시오:
cd ..
uv를 사용하여 메인 스크립트를 실행하십시오:
uv run mcp_autogen_sse_stdio/main.py
이 명령은 다음을 수행하는 데모를 실행합니다:
- Apify 도구를 사용하여 이란-미국 협상에 관한 뉴스 요약
- 로컬 수학 도구를 사용하여 간단한 수학 문제 해결:
(3 + 5) x 12
MCP는 AI 모델과 도구 간의 통신을 표준화하는 프로토콜입니다. 이 예제는 MCP를 사용하는 두 가지 방법을 보여줍니다:
-
통신을 위해 표준 입출력 (Standard Input/Output)을 사용합니다.
-
도구가 사용자의 로컬 머신에서 실행됩니다.
-
예시: 우리의 math_server.py는 간단한 수학 연산을 제공합니다.
-
통신을 위해 서버 전송 이벤트 (Server-Sent Events, SSE)를 사용합니다.
-
도구가 원격 서버(예: Apify)에서 실행됩니다.
-
예시: Apify의 rag-web-browser를 통한 웹 브라우징 기능
우리의 main.py는 다음을 시연합니다:
-
환경 설정 (Environment Setup):
-
도구 구성 (Tool Configuration):
-
에이전트 생성 (Agent Creation):
- 두 가지 도구 세트를 모두 갖춘 AutoGen 어시스턴트를 생성합니다.
- 기본 모델로 GPT-4를 사용합니다.
-
작업 실행 (Task Execution):
-
두 가지 도구가 작동하는 모습을 보여주는 두 가지 데모 작업을 실행합니다.
- 뉴스 요약을 위한 웹 브라우징 (Web browsing)
- 산술 문제를 위한 수학 계산 (Math calculations)
사용자 (User) → AutoGen 에이전트 (Agent) → MCP 도구 (Tools) → 결과 (Results) → 사용자 (User)
이 예제는 MCP를 사용하여 서로 다른 유형의 도구들을 어떻게 하나의 에이전트에 쉽게 통합할 수 있는지 보여줍니다!