이번 글에서는 MCP API 생성을 위한 전체 과정을 단계별로 설명합니다.
Python FastAPI 환경 설정, OpenAI(데이터 정리와 툴제공)와 Tavily API(실시간 데이터 검색 ) 연동, Notion(기록 저장) 자동 저장까지 Model Context Protocol(MCP)을 실습하여 AI 자동화 서버를 구축해봅니다.
해당 실습은 본인만의 Chatbot을 구축하여 나만의 데이터를 검색하여 해당 데이터들을 Notion에 저장하여 데이터를 정리할수있는 내용을 정리하였습니다.
🛠️ 1단계: MCP API 서버 환경 설정
1.1 기본 패키지 설치 및 작업 디렉토리 생성
# 시스템 업데이트 # 작업 디렉토리 생성 # Python 가상환경 도구 설치 |
1.2 Python 가상환경 구성
# 가상환경 생성 # 가상환경 활성화 # pip 업그레이드 |
1.3 필요한 라이브러리 일괄 설치
프로젝트에 필요한 모든 라이브러리를 requirements.txt
파일로 관리합니다.
requirements.txt 파일 생성:
설치 실행:
# pip install -r requirements.txt |
📁 2단계: MCP API 프로젝트 파일 구조 생성
2.1 디렉토리 구조
/home/MCP/ ├── app.py # 메인 FastAPI 서버 ├── mcp_server.py # Notion API 연동 로직 ├── requirements.txt # Python 패키지 목록 ├── .env # API 키 저장 (보안) ├── static/ # 정적 파일 폴더 │ └── index.html # 챗봇 UI └── venv/ # Python 가상환경 |
2.2 필요한 파일 준비
다음 파일들을 다운로드하여 적절한 위치에 배치합니다:
- app.py →
/home/MCP/
폴더 - mcp_server.py →
/home/MCP/
폴더 - index.html →
/home/MCP/static/
폴더 (static 폴더를 먼저 생성)
static 폴더 생성 # mkdir /home/MCP/static |
파일 다운로드
mcp |
🔑 3단계: MCP API 키 설정
3.1 .env 파일 생성
.env
파일은 API 키를 안전하게 저장하는 환경 변수 파일입니다. 절대 Git에 업로드하면 안 됩니다!. [GIT으로 업다운로드시 key값은 변경됩니다.]
# vi .env |
3.2 API 키 입력
# OpenAI API Key (필수) # Google API Key (선택) # Notion API Key (필수) # Notion Page ID (필수) # Tavily API Key (필수 – 실시간 검색용) |
Notion 설정 주의사항:
- Integration 생성 후 저장할 페이지에 반드시 연결해야 합니다
- 페이지 우측 상단
⋯
→Connections
→ Integration 선택
🚀 4단계: MCP API 서버 실행
4.1 서버 시작
# python app.py |
4.2 정상 실행 확인
다음과 같은 메시지가 나오면 성공입니다:
✅ Tavily 검색 기능 활성화됨 INFO: Started server process [36464] INFO: Waiting for application startup. Notion API 설정 완료 INFO: Application startup complete. INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) |
🌐 5단계: MCP API 챗봇 사용하기
마지막으로 MCP API 생성 후 검증 과정을 정리합니다.
5.1 웹 브라우저로 접속
http://내서버IP:8000 예: http://192.168.0.10:8000 |
5.2 주요 기능 테스트
📰 실시간 뉴스 검색
“오늘 미국 주요 뉴스 3개 알려줘” |
💾 Notion 자동 저장
“이 내용 노션에 저장해줘” |
📅 현재 날짜 기반 질문
“오늘 날짜로 한국 날씨 알려줘” |
5.3 Notion 확인
Notion 페이지를 열어보면 다음과 같은 형식으로 저장됩니다.
📄 챗 기록 2025-10-22 11:47:22 Q: 오늘 미국 주요 뉴스 알려줘 출처: [검색 링크들] |
🔍 6단계: MCP API 작동 원리 이해하기
6.1 시스템 구조
사용자 질문 ↓ [키워드 감지] ↓ ① 검색 필요? → Tavily API로 웹 검색 → 최신 정보 수집 ↓ ② OpenAI GPT → 검색 결과 읽고 요약 → 자연스러운 답변 생성 ↓ ③ “저장” 키워드? → Notion API로 자동 저장 ↓ 사용자에게 답변 |
6.2 핵심 개념
🔑 OpenAI의 역할
- 불가능: 실시간 정보 검색 (2023년 10월까지만 학습됨)
- 가능: 제공된 정보를 읽고 이해하기 쉽게 요약
🔍 Tavily의 역할
- 가능: 인터넷에서 최신 정보 실시간 검색
- 특징: AI에 최적화된 깔끔한 검색 결과 제공
ex) OpenAI 만으로 최근 날씨 및 뉴스 검색은 이뤄지지 않습니다.