githubEdit

Clip 2: 오픈소스 AI AGENT의 mcp 활용 코드 까보기

📋 학습 개요

🎯 학습 목표

  • MCP 클라이언트의 3단계 처리 프로세스를 이해하고 설명할 수 있다

  • 도구 정규화와 스키마 변환 메커니즘을 파악할 수 있다

  • LLM 주도 실행 루프의 동작 원리를 분석할 수 있다

🔍 STEP 1: MCP 클라이언트 3단계 프로세스

MCP 클라이언트는 연결 → 도구 발견 → LLM 실행의 3단계로 동작합니다.

단계
역할
핵심 동작

① 연결

MCPClient

서버 설정 로드, Connector 생성, Session 초기화

② 도구 발견

MCPSession

서버의 tools/resources/prompts 목록 요청

③ LLM 실행

MCPAgent

LLM에게 도구 전달, 실행 결과 처리

mcp-use 예시 코드

# 1단계: 연결
client = MCPClient.from_config_file("config.json")
await client.create_all_sessions()  # 모든 서버 연결

# 2단계: 도구 발견 (자동 수행)
session = client.get_session("linear")
tools = session.list_tools()  # MCP tools 목록

# 3단계: LLM 실행
agent = MCPAgent(llm=ChatOpenAI(model="gpt-5"), client=client)
response = await agent.run("linear에서 이슈 생성해줘")

🛠️ STEP 2: 도구 정규화와 스키마 변환

도구 이름 정규화

MCP 서버의 도구를 LLM이 사용할 때 충돌을 방지하기 위해 서버명 접두사를 추가합니다.

원본 도구명
정규화된 이름
변환 로직

create_issue

linear__create_issue

mcp-use: server__tool

create_issue

linear/create_issue

Codex: server/tool

스키마 변환 테이블

MCP Schema
OpenAI Function Calling
변환 규칙

type: "integer"

type: "number"

integer는 number로 정규화

type 미지정

type: "string"

기본값 string 할당

properties 없음

properties: {}

빈 객체 삽입

중첩 스키마

재귀적 sanitize

sanitize_json_schema() 호출

Codex의 스키마 변환 코드 (Rust)

🤖 STEP 3: LLM 주도 실행 루프

실행 흐름

mcp-use의 LangChain 어댑터 구조

Codex의 병렬 도구 실행

💻 STEP 4: 바이브코딩으로 분석하기

프롬프트 1: mcp-use 구조 파악

프롬프트 2: Codex 도구 변환 로직

프롬프트 3: 에러 처리 비교

✅ 핵심 정리

  • 3단계 프로세스: 연결(Client) → 발견(Session) → 실행(Agent)

  • 도구 정규화: server__tool (mcp-use) 또는 server/tool (Codex) 포맷으로 충돌 방지

  • 스키마 변환: MCP 스키마를 OpenAI Function Calling 포맷으로 정규화 (integer→number, 빈 properties 삽입)

  • 실행 루프: LLM이 도구 선택 → 실행 → 결과 평가를 max_steps까지 반복

  • 병렬 처리: Codex는 supports_parallel_tool_calls 플래그로 동시 실행 지원

📖 참고 자료

  • mcp-use GitHub: https://github.com/mcp-use/mcp-use

  • Codex GitHub: https://github.com/openai/codex


강사 정보

  • 작성자: 정구봉

  • LinkedIn: https://www.linkedin.com/in/gb-jeong/

  • 이메일: bong@dio.so

강의 자료

  • 강의 자료: https://goobong.gitbook.io/fastcampus

  • Github: https://github.com/Koomook/fastcampus-ai-agent-vibecoding

  • FastCampus 강의 주소: https://fastcampus.co.kr/biz_online_vibeagent

Last updated