스무스 데이터 마직: Notion에서 데이터베이스로 MCP 서버 및 AI 에이전트 활용
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
데이터 분석
대상자
- 비엔지니어링 팀: Notion에서 데이터 입력을 담당하는 사용자
- 엔지니어링 팀: 데이터베이스에 구조화된 데이터를 필요로 하는 개발자
- 난이도: 중간 (API 설정 및 AI 에이전트 활용 기초 지식 필요)
핵심 요약
- Notion MCP Server와 Cursor Agent를 활용해 비엔지니어링 팀이 입력한 데이터를 데이터베이스 형식으로 자동 변환 가능
- TypeScript로 타입 안정성 확보 및
@notionhq/notion-mcp-server
API를 통해 Notion 데이터 구조화 - foreign key 매핑을 위해 AI 에이전트가
location
필드에서country_id
를 추론하여 데이터 정제
섹션별 세부 요약
1. 문제 정의: 외래 키 불일치
- Notion에서 입력된
location
필드(예: "Tokyo, JPN")가 데이터베이스의country_id
외래 키와 형식이 불일치 - 비엔지니어링 팀이 직접 데이터 입력 시 데이터 정제 과정이 필요
2. MCP Server 설정 및 API 활용
mcp.json
파일에서@notionhq/notion-mcp-server
설치 및 Notion API 키 설정OPENAPI_MCP_HEADERS
에Authorization
및Notion-Version
헤더 포함 (버전:"2022-06-28"
)- Notion의
countries
테이블과events
테이블 데이터 구조화
3. AI 에이전트 기반 데이터 변환
cursorAgent
가location
필드에서country_id
를 추론 (예: "Tokyo, JPN" →country_id: 1
)schema.json
에 정의된 스키마에 맞춰events
테이블의 payload 생성country_id
외래 키 매핑 예시:
```json
{
"name": "Tech Expo",
"location": "Tokyo, JPN",
"country_id": 1
}
```
4. Prompt 파일 생성 및 재사용
prompt/create-events.md
파일에 API 호출 방법, 데이터 변환 로직, 외래 키 매핑 규칙 명시curl
명령어로countries
테이블 데이터 추출 (API 엔드포인트:{NEXT_PUBLIC_SUPABASE_URL}/rest/v1/countries
)
결론
- AI 에이전트와 MCP Server 활용으로 Notion 데이터를 데이터베이스 형식으로 자동 변환 가능
- prompt 파일 저장을 통해 프로세스 재사용 및 팀 협업 효율화
- 추후
drizzle-kit
과supabase
통합으로 데이터베이스에 직접 삽입 가능 (별도 블로그 참고)