DM Log

[AI 실습 #2] MCP 소개와 FastMCP 실습 본문

개발공부/AI

[AI 실습 #2] MCP 소개와 FastMCP 실습

Dev. Dong 2025. 9. 13. 14:48

AI 도구 - IDE 연결 표준

 

  • AI 모델을 활용 시 단순 프롬프트 입력 → 답변 출력으로 끝나는 경우는 많지 않음
  • IDE(Coding 환경), 지식 베이스, 외부 API 등과 연결하여 실질적 업무 도구 활용
  • MCP는 AI 모델과 외부 애플리케이션(IDE, 도구, 데이터 소스)을 표준화된 방식으로 연결해 주는 프로토콜

MCP 란?

  • Model Context Protocol의 약자
  • AI모델이 외부 도구(tool)를 호출하거나, 데이터 소스에 접근할 수 있도록 해주는 규격
  • 대표 지원 사례:
    • Cursor IDE → MCP 서버를 연결해 맞춤형 개발 도구 사용
    • Claude → MCP 도구를 통해 특정 데이터베이스 / 문서 검색 가능

👉 MCP는 LLM + 외부 세계 연결을 위한 표준 인터페이스


 FastMCP 소개

MCP 서버를 직접 구현하려면 복잡, fastmcp 라이브러리를 사용하면 간단히 MCP 서버 구축 가능

특징:

  • Python 기반
  • 데코레이터(@tcp.tool())로 함수 등록
  • stdin/stout 기반 통신

FastMCP로 간단한 MCP 서버 만들기

1. 라이브러리 설치

pip install mcp

2. MCP 서버 코드 작성

import logging
from mcp.server.fastmcp import FastMCP

# MCP 서버 인스턴스 생성
mcp = FastMCP("HelloMCP")

# 간단한 도구 함수 등록
@mcp.tool()
def greet(name: str) -> str:
    """입력한 이름을 이용해 인사말을 반환합니다."""
    logging.info(f"Received name: {name}")
    return f"안녕하세요, {name}님! MCP 서버가 동작 중입니다."

# MCP 서버 실행
if __name__ == "__main__":
    mcp.run(transport="stdio")

3. 동작 원리

  • FastMCP("HelloMCP"): 이름이 "HelloMCP"인 MCP 서버 생성
  • @mcp.tool(): 함수 greet를 MCP 도구로 등록
  • mcp.run(transport="stdio"): 표준 입출력 방식으로 서버 실행
  • 외부 애플리케이션(Cursor, Claude 등)에서 MCP 서버를 연결하면 greet 도구를 호출 가능

실행 및 테스트

1. 코드를 hello_mcp.py로 저장

2. 터미널 실행:

python hello_mcp.py

 

3. MCP 클라이언트에서 서버를 등록 후:

/mcp greet name="홍길동"

 

실행 시

안녕하세요, 홍길동님! MCP 서버가 동작 중입니다.

MCP의 장점

  • 표준화: Cursor, Claude 등 다양한 클라이언트에서 동일하게 동작
  • 확장성: 원하는 함수를 바로 도구로 등록 가능
  • 안전성: 모델이 무분별하게 시스템 리소스를 건들지 않고, 허용 도구만 사

(부록) 용어 정리

  • MCP: Model Context Protocol, AI ↔ 외부 도구 연결 표준
  • FastMCP: Python용 간편 MCP 서버 구현 라이브러리
  • @mcp.tool(): MCP 도구 등록 데코레이터
  • stdio transport: 표준 입출력을 통한 클라이언트-서버 통신 방식