Skip to main content

## Google Workspace API 통합을 위한 CLI 툴(gws) 출시: 인간과 AI 에이전트를 위한 통합 인터페이스 제공

Google Workspace (Drive, Gmail, Calendar, Sheets 등) API를 애플리케이션 및 데이터 파이프라인에 통합하는 것은 종종 REST 엔드포인트, 페이지 매김, OAuth 2.0 흐름을 처리하기 위한 보일러플레이트 코드를 작성해야 하는 번거로운 작업이었습니다. 이러한 복잡성을 해결하기 위해 Google AI팀은 혁신적인 CLI 툴인 **gws**를 공개했습니다. 이 툴은 인간 개발자와 AI 에이전트 모두를 위해 설계되었으며, Google Workspace 서비스를 관리하는 데 필요한 통합 및 동적 명령줄 인터페이스를 제공합니다.

**gws**는 기존 방식의 복잡한 코딩을 대체하고, 더욱 효율적이고 직관적인 개발 환경을 제공하며, 특히 AI 에이전트와의 통합을 용이하게 합니다. 이제 **gws**를 통해 Google Workspace API를 훨씬 쉽고 빠르게 사용할 수 있게 되었습니다.

### 동적 API 검색 아키텍처

기존의 정적 명령 목록을 컴파일하는 CLI 툴과는 달리 **gws**는 런타임 시 명령 인터페이스를 동적으로 구축합니다. 이 혁신적인 아키텍처는 새로운 API 엔드포인트가 Discovery Service에 추가되는 즉시 자동으로 지원되도록 합니다.

**gws**의 동작 방식은 다음과 같습니다:

1. 첫 번째 인수를 읽어 대상 서비스(예: drive)를 식별합니다.
2. 해당 서비스의 Google Discovery Document를 가져옵니다 (24시간 동안 캐싱).
3. Document의 리소스와 메서드를 기반으로 명령 트리를 구축합니다.
4. 나머지 인수를 파싱하고, 인증을 수행하고, HTTP 요청을 실행합니다.

이러한 동적 검색 방식 덕분에 **gws**는 Google Workspace API의 변화에 민감하게 대응하며, 지속적인 업데이트를 보장합니다. 따라서 **gws**는 개발자들이 최신 API 기능을 빠르고 편리하게 활용할 수 있도록 돕습니다.

### 소프트웨어 엔지니어 및 데이터 과학자를 위한 핵심 기능

**gws**는 npm (npm install -g @googleworkspace/cli)을 통해 설치하거나 소스에서 빌드할 수 있습니다. 설치 후에는 데이터 추출 및 자동화를 위한 다양한 내장 유틸리티를 사용할 수 있습니다.

* **검사 및 미리 보기:** 모든 리소스에는 Discovery API에서 생성된 `–help` 설명서가 포함되어 있습니다. `gws schema drive.files.list` 명령어를 통해 메서드의 스키마를 확인하거나 `–dry-run` 플래그를 사용하여 실행 전 정확한 HTTP 요청을 미리 볼 수 있습니다.
* **구조화된 데이터 추출:** 기본적으로 모든 응답 (오류 및 메타데이터 포함)은 구조화된 JSON 형식으로 반환됩니다. 이는 데이터 처리 및 분석을 훨씬 쉽게 만듭니다.
* **자동 페이지 매김:** 대량의 데이터를 가져오는 개발자를 위해 `–page-all` 플래그를 사용하면 API 커서를 자동으로 처리합니다. 페이지 매김된 결과를 NDJSON (Newline Delimited JSON) 형식으로 스트리밍하여 명령줄 JSON 프로세서에 직접 파이프할 수 있습니다. 예를 들어, `gws drive files list –params ‘{“pageSize”: 100}’ –page-all | jq -r ‘.files[].name’`과 같이 명령어를 실행하여 파일 이름을 추출할 수 있습니다. **gws**는 특히 대량의 데이터를 처리해야 하는 데이터 과학자들에게 유용한 도구입니다.

### AI 에이전트 및 MCP 통합

**gws**의 주요 사용 사례 중 하나는 대규모 언어 모델(LLM)을 위한 툴 호출 백엔드 역할을 하는 것입니다. Model Context Protocol (MCP)을 지원하여 AI 에이전트가 Google Workspace API와 더욱 효율적으로 상호 작용하도록 돕습니다.

* **MCP 서버:** `gws mcp -s drive,gmail,calendar` 명령을 실행하면 CLI는 stdio를 통해 MCP 서버를 시작합니다. 이를 통해 Workspace API를 MCP 호환 클라이언트(예: Claude Desktop 또는 VS Code)가 기본적으로 호출할 수 있는 구조화된 도구로 노출합니다. **gws**의 이 기능은 AI 에이전트 개발자들에게 획기적인 편의성을 제공합니다.
* **사전 빌드된 에이전트 스킬:** 저장소에는 지원되는 모든 API 및 일반 워크플로우를 다루는 100개 이상의 에이전트 스킬이 포함되어 있습니다. AI 엔지니어는 `npx skills add github:googleworkspace/cli`를 사용하여 이러한 스킬을 직접 에이전트 환경에 설치할 수 있습니다. 이러한 사전 구축된 스킬들은 **gws**를 통해 Google Workspace API를 활용하는 진입 장벽을 낮춰줍니다.
* **Gemini CLI 확장:** Gemini CLI 사용자는 `gemini extensions install https://github.com/googleworkspace/cli` 명령어를 사용하여 **gws** 확장을 설치할 수 있습니다. 이를 통해 로컬 Gemini 에이전트가 **gws** 자격 증명을 상속하고 Workspace 리소스를 기본적으로 관리할 수 있습니다. **gws**는 Gemini 환경에서 Google Workspace API를 활용하는 개발자에게 매우 유용합니다.
* **모델 아머 (응답 살균):** LLM에 API 데이터를 공급할 때 발생할 수 있는 프롬프트 주입 위험을 완화하기 위해 **gws**는 Google Cloud Model Armor를 지원합니다. `–sanitize` 플래그를 사용하면 에이전트에 데이터가 전달되기 전에 API 응답을 악성 페이로드에 대해 스캔합니다. **gws**의 이러한 안전 기능은 AI 에이전트의 안정성과 보안을 강화합니다.

### 인증 워크플로우

**gws**는 다양한 환경에서 안전하게 인증을 처리하여 사용자 정의 스크립트에서 수동 토큰 관리가 필요 없도록 합니다. 명시적 토큰, 자격 증명 파일, 마지막으로 로컬 키링 저장소가 우선 순위를 갖습니다.

* **로컬 데스크톱:** `gws auth setup` 명령을 실행하면 Google Cloud 프로젝트를 구성하고 필요한 API를 활성화하고 OAuth 로그인을 처리하는 대화형 흐름이 시작됩니다. 자격 증명은 AES-256-GCM을 사용하여 암호화되고 OS 키링에 저장됩니다. **gws**는 사용자 편의성을 고려한 안전한 인증 프로세스를 제공합니다.
* **헤드리스 / CI/CD:** 서버 환경의 경우, 개발자는 로컬에서 대화형 인증을 완료하고 일반 텍스트 자격 증명을 내보낼 수 있습니다. 그런 다음, 헤드리스 머신에서 CLI를 이 파일로 지정할 수 있습니다: `export GOOGLE_WORKSPACE_CLI_CREDENTIALS_FILE=/path/to/credentials.json` **gws**는 다양한 환경에 적합한 유연한 인증 옵션을 제공합니다.
* **서비스 계정:** **gws**는 서버-투-서버 서비스 계정 키 파일 및 Domain-Wide Delegation을 GOOGLE_WORKSPACE_CLI_IMPERSONATED_USER 변수를 통해 기본적으로 지원합니다.

심층 분석 및 시사점

Array

원문 출처: Google AI Releases a CLI Tool (gws) for Workspace APIs: Providing a Unified Interface for Humans and AI Agents

Korean 한국어