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

AI 도구의 한계를 뛰어넘다
AI 도구들이 점점 똑똑해지고 있지만, 여전히 답답한 순간들이 있습니다. “내 로컬 파일을 읽어줘”, “회사 데이터베이스에서 정보를 가져와줘”, “이 API를 호출해서 결과를 분석해줘” 같은 요청을 할 때마다 “죄송하지만 그건 할 수 없습니다”라는 답변을 듣게 되죠.
이런 문제를 해결하기 위해 등장한 것이 MCP(Model Context Protocol)입니다. MCP는 AI 애플리케이션이 외부 시스템과 연결할 수 있게 해주는 표준 프로토콜입니다. USB-C처럼 표준화된 방식으로 AI 도구에 다양한 기능을 꽂아 넣을 수 있게 해주죠.

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 어시스턴트를 만들어보세요.
참고자료:
Comments