메뉴 닫기

MCP (Model Context Protocol) 입문(2): Chatbot 생성과 API 연결

이번 글에서는 MCP API 생성을 위한 전체 과정을 단계별로 설명합니다.

Python FastAPI 환경 설정, OpenAI(데이터 정리와 툴제공)와 Tavily API(실시간 데이터 검색 ) 연동, Notion(기록 저장) 자동 저장까지 Model Context Protocol(MCP)을 실습하여 AI 자동화 서버를 구축해봅니다.

해당 실습은 본인만의  Chatbot을 구축하여 나만의 데이터를 검색하여 해당 데이터들을 Notion에 저장하여 데이터를 정리할수있는 내용을 정리하였습니다.

🛠️ 1단계: MCP API 서버 환경 설정

 

1.1 기본 패키지 설치 및 작업 디렉토리 생성

# 시스템 업데이트
apt update -y && apt upgrade -y

# 작업 디렉토리 생성
mkdir /home/MCP
cd /home/MCP

# Python 가상환경 도구 설치
apt install python3.12-venv

1.2 Python 가상환경 구성

# 가상환경 생성
python3 -m venv venv

# 가상환경 활성화
source venv/bin/activate

# pip 업그레이드
pip install –upgrade pip setuptools wheel

1.3 필요한 라이브러리 일괄 설치

프로젝트에 필요한 모든 라이브러리를 requirements.txt 파일로 관리합니다.

requirements.txt 파일 생성:

requirements

설치 실행:

# 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 필요한 파일 준비

다음 파일들을 다운로드하여 적절한 위치에 배치합니다:

  1. app.py/home/MCP/ 폴더
  2. mcp_server.py/home/MCP/ 폴더
  3. index.html/home/MCP/static/ 폴더 (static 폴더를 먼저 생성)

static 폴더 생성

# mkdir /home/MCP/static

파일 다운로드 

mcp

 

🔑 3단계: MCP API 키 설정

 

API Key 발급 방법

3.1 .env 파일 생성

.env 파일은 API 키를 안전하게 저장하는 환경 변수 파일입니다. 절대 Git에 업로드하면 안 됩니다!. [GIT으로 업다운로드시 key값은 변경됩니다.]

# vi .env 

3.2 API 키 입력

# OpenAI API Key (필수)
OPENAI_API_KEY=sk-proj-…

# Google API Key (선택)
GOOGLE_API_KEY=AIza…

# Notion API Key (필수)
NOTION_API_KEY=ntn_…

# Notion Page ID (필수)
NOTION_PAGE_ID=28d…

# Tavily API Key (필수 – 실시간 검색용)
TAVILY_API_KEY=tvly-dev-…

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 자동 저장

“이 내용 노션에 저장해줘”

📅 현재 날짜 기반 질문

“오늘 날짜로 한국 날씨 알려줘”

MCP API  chatbot_2

 

MCP API 2

 

5.3 Notion 확인

Notion 페이지를 열어보면 다음과 같은 형식으로 저장됩니다.

📄 챗 기록 2025-10-22 11:47:22

Q: 오늘 미국 주요 뉴스 알려줘
A: [GPT의 답변 내용…]

출처: [검색 링크들]

MCP API_notion

 

MCP API  notion2

 

🔍 6단계: MCP API 작동 원리 이해하기

 

6.1 시스템 구조

사용자 질문
         ↓
[키워드 감지]
         ↓  
① 검색 필요? → Tavily API로 웹 검색 → 최신 정보 수집
         ↓
② OpenAI GPT → 검색 결과 읽고 요약 → 자연스러운 답변 생성
         ↓
③ “저장” 키워드? → Notion API로 자동 저장
         ↓
사용자에게 답변

6.2 핵심 개념

🔑 OpenAI의 역할

  • 불가능: 실시간 정보 검색 (2023년 10월까지만 학습됨)
  • 가능: 제공된 정보를 읽고 이해하기 쉽게 요약

🔍 Tavily의 역할

  • 가능: 인터넷에서 최신 정보 실시간 검색
  • 특징: AI에 최적화된 깔끔한 검색 결과 제공

ex) OpenAI 만으로 최근 날씨 및 뉴스 검색은 이뤄지지 않습니다.

chotbot_실패예시

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x