본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 05. 14. 19:14

SaM-92/mcp_autogen_sse_stdio

요약

본 문서는 AutoGen 프레임워크 내에서 Model Context Protocol (MCP)을 활용하여 AI 에이전트와 다양한 도구를 통합하는 실습 데모를 제공합니다. 이 데모는 로컬 환경(Stdio 전송 방식의 `math_server.py`)과 원격 서버(SSE 전송 방식의 Apify RAG Web Browser Actor)라는 두 가지 표준화된 통신 프로토콜을 통해 에이전트가 여러 도구에 접근하는 방법을 보여줍니다. 이를 통해 AI 에이전트가 로컬 및 원격 리소스에 관계없이 일관되게 기능을 사용할 수 있는 MCP의 유연성을 입증합니다.

핵심 포인트

  • MCP를 사용하여 AutoGen 에이전트를 로컬(Stdio) 및 원격(SSE) 도구 서버와 통합하는 방법을 시연함.
  • 로컬 계산기(`math_server.py`)는 Stdio 방식을 통해, 웹 브라우징 기능은 SSE 방식을 통해 MCP에 연결됨.
  • AutoGen 에이전트는 사용자 질의에 따라 적절한 로컬 또는 원격 도구를 선택하여 작업을 수행할 수 있음.
  • 이 예제는 AI 에이전트가 표준화된 프로토콜을 통해 다양한 유형의 외부 도구에 접근하는 방법을 보여주는 포괄적인 가이드임.

이 저장소는 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: 웹 브라우징 기능을 위함

환경을 설정하려면 다음 단계를 주의 깊게 따르십시오:

  • 사전 요구 사항:

    • Python 3.12가 설치되어 있는지 확인하십시오.
    • 아직 설치되지 않았다면 uv를 설치하십시오: pip install uv
  • 프로젝트 디렉토리로 이동: cd mcp_autogen_sse_stdio

  • 가상 환경 생성 및 활성화:

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):

    • API 키를 로드하고 유효성을 검사합니다.
  • 도구 구성 (Tool Configuration):

    • StdioServerParams를 사용하여 로컬 수학 도구를 설정합니다.
    • SseServerParams를 사용하여 Apify의 웹 브라우저에 연결합니다 (API 출처: https://apify.com/apify/actors-mcp-server)
  • 에이전트 생성 (Agent Creation):

    • 두 가지 도구 세트를 모두 갖춘 AutoGen 어시스턴트를 생성합니다.
    • 기본 모델로 GPT-4를 사용합니다.
  • 작업 실행 (Task Execution):

  • 두 가지 도구가 작동하는 모습을 보여주는 두 가지 데모 작업을 실행합니다.

    • 뉴스 요약을 위한 웹 브라우징 (Web browsing)
    • 산술 문제를 위한 수학 계산 (Math calculations)
사용자 (User) → AutoGen 에이전트 (Agent) → MCP 도구 (Tools) → 결과 (Results) → 사용자 (User)

이 예제는 MCP를 사용하여 서로 다른 유형의 도구들을 어떻게 하나의 에이전트에 쉽게 통합할 수 있는지 보여줍니다!

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0