제품추천/IT

GPT와 MCP 연동 Notion을 분석하는 AI 도구 만들기

아보다 2025. 7. 10.
반응형

GPT와 MCP 연동 Notion을 분석하는 AI 도구 만들기 "GPT가 직접 Notion 데이터를 읽고 분석한다면?" 이제 그게 가능합니다. 실제 MCP 연동 예제로 확인해보세요!

안녕하세요! 요즘 AI와 외부 시스템의 연결이 점점 쉬워지고 있다는 거, 체감하고 계신가요? 저는 최근에 OpenAI의 GPT 모델과 MCP 서버를 연동해서 Notion 프로젝트 데이터를 실시간으로 조회하고 분석하는 기능을 직접 구현해봤어요. 처음엔 "이게 진짜 가능할까?" 싶었는데, 막상 해보니 생각보다 훨씬 자연스럽고 파워풀했습니다. 오늘은 그 구현 과정을 단계별로 소개해보려고 해요. 저처럼 혼자서 AI 실험하는 분들이라면, 분명 흥미롭게 보실 수 있을 거예요!

GPT와 MCP 연동 Notion을 분석하는 AI 도구 만들기

GPT와 MCP 연동 Notion을 분석하는 AI 도구 만들기
GPT와 MCP 연동 Notion을 분석하는 AI 도구 만들기

GPT와 MCP 연동의 개요

GPT가 단순히 질문에 답하는 걸 넘어서 실제 시스템과 상호작용하게 된다면 어떨까요? 바로 그걸 가능하게 해주는 게 MCP(Model Context Protocol)입니다. 이 MCP 서버는 GPT로부터 도구 호출 요청을 받고, 외부 시스템(Notion 등)과 연결해주는 중간 브릿지 역할을 해요. 이 글에서는 MCP 서버를 Python 기반 FastAPI로 구성하고, Gradio 인터페이스를 통해 GPT와 사용자 간 실시간 대화를 구현하는 구조를 소개합니다.

Tool Call과 Streaming API 작동 방식

기능명 제공 주체 설명
Tool Call OpenAI GPT가 외부 function을 자동 호출하는 기능. JSON 기반 인자 생성
Streaming 응답 (GPT) OpenAI GPT 응답을 실시간 스트리밍으로 받기 위한 옵션 (stream=True)
Streaming 응답 (MCP) FastMCP MCP 실행 결과를 text/event-stream 형식으로 실시간 전달

OpenAI API 키와 Notion 토큰 준비

반응형

이 시스템을 구현하기 위해선 기본적으로 두 가지 인증 키가 필요합니다. 하나는 GPT API를 호출하기 위한 OpenAI API Key, 다른 하나는 Notion 프로젝트 데이터에 접근하기 위한 Integration Token입니다. 이 키들은 .env 파일에 저장해서 외부 노출 없이 안전하게 사용합니다.

  • OpenAI API Key: OpenAI 플랫폼에서 직접 생성
  • OpenAI API 키 발급 (➡️ OpenAI 플랫폼에서 발급)
  • OpenAI 플랫폼 접속
  • 로그인 후 상단 메뉴에서 “API keys” 탭 클릭
  • “Create new secret key” 버튼을 눌러 API 키 생성
  • 발급된 Secret Key를 복사하여 안전한 곳에 저장
    ※ 이 키는 .env 파일에 사용되며, 외부에 노출되지 않도록 주의하세요.
  • Notion Integration Token: (➡️ Notion 개발자 포털에서 발급)
  • Notion 개발자 포털사이트 접속
  • "새로운 통합(New integration)” 버튼 클릭
  • API 통합 설정 구성 -> 사용 권한 -> 페이지 선택에서 페이지 선택 -> 사용 권한 업데이트 순서로 설정
    ※ 이 과정에서 선택된 페이지(또는 데이터베이스)에 접근 가능하게 됩니다.
  • 생성된 Internal Integration Token (프라이빗 API 통합 시트릿)을 복사
     이 키는 .env 파일에 사용되며, 외부에 노출되지 않도록 주의하세요.

MCP 개발 환경 구성 및 uv 사용법

실제 연동을 구현하기 위해서는 Python 개발 환경 설정이 먼저 필요해요. 저는 최근에 uv라는 새로운 패키지 관리 도구를 사용했는데, pip보다 빠르고 효율적이더라고요. 아래 표처럼 구성하면 MCP 서버를 쉽게 셋업할 수 있어요.

환경 구성 버전
운영체제 Windows 11
Python 3.10.17
uv 0.6.14
fastmcp 2.8.1

[uv 설치] (선택사항)

