AI Sparkup

복잡한 AI 세상을 읽는 힘 ⚡

Gemini CLI + FastMCP: AI 도구에 나만의 기능을 5분 만에 추가하는 법

Google의 Gemini CLI와 FastMCP가 통합되면서, 파이썬 함수 하나로 AI 어시스턴트에 커스텀 기능을 추가할 수 있게 되었습니다.

출처: Google Developers Blog

AI 도구의 한계를 뛰어넘다

AI 도구들이 점점 똑똑해지고 있지만, 여전히 답답한 순간들이 있습니다. “내 로컬 파일을 읽어줘”, “회사 데이터베이스에서 정보를 가져와줘”, “이 API를 호출해서 결과를 분석해줘” 같은 요청을 할 때마다 “죄송하지만 그건 할 수 없습니다”라는 답변을 듣게 되죠.

이런 문제를 해결하기 위해 등장한 것이 MCP(Model Context Protocol)입니다. MCP는 AI 애플리케이션이 외부 시스템과 연결할 수 있게 해주는 표준 프로토콜입니다. USB-C처럼 표준화된 방식으로 AI 도구에 다양한 기능을 꽂아 넣을 수 있게 해주죠.

FastMCP Logo
FastMCP – Python으로 MCP 서버를 쉽게 만드는 라이브러리

5분 만에 시작하는 실전 가이드

FastMCP는 복잡한 MCP 서버를 파이썬 데코레이터 몇 개로 만들 수 있게 해주는 라이브러리입니다. 이제 Gemini CLI와 완전히 통합되어 설치부터 사용까지 정말 간단해졌습니다.

1단계: 환경 설정

먼저 필요한 도구들을 설치하세요.

# Gemini CLI 설치
npm install -g @google/gemini-cli@latest

# FastMCP 설치 (v2.12.3 이상)
pip install fastmcp>=2.12.3

2단계: 첫 번째 MCP 서버 만들기

server.py 파일을 만들고 다음 코드를 입력하세요.

import random
from fastmcp import FastMCP

mcp = FastMCP(name="주사위 굴리기")

@mcp.tool
def roll_dice(n_dice: int) -> list[int]:
    """n_dice개의 6면 주사위를 굴려서 결과를 반환합니다."""
    return [random.randint(1, 6) for _ in range(n_dice)]

@mcp.tool  
def calculate_sum(numbers: list[int]) -> int:
    """숫자 리스트의 합을 계산합니다."""
    return sum(numbers)

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

단 몇 줄의 코드로 AI 도구가 사용할 수 있는 기능을 만들었습니다. @mcp.tool 데코레이터만 붙이면 일반 파이썬 함수가 AI 도구가 호출할 수 있는 기능으로 변신합니다.

3단계: Gemini CLI에 연결하기

이제 가장 중요한 순간입니다. 만든 서버를 Gemini CLI에 연결해보세요.

fastmcp install gemini-cli server.py

이 명령어 하나로 끝입니다. FastMCP가 알아서 설정을 처리하고 Gemini CLI에 등록해줍니다.

4단계: 실제로 사용해보기

Gemini CLI를 실행하고 다음과 같이 물어보세요.

gemini cli

> 주사위 3개를 굴려서 합계를 계산해줘

Gemini가 여러분이 만든 roll_dice 함수와 calculate_sum 함수를 자동으로 찾아서 사용합니다. 더 이상 “그건 할 수 없어요”라는 답변을 들을 필요가 없죠.

실무에서 바로 쓸 수 있는 활용 사례

데이터베이스 조회 도구

import sqlite3
from fastmcp import FastMCP

mcp = FastMCP(name="데이터베이스 헬퍼")

@mcp.tool
def query_users(email_domain: str) -> list[dict]:
    """특정 이메일 도메인의 사용자들을 조회합니다."""
    conn = sqlite3.connect('users.db')
    cursor = conn.cursor()
    cursor.execute("SELECT * FROM users WHERE email LIKE ?", (f"%@{email_domain}",))
    results = cursor.fetchall()
    conn.close()
    return [{"id": row[0], "name": row[1], "email": row[2]} for row in results]

파일 시스템 관리 도구

import os
from fastmcp import FastMCP

mcp = FastMCP(name="파일 매니저")

@mcp.tool
def find_large_files(directory: str, min_size_mb: int) -> list[dict]:
    """지정된 크기 이상의 파일들을 찾습니다."""
    large_files = []
    for root, dirs, files in os.walk(directory):
        for file in files:
            filepath = os.path.join(root, file)
            try:
                size_mb = os.path.getsize(filepath) / (1024 * 1024)
                if size_mb >= min_size_mb:
                    large_files.append({
                        "path": filepath,
                        "size_mb": round(size_mb, 2)
                    })
            except OSError:
                continue
    return large_files

API 통합 도구

import requests
from fastmcp import FastMCP

mcp = FastMCP(name="날씨 서비스")

@mcp.tool
def get_weather(city: str) -> dict:
    """도시의 현재 날씨를 가져옵니다."""
    api_key = os.getenv("WEATHER_API_KEY")
    url = f"http://api.openweathermap.org/data/2.5/weather"
    params = {
        "q": city,
        "appid": api_key,
        "units": "metric"
    }
    response = requests.get(url, params=params)
    return response.json()

고급 기능으로 한 단계 더

환경 변수 설정하기

API 키 같은 민감한 정보는 환경 변수로 관리하세요.

fastmcp install gemini-cli weather_server.py \
  --env WEATHER_API_KEY=your-api-key \
  --env DEBUG=true

의존성 패키지 추가하기

서버가 특별한 라이브러리를 필요로 한다면 함께 설치할 수 있습니다.

fastmcp install gemini-cli ml_server.py \
  --with pandas \
  --with scikit-learn \
  --with matplotlib

프롬프트 템플릿 만들기

자주 사용하는 프롬프트를 템플릿으로 만들어 두면 슬래시 커맨드로 빠르게 사용할 수 있습니다.

@mcp.prompt
def code_review_prompt(code: str) -> str:
    """코드 리뷰 요청 프롬프트를 생성합니다."""
    return f"다음 코드를 리뷰해주세요: {code}"

이제 Gemini CLI에서 /code_review_prompt라고 입력하면 바로 사용할 수 있습니다.

왜 지금 주목해야 할까?

이 통합의 진짜 가치는 설치와 설정의 단순함에 있습니다. 기존에는 MCP 서버를 만든 후 Gemini CLI에 연결하려면 복잡한 설정 과정이 필요했습니다. 하지만 이제는 fastmcp install gemini-cli server.py 명령어 하나면 모든 설정이 자동으로 처리됩니다.

더 중요한 건 표준화입니다. MCP는 Anthropic의 Claude Desktop에서도 지원하고, 다른 AI 도구들도 점점 채택하고 있습니다. 한 번 만든 MCP 서버는 여러 AI 도구에서 재사용할 수 있다는 뜻이죠.

개발자들이 AI 도구를 단순한 채팅 상대가 아닌 실제 업무 도구로 활용할 수 있는 전환점이 될 수 있습니다. 더 이상 AI에게 “그거 대신 해줄 수 있어?”라고 물어보고 실망할 필요가 없습니다. 직접 기능을 만들어서 연결하면 되니까요.

MCP와 FastMCP의 조합은 AI 도구의 활용도를 완전히 다른 차원으로 끌어올려 줄 것입니다. 5분 투자로 여러분만의 AI 어시스턴트를 만들어보세요.


참고자료:


AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)

Comments