2편. MCP란 무엇인가요? — 에이전트에게 도구를 연결하는 방법

시리즈: AI 에이전트 직접 만들어보기 | 2편 / 5편

안녕하세요! 지난 1편에서는 AI 에이전트가 무엇인지 알아봤어요. 에이전트에는 도구(Tools) 가 필요하다고 했었죠? 기억나시나요? 😊

오늘은 바로 그 도구를 에이전트에 연결하는 방법, MCP(Model Context Protocol) 에 대해 알아볼 거예요!

처음 들어보신 분들도 걱정 마세요. “이게 왜 필요한지”부터 차근차근 설명해드릴게요! 🙌

MCP

먼저, 왜 MCP가 필요할까요?

AI 에이전트에게 도구를 연결하는 방법은 사실 MCP 이전에도 있었어요. 그런데 문제가 있었어요. 예를 들어볼게요.

MCP 이전의 상황

Claude에게 웹 검색 기능을 붙이려면 이런 코드가 필요했어요:

# Claude용 웹 검색 도구
def search_for_claude(query):
    ...

# GPT용 웹 검색 도구 (같은 기능인데 다시 만들어야 해요!)
def search_for_gpt(query):
    ...

# Gemini용 웹 검색 도구 (또 다시 만들어야 해요!!)
def search_for_gemini(query):
    ...

AI 모델마다 도구를 연결하는 방식이 달랐어요. 같은 기능인데도, 쓰는 AI 모델이 바뀌면 처음부터 다시 만들어야 했죠.

너무 비효율적이죠? 😩


MCP가 등장한 이유

MCP는 이 문제를 해결하기 위해 Anthropic(Claude 만드는 회사)이 만든 표준 통신 규약이에요.

쉽게 비유하면, USB 규격 같은 거예요! 🔌

USB 이전: 회사마다 다른 충전 케이블 → 새 기기 살 때마다 새 케이블 필요
USB 이후: 하나의 규격으로 통일 → 어디에나 꽂을 수 있음!

MCP 이전: AI마다 다른 방식으로 도구 연결 → 새 AI 쓸 때마다 다시 개발
MCP 이후: 하나의 규격으로 통일 → 한 번 만들면 어디에나 연결 가능!

MCP로 만든 도구는 Claude뿐만 아니라 MCP를 지원하는 어떤 AI 모델에도 연결할 수 있어요. ✨


MCP의 구조 — 3가지 역할

MCP는 크게 3가지 역할로 나뉘어요.

[MCP Client]     ◄──────►     [MCP Server]     ◄──────►     [실제 도구]
(AI 에이전트)                                 (중간 다리)                                (웹, DB 등)

🖥️ MCP Client — AI 에이전트 쪽

도구를 사용하고 싶은 AI 에이전트예요. “웹 검색해줘!”, “파일 읽어줘!” 같은 요청을 보내는 쪽이에요.

🔌 MCP Server — 중간 다리

실제 도구와 AI 에이전트를 연결해주는 역할을 해요. AI의 요청을 받아서, 실제 도구를 실행하고, 결과를 돌려줘요.

🛠️ 실제 도구 — 기능을 수행하는 곳

웹 검색 API, 파일 시스템, 데이터베이스 등 실제 기능을 제공하는 곳이에요.


MCP Server가 제공하는 3가지 기능

MCP Server는 AI에게 크게 3가지를 제공해요.


1. Tools (도구) — AI가 실행할 수 있는 기능

AI가 “실행”할 수 있는 기능이에요.

# MCP Tools 예시

@mcp.tool()
def search_web(query: str) -> str:
    """웹에서 정보를 검색합니다."""
    # 실제 검색 실행
    results = google_search(query)
    return results

@mcp.tool()
def send_email(to: str, subject: str, body: str) -> str:
    """이메일을 발송합니다."""
    # 실제 이메일 발송
    email_client.send(to, subject, body)
    return "이메일이 발송됐어요!"

AI는 이런 도구들을 이름으로 호출할 수 있어요. “search_web 도구를 써서 오늘 뉴스 검색해줘” 처럼요!


2. Resources (리소스) — AI가 읽을 수 있는 데이터

AI가 참고할 수 있는 데이터나 파일이에요.

# MCP Resources 예시

@mcp.resource("company://docs/manual")
def get_company_manual() -> str:
    """회사 매뉴얼을 제공합니다."""
    with open("company_manual.txt") as f:
        return f.read()

AI가 “회사 매뉴얼 참고해서 답변해줘” 라고 할 때 MCP Resource를 통해 문서를 가져올 수 있어요.


3. Prompts (프롬프트) — 미리 만들어둔 지시 템플릿

자주 쓰는 지시 형식을 미리 만들어둔 템플릿이에요.

# MCP Prompts 예시

@mcp.prompt()
def weekly_report_prompt(team: str) -> str:
    """주간 보고서 작성 프롬프트를 제공합니다."""
    return f"""
    {team} 팀의 이번 주 성과를 분석하고,
    다음 형식으로 보고서를 작성해주세요:
    1. 주요 성과
    2. 이슈 및 해결 방안
    3. 다음 주 계획
    """

실제로 MCP가 어떻게 동작하는지 볼까요?

아래는 AI 에이전트가 MCP를 통해 웹 검색을 하는 전체 흐름이에요:

1. 사용자: "오늘 AI 뉴스 요약해줘"
   ↓
2. AI 에이전트: "웹 검색 도구가 필요하겠다"
   ↓
3. MCP Client → MCP Server: "search_web('AI 뉴스 2026') 실행해줘"
   ↓
4. MCP Server → 검색 API: 실제 검색 실행
   ↓
5. 검색 API → MCP Server: 검색 결과 반환
   ↓
6. MCP Server → MCP Client: "검색 결과예요!" 결과 전달
   ↓
7. AI 에이전트: 검색 결과를 바탕으로 요약 작성
   ↓
8. 사용자: "오늘의 AI 뉴스 요약입니다! 😊"

사용자 입장에서는 그냥 자연스럽게 요청하면 되고, 뒤에서 MCP가 도구 연결을 알아서 처리해줘요!


이미 만들어진 MCP Server도 있어요!

MCP는 오픈소스 생태계가 빠르게 성장하고 있어서 이미 수백 개의 MCP Server가 만들어져 있어요.

직접 만들지 않아도 바로 쓸 수 있는 것들이에요:

MCP Server기능상태
@modelcontextprotocol/server-filesystem파일 읽기/쓰기✅ 활성
@modelcontextprotocol/server-memory지식 그래프 기반 기억 저장✅ 활성
@modelcontextprotocol/server-githubGitHub 연동⚠️ 보관됨
@modelcontextprotocol/server-postgresPostgreSQL 조회⚠️ 보관됨
@modelcontextprotocol/server-brave-search웹 검색⚠️ 보관됨
@modelcontextprotocol/server-slackSlack 연동⚠️ 보관됨

⚠️ “보관됨(archived)”이 뭔가요? 공식 팀이 더 이상 업데이트나 버그 수정을 하지 않는 상태예요. 패키지 자체는 설치하고 사용할 수 있지만, 새로운 프로젝트에서는 커뮤니티가 관리하는 최신 버전을 찾아 쓰는 게 좋아요. 전체 목록은 github.com/modelcontextprotocol/servers 에서 확인할 수 있어요!

내가 필요한 도구가 이미 만들어져 있다면 가져다가 바로 쓸 수 있어요! 아주 편리하죠? 😄


MCP를 지원하는 클라이언트들

MCP는 이제 여러 AI 도구에서 공식 지원해요:

  • Claude Desktop — Anthropic의 공식 데스크탑 앱
  • Claude Code — 개발자용 CLI 도구
  • Cursor — AI 코드 에디터
  • Zed — AI 통합 텍스트 에디터
  • 그 외 수십 개의 도구들

MCP로 만든 도구를 한 번 개발해두면, 이 모든 곳에서 쓸 수 있어요! 🎉


정리해볼까요?

오늘 배운 내용을 정리할게요:

MCP = AI 에이전트와 도구를 연결하는 표준 규격 (USB 같은 것!)

핵심 포인트 3가지:

  1. ✅ MCP 이전에는 AI마다 도구를 따로 만들어야 했어요
  2. ✅ MCP는 한 번만 만들면 어떤 AI에도 연결할 수 있어요
  3. ✅ 이미 수백 개의 MCP Server가 오픈소스로 공개되어 있어요

다음 편 예고

개념은 충분히 이해하셨나요? 😊

다음 편에서는 드디어 직접 코드를 작성해볼 거예요! Google Colab 에서 나만의 첫 번째 AI 에이전트를 만들어볼게요.

“나는 Python을 잘 모르는데…” 하고 걱정하실 수도 있는데요, 코드 한 줄 한 줄 설명해드릴 테니 천천히 따라오시면 돼요! 💪

💡 미리 준비해두면 좋은 것

  • Google 계정 (Gmail이 있으면 OK!)
  • console.anthropic.com 에서 API 키 발급 이것만 있으면 다음 편 실습 준비 완료예요! 🙌

제목상태
1편AI 에이전트란 무엇인가요?✅ 완료
2편MCP란 무엇인가요? 도구를 에이전트에 연결하는 방법✅ 현재 글
3편나만의 에이전트 첫 번째 만들기 (Colab 실습)👉 다음 편
4편멀티 에이전트 설계 패턴예정
5편실무에 AI 에이전트 도입하기예정