MCP 서버를 Python 환경에서 구성할 때, 패키지 및 가상환경 관리를 위해 uv를 사용하는 것을 권장합니다. uv는 pip과 venv를 대체할 수 있는 더 빠르고 효율적인 패키지 관리 도구입니다. 아래 명령어로 간단히 설치할 수 있습니다.


※ 선택사항이지만, 향후 개발 및 의존성 관리를 고려하면 설치하는 것을 추천드립니다.

# Windows PowerShell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

[가상 환경 생성] (선택사항)

uv 설치가 완료되면, 프로젝트 디렉토리를 초기화하고 가상환경을 생성한 뒤 필요한 패키지를 설치합니다. 가상환경을 사용하는 것을 권장하며, 아래 명령어를 순서대로 실행해 주세요.

# Windows PowerShell
cd \path\to\mcp                  # 1. 원하는 작업 디렉토리로 이동 (예: D:\mcp)
uv init notion_mcp               # 2. 'notion_mcp' uv 프로젝트 폴더 생성
cd gpt_mcp_toolcaller_gradio     # 3. 생성된 프로젝트 폴더로 이동
uv venv --python=python3.10      # 4. Python 3.10 기반 가상환경 생성 (.venv 디렉토리 생성)
.venv\Scripts\activate           # 5. 가상환경 활성화 (Windows 기준)

코드 및 필요 패키지 다운로드

OpenAI API와 MCP 서버가 연동된 예제 코드를 아래 깃허브에서 제공하고 있습니다. 해당 코드를 다운로드하고 압축을 푼 후, 위에서 생성한 gpt_mcp_toolcaller_gradio 폴더 내로 파일을 이동해 줍니다.

이제 가상환경을 활성화한 상태에서, 아래 명령어를 실행해 프로젝트에 필요한 패키지를 설치합니다.

※ 가상환경을 사용하지 않는 경우에도, 동일한 명령어로 시스템 환경에 설치할 수 있습니다.

# Windows PowerShell
cd \path\to\notion_mcp\gpt_mcp_toolcaller_gradio  # 깃허브에서 다운로드한 폴더
uv pip install .                                  # 필요한 패키지 설치
📌 주의: 프로젝트 폴더(gpt_mcp_toolcaller_gradio)는 반드시 notion_mcp 폴더 내부에 위치해야 합니다. uv는 루트 기준으로 .venv를 자동 인식하기 때문에 디렉토리 구조를 유지하는 것이 중요합니다.

환경 설정

gpt_mcp_toolcaller_gradio 폴더(깃허브에서 받은 코드) 안에는 환경 변수를 관리하기 위한 .env 파일이 포함되어 있습니다.
이 파일을 메모장 등 텍스트 편집기로 열어, 내부에 있는 OpenAI API 키와 Notion 토큰 값을 본인의 것으로 수정합니다.

# .env 파일
OPENAI_API_KEY=your_openai_api_key  # 이 부분은 실제 api key로 변경해야합니다.
NOTION_TOKEN=your_notion_token      # 이 부분은 실제 notion_token으로 변경해야합니다.

  API 키와 토큰은 개인 인증 정보이므로 절대 외부에 노출되면 안 됩니다.

Notion 프로젝트 분석 요청

이제 모든 준비가 완료되었습니다. 아래 명령어를 실행하여 MCP 서버를 먼저 구동하고, 이후 Gradio 인터페이스를 통해 GPT에게 Notion 프로젝트 분석을 요청할 수 있습니다.

[MCP 서버 실행]

# Windows PowerShell (1)
cd \path\to\notion_mcp\gpt_mcp_toolcaller_gradio  # 깃허브에서 다운로드한 폴더
python notion_mcp_server.py                       # MCP 서버 실행

MCP 서버가 정상적으로 실행되면, 아래와 같이 "Uvicorn running on http://0.0.0.0:8000" 문구가 출력됩니다. 이는 서버가 성공적으로 구동되어 요청을 받을 준비가 되었다는 의미입니다.

아래는 실행 예시 화면입니다.

[Gradio 인터페이스 실행 (GPT모델)]

이제 MCP 서버가 실행된 상태에서, GPT와 연동되는 Gradio 인터페이스를 실행해보겠습니다. 아래 명령어를 입력하여 Gradio 앱을 실행합니다.

# Windows PowerShell (2)
cd \path\to\notion_mcp\gpt_mcp_toolcaller_gradio  # 깃허브에서 다운로드한 폴더
python gpt_mcp_toolcaller_gradio.py               # GPT Gradio 실행

Gradio가 정상적으로 실행되면, 아래와 같이 "Running on local URL:  http://127.0.0.1:7860" 문구가 출력됩니다. 이 주소를 통해 Gradio 웹을 실행할 수 있습니다.

아래는 실행 예시 화면입니다.

Gradio 웹 페이지가 정상적으로 실행되었다면, 이제 GPT에게 Notion 프로젝트와 관련된 질문을 직접 해볼 수 있습니다. 아래와 같이 예시 프롬프트를 입력했습니다.

GPT로 Notion 프로젝트 분석하기

이제 진짜 마법이 시작됩니다. Gradio 인터페이스를 통해 GPT에게 다음과 같은 프롬프트를 던졌어요:

"내 노션 프로젝트 목록 확인해줘."

그러자 GPT는 즉시 Tool Call을 통해 MCP 서버를 호출했고, Notion 데이터가 실시간으로 반환됐죠. 이때 주요 기능은 다음과 같아요.

  1. 프로젝트 목록 실시간 조회
  2. 진행률, 우선순위, 마감일 통계 분석
  3. 분석 결과 요약 및 추천

확장 가능성과 향후 활용 아이디어

이번 구현 경험을 통해 GPT는 단순한 대화형 모델을 넘어서 외부 시스템과 상호작용하는 AI 에이전트로 완전히 진화할 수 있다는 걸 느꼈어요. 다음은 제가 실제로 시도해보고 싶은 확장 아이디어들이에요:

  • 캘린더, 메일, 드라이브 등 타 시스템 연동
  • 리스크 예측, 일정 지연 자동 감지 등 고급 분석 도구 추가
  • 멀티턴 대화 흐름 최적화 및 프롬프트 파이프라인 설계
Q GPT와 MCP는 꼭 함께 사용해야 하나요?

아니요, GPT는 단독으로도 훌륭하지만, MCP를 활용하면 외부 시스템 연동이 가능해져 확장성이 훨씬 높아집니다.

Q Tool Call은 어떤 방식으로 작동하나요?

GPT가 질문을 해석해 적절한 도구를 선택하고 JSON 인자를 자동 생성하여 호출합니다. 사용자는 따로 호출 코드를 작성하지 않아도 됩니다.

Q Streaming API를 꼭 사용해야 하나요?

필수는 아니지만, 사용하면 응답을 실시간으로 받을 수 있어 Tool Call 발생 시점을 감지하거나 반응속도를 높이기에 유리합니다.

Q Notion 외에도 연동 가능한 시스템이 있을까요?

물론입니다. Google 캘린더, Gmail, Slack, 파일 시스템 등 다양한 REST API 기반 외부 시스템과 연동이 가능합니다.

Q Gradio 없이도 구현할 수 있나요?

네, Gradio는 인터페이스 구현 도구일 뿐이며, FastAPI나 Flask 기반의 웹 앱, 또는 데스크탑 UI로도 충분히 구현 가능합니다.

Q MCP 서버 운영 시 보안 문제는 없나요?

서버는 API 키 및 토큰을 환경 변수로 관리하므로 노출 위험이 줄어들지만, HTTPS 적용, 접근 제한, 토큰 주기적 갱신 등 추가 보안 조치가 필수입니다.

여기까지 따라오신 여러분, 정말 대단하세요! 😊 GPT와 MCP를 연동해서 Notion 데이터를 분석하는 여정이 쉽지는 않았을 거예요. 하지만 한번 구조를 만들어놓으면 생각보다 많은 일이 자동화되고, 확장 가능성도 무궁무진해집니다. 저도 처음엔 반신반의했지만, 직접 연결해보고 나니 정말 게임 체인저라는 느낌이 들었어요. 앞으로는 더 다양한 시스템과 연결해서 GPT를 진짜 ‘도구를 쓰는 AI’로 진화시켜볼 예정이에요. 여러분도 도전해보세요! 혹시 막히는 부분이 있거나 더 해보고 싶은 게 있다면 댓글로 꼭 남겨주세요. 😊

AI연동, GPT도구호출, MCP서버, OpenAIAPI, ToolCall, StreamingAPI, 노션자동화, 외부도구연동, Gradio인터페이스, 파이썬개발

2025.03.16 - [분류 전체보기] - MCP(Model Context Protocol)란 무엇인가?

 

MCP(Model Context Protocol)란 무엇인가?

MCP(Model Context Protocol)란 무엇인가? MCP가 무엇인지 궁금하신가요? 이름만 들으면 다소 지루하게 느껴질 수 있지만, 사실 이는 AI와 소프트웨어의 근본적인 변화를 일으킬 수 있는 혁신적인 기술입

aboda.kr

반응형

댓글

💲 추천 글