📋
핵심 요약
FastMCP는 Python 데코레이터 @mcp.tool 하나만 붙이면 함수를 AI가 호출 가능한 도구로 바꿔주는 가장 빠른 MCP 서버 구축 방법이다.
설치(pip install fastmcp)부터 첫 서버 작성, fastmcp list/call 테스트, Hermes Agent나 Claude Desktop 연결까지 전 과정이 10분이면 끝난다.
실무에서는 영림원 ERP의 전표 조회 API 같은 내부 API를 MCP 도구로 감싸, AI 비서가 자연어로 전표를 검색하게 만드는 데 가장 많이 쓰인다.

지난 글에서 MCP가 뭔지 알아봤다. 이번엔 진짜 만들어본다. Python만 알면 10분이면 충분하다.

FastMCP란

Python으로 MCP 서버를 만드는 가장 빠른 방법. Flask처럼 데코레이터로 도구를 정의하고, CLI 하나로 테스트·배포까지 가능하다.

설치는 pip 한 줄:

pip install fastmcp

5분: 첫 MCP 서버 만들기

다음 코드를 my_server.py로 저장한다:

from fastmcp import FastMCP

mcp = FastMCP("내 첫 MCP 서버")

@mcp.tool
def add(a: int, b: int) -> int:
    """두 수를 더합니다"""
    return a + b

@mcp.tool
def get_weather(city: str) -> str:
    """도시의 현재 날씨를 반환합니다 (데모)"""
    temps = {"서울": 23, "부산": 25, "제주": 27}
    temp = temps.get(city, 20)
    return f"{city}: {temp}도, 맑음"

if __name__ == "__main__":
    mcp.run()

이게 끝이다. @mcp.tool 데코레이터만 붙이면 함수가 AI가 호출 가능한 도구가 된다.

2분: 테스트

# 서버가 어떤 도구를 제공하는지 확인
fastmcp list my_server.py --json

# 실제 도구 호출 테스트
fastmcp call my_server.py add a=3 b=5

add 함수가 정상 호출되면 8이 반환된다. 서버 준비 완료.

3분: AI 클라이언트에 연결

Hermes Agent에 연결하는 경우:

hermes mcp add my-tools --command python3 --args "/path/my_server.py"

Claude Desktop이면:

fastmcp install claude-desktop my_server.py

연결 즉시 AI가 add, get_weather 도구를 인식하고 필요할 때 알아서 호출한다.

실전: ERP API 래핑하기

실무에서 가장 흔한 MCP 사용처는 내부 API 래핑이다. 예를 들어 영림원 ERP의 전표 조회 API를 MCP로 감싸면:

@mcp.tool
def search_slips(keyword: str, limit: int = 10) -> list:
    """ERP 전표를 키워드로 검색합니다"""
    resp = requests.get(
        f"{ERP_URL}/api/slips",
        params={"q": keyword, "limit": limit},
        headers={"Authorization": f"Bearer {ERP_TOKEN}"}
    )
    return resp.json()

이제 AI 비서한테 "지난주 매출 전표 중에 500만원 이상인 것만 보여줘"라고 말하면 된다. SQL 몰라도, API 문서 몰라도 된다.

다음 글에서는 이걸 실제 ERP 환경에 붙였을 때 어떤 일이 벌어지는지 이야기한다.

참고 자료

이 글에서 다룬 도구와 연동 방법은 아래를 참고했습니다.

  • FastMCP 공식 프로젝트 (pip install fastmcp)
  • Hermes Agent MCP 연동 가이드 (hermes mcp add)
  • Claude Desktop MCP 설치 가이드 (fastmcp install claude-desktop)