제미나이와 로컬 PC를 잇는 MCP 서버 구축하기
파이썬을 활용하면 내 컴퓨터의 파일을 읽거나 특정 프로그램을 실행하는 로컬 MCP(Model Context Protocol) 서버를 아주 쉽게 만들 수 있습니다. 특히 구글에서 제공하는 FastMCP 라이브러리를 사용하면 복잡한 프로토콜 구현 없이 몇 줄의 코드로 제미나이와 내 PC를 연결할 수 있습니다.
1단계: 개발 환경 준비하기
가장 먼저 MCP 서버 제작에 필요한 도구들을 설치해야 합니다. 파이썬이 설치되어 있다는 가정하에 아래 라이브러리들을 터미널(CMD)에 입력하여 설치해 주세요.
- FastMCP: MCP 서버를 쉽고 빠르게 구축하게 해주는 프레임워크입니다.
- Gemini CLI (선택사항): 터미널에서 제미나이와 대화하며 내가 만든 서버를 즉시 테스트할 때 유용합니다.
# FastMCP 설치
pip install fastmcp
# 제미나이 CLI 설치 (Node.js 필요)
npm install -g @google/gemini-cli
2단계: 파이썬으로 MCP 서버 코드 작성하기
이제 내 로컬 PC의 시스템 정보를 알려주거나 파일을 읽는 기능을 가진 간단한 서버를 만들어 보겠습니다. server.py라는 파일을 만들고 아래 코드를 작성해 보세요.
from fastmcp import FastMCP
import os
import platform
# 1. MCP 서버 인스턴스 생성
mcp = FastMCP("MyLocalServer")
# 2. 도구(Tool) 등록: 시스템 정보 가져오기
@mcp.tool()
def get_system_info() -> str:
"""로컬 PC의 운영체제 정보를 반환합니다."""
return f"운영체제: {platform.system()}, 버전: {platform.release()}"
# 3. 도구(Tool) 등록: 현재 경로 파일 목록 보기
@mcp.tool()
def list_files(path: str = ".") -> list:
"""지정한 경로의 파일 리스트를 가져옵니다."""
try:
return os.listdir(path)
except Exception as e:
return [str(e)]
if __name__ == "__main__":
# 서버 실행 (stdio 방식은 CLI와 통신할 때 사용)
mcp.run(transport="stdio")
3단계: 제미나이와 연결 및 실행하기
작성한 서버를 제미나이가 인식하게 하려면 호스트(Host) 앱에 등록해야 합니다. 가장 대중적인 방법인 Gemini CLI를 기준으로 설명해 드릴게요.
| 단계 | 수행 작업 | 설명 |
|---|---|---|
| 서버 등록 | fastmcp install gemini-cli server.py |
내가 만든 서버를 제미나이 CLI 환경에 등록합니다. |
| CLI 실행 | gemini |
터미널에서 제미나이를 실행합니다. |
| 도구 확인 | /mcp 입력 |
현재 연결된 MCP 서버와 사용 가능한 도구 목록을 확인합니다. |
| 명령 수행 | "내 컴퓨터 OS가 뭐야?" | 제미나이가 get_system_info 도구를 호출해 답을 줍니다. |
MCP 서버 구축 시 주의사항
로컬 PC와 AI를 연결할 때는 보안과 성능을 위해 다음 사항을 꼭 체크해야 합니다.
- 표준 출력 금지:
mcp.run(transport="stdio")모드에서는print()함수를 사용하면 통신 데이터가 엉켜 에러가 발생합니다. 로그는logging라이브러리를 사용해 표준 에러(stderr)로 출력하세요. - 보안 권한: AI가 파일을 삭제하거나 시스템 설정을 바꾸는 도구를 만들 때는 신중해야 합니다. 특정 폴더만 접근 가능하도록 제한하는 코드를 넣는 것이 안전합니다.
- 절대 경로 사용: 외부 앱(예: Claude Desktop)에서 이 서버를 불러올 때는 파이썬 스크립트의 경로를 가급적 절대 경로로 입력해 주세요.
MCP 구축 및 제미나이 연동 실전 가이드
이 영상은 파이썬을 이용해 MCP 서버를 만들고 실제 제미나이 모델과 연동하여 도구를 호출하는 전 과정을 코드로 보여주어 실습에 큰 도움이 됩니다.
'AI Tech' 카테고리의 다른 글
| pandas의 pivot, pivot_table, groupby 비교 (0) | 2026.02.09 |
|---|---|
| Google Antigravity Agent Skills (에이전트 스킬) (0) | 2026.02.06 |
| 혼동 행렬(Confusion Matrix) (0) | 2026.02.02 |
| AI의 새로운 진화, '에이전트'가 바꾸는 우리의 일상 (1) | 2026.02.01 |
| AI와 외부 데이터의 연결 고리, MCP(Model Context Protocol) (0) | 2026.02.01 |