피드로 돌아가기
Dev.toBackend
원문 읽기
개발자가 Notion MCP를 Claude 런타임에 연결해 정적 필드 없이 AI 대화로 Notion 데이터베이스에 직접 기록하는 폼 서비스 구현
I Built AI-Powered Forms That Write Directly to Notion — Using MCP at Runtime
AI 요약
Context
기존 폼 서비스는 미리 정의된 정적 필드로 데이터를 수집했다. 사용자 응답이 모호하거나 불완전해도 추가 질문 없이 제출되는 한계가 있었다. 또한 폼 데이터를 Notion에 저장하려면 수동으로 API 래퍼 코드를 작성하거나 Zapier 같은 별도 서비스에 의존해야 했다.
Technical Solution
- Notion MCP를 자체 호스팅(Railway)으로 배포: Claude가 런타임에 MCP 서버에 접근하도록 구성
- Anthropic Claude API의
mcp_servers파라미터로 Notion MCP 연결:mcp_toolset타입으로notion_create_page도구 동적 발견 - 시스템 프롬프트에 데이터베이스 ID와 수집 필드를 명시: Claude가 대화 흐름 중 수집 완료 시점을 판단해 자동으로 Notion에 페이지 생성
- Claude 응답에서
mcp_tool_use/mcp_tool_result블록 처리: 정규 도구 응답과 구분해 기록 작업 감지 - TanStack Start + Appwrite + Claude를 조합: 폼 생성 단계에서 Claude와 대화해 필드 컨텍스트 자동 생성 후 공유 링크 발행
Key Takeaway
MCP를 애플리케이션 런타임에 직접 연결하면 AI 모델이 외부 시스템 API 결정을 자동화할 수 있다. 수동 API 글루 코드를 제거하고 AI에게 "언제" 작업을 수행할지 판단하는 권한을 부여하는 설계가 사용자 경험을 크게 단순화한다.
실천 포인트
Notion이나 유사 구조화된 데이터 저장소를 사용하는 팀에서 MCP 서버를 자체 호스팅하고 Claude API 호출 시 `mcp_servers` 파라미터로 전달하면, 별도의 동기화 로직 없이 AI가 수집한 데이터를 데이터베이스에 직접 기록할 수 있다. 시스템 프롬프트에 스키마와 필드 설명을 포함하면 Claude는 대화 컨텍스트에서 필요한 정보 식별과 작성 시점을 자동으로 결정한다.