Apps Script MCP 서버 구현 가이드 | JSON-RPC doPost() 사용법
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

Apps Script MCP 서버 구현 가이드

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

  • 웹 개발자 및 API 개발자
  • 난이도: 중급 (JSON-RPC 이해, Apps Script 배포 경험 필요)

핵심 요약

  • doPost() 함수를 통해 JSON-RPC 요청 처리인증을 수행 (코드: doPost(e)).
  • MCP 프로토콜 기반으로 tools/listtools/call 메서드를 지원 (예: read_recent_email).
  • 인증 토큰을 URL 파라미터로 전달해야 하며, MCP_AUTH_TOKEN 설정 필수.

섹션별 세부 요약

1. 기본 구현 요소

  • doPost() 함수는 HTTP POST 요청을 처리하고 JSON-RPC 요청을 분석, 처리, 응답 생성.
  • 인증 토큰 (MCP_AUTH_TOKEN)을 PropertiesService에서 관리.
  • ContentService를 사용해 JSON 형태의 응답을 반환.
  • 예외 처리 시 -32603 코드로 내부 오류 메시지 전달.

2. JSON-RPC 요청 처리

  • processSingleRequest_() 함수가 요청 메서드를 라우팅 (예: initialize, tools/list).
  • tools/call 메서드는 AVAILABLE_TOOLS 배열에 정의된 도구를 실행 (예: read_recent_email).
  • createSuccessResponse_()createErrorResponse_() 함수로 응답 생성.

3. 오류 처리 및 도구 정의

  • RPC_ERRORS 매ップ으로 JSON-RPC 표준 오류 코드 (-32700 ~ -32603) 정의.
  • AVAILABLE_TOOLS 배열로 제공 가능한 도구 명시 (예: read_recent_email 도구).

4. 도구 구현 예시

  • tool_read_recent_email_() 함수는 GmailApp을 사용해 최근 이메일 제목 추출.
  • 예외 발생 시 isError: true를 반환.
  • Gmail API 사용 시 gmail.readonly 권한 필요.

5. 배포 설정

  • Apps Script 웹앱 배포 시 "Me"로 실행, "Anyone" 접근 허용.
  • runtimeVersion: V8, exceptionLogging: STACKDRIVER.

결론

  • 배포 시 executeAs: "USER_DEPLOYING"access: "ANYONE_ANONYMOUS" 설정 필수.
  • 인증 토큰PropertiesService에 저장하고 URL 파라미터로 전달해야 함.
  • JSON-RPC 요청은 doPost() 함수를 통해 모든 처리 단계를 수행해야 함.