1. 들어가며
OpenClaw 에이전트가 Google Calendar를 조회·관리하려면 MCP(Model Context Protocol) 서버를 연동해야 한다. OpenClaw는 MCP를 직접 지원하지 않으며, mcporter CLI를 통해 MCP 도구를 호출한다. 이 글은 mcporter에 Google Calendar MCP 서버(@cocal/google-calendar-mcp)를 등록하는 방법과, 설정 시 자주 놓치기 쉬운 토큰 파일 경로를 정리한 것이다.
2. 사전 요구사항
| 항목 | 설명 |
|---|---|
| OpenClaw | 설치 및 기본 설정 완료 |
| mcporter | npm install -g mcporter 또는 openclaw skills install @clawdbot/mcporter |
| GCP OAuth | Google Cloud Console에서 Desktop app 유형 OAuth 2.0 자격증명 생성 |
| OAuth 토큰 | 브라우저가 있는 환경에서 1회 인증 후 발급 (헤드리스 서버는 PC에서 인증 후 복사) |
미리 Google Cloud에서 Oauth2.0용 키를 발급해야한다.

3. mcporter에 Google Calendar MCP 등록
3.1 파일 경로 정리
등록 전에 다음 두 파일의 위치를 확정한다.
| 파일 | 용도 | 권장 경로 |
|---|---|---|
gcp-oauth.keys.json |
GCP OAuth 자격증명 (client_id, client_secret) | ~/.openclaw/credentials/gcp-oauth.keys.json |
tokens.json |
OAuth 인증 후 발급된 access/refresh 토큰 | 아래 3.2 참고 |
3.2 토큰 파일 경로 — 반드시 확인할 부분
GOOGLE_CALENDAR_MCP_TOKEN_PATH 환경변수는 반드시 실제 토큰 파일이 있는 경로를 가리켜야 한다.
@cocal/google-calendar-mcp의 기본 토큰 저장 위치:- Linux/macOS:
~/.config/google-calendar-mcp/tokens.json - Windows:
%APPDATA%\google-calendar-mcp\tokens.json
- Linux/macOS:
- mcporter 설정 시
GOOGLE_CALENDAR_MCP_TOKEN_PATH를 지정하면 이 경로가 사용된다. - 실제
tokens.json이 있는 위치와 설정값이 일치하지 않으면"Authentication tokens are no longer valid"오류가 발생한다.
정리:
- 토큰을 기본 경로에 둔 경우:
GOOGLE_CALENDAR_MCP_TOKEN_PATH를 지정하지 않거나,~/.config/google-calendar-mcp/tokens.json로 설정. - 토큰을 다른 경로에 둔 경우 (예:
~/.openclaw/credentials/): 복사한tokens.json의 실제 경로를GOOGLE_CALENDAR_MCP_TOKEN_PATH에 정확히 지정.
3.3 등록 방법
방법 A: 수동 등록 (토큰을 기본 경로에 둔 경우)
mcporter config add google-calendar \
--command "npx" \
--arg "-y" \
--arg "@cocal/google-calendar-mcp" \
--env "GOOGLE_OAUTH_CREDENTIALS=$HOME/.openclaw/credentials/gcp-oauth.keys.json" \
--scope home
GOOGLE_CALENDAR_MCP_TOKEN_PATH를 생략하면 ~/.config/google-calendar-mcp/tokens.json이 사용된다.
제대로 등록했다면, 명령 프롬프트에서 npx 명령 실행 시 Oauth 인증 수행 및 토큰이 정상 발급된다.
필자의 경우, Openclaw가 GUI가 없는 환경에서 구동중이기 때문에 Oauth 토큰을 바로 받아올 수 없었다. 설정하기 위해서 Windows 환경에서 npx만 따로 설치하여 Oauth 인증을 브라우저로 수행하고, 생성된 토큰 파일(tokens.json)을 서버로 복사해 주었다.

방법 B: 수동 등록 (토큰을 커스텀 경로에 둔 경우)
mcporter config add google-calendar \
--command "npx" \
--arg "-y" \
--arg "@cocal/google-calendar-mcp" \
--env "GOOGLE_OAUTH_CREDENTIALS=$HOME/.openclaw/credentials/gcp-oauth.keys.json" \
--env "GOOGLE_CALENDAR_MCP_TOKEN_PATH=$HOME/.openclaw/credentials/google-calendar-tokens.json" \
--scope home
이 경우 ~/.openclaw/credentials/google-calendar-tokens.json에 tokens.json을 복사해 두어야 한다.
방법 C: 스크립트 사용
./scripts/setup-mcp-google-calendar.sh
# credentials 없을 때: ./scripts/setup-mcp-google-calendar.sh --force
스크립트는 GOOGLE_CALENDAR_MCP_TOKEN_PATH를 ~/.openclaw/credentials/google-calendar-tokens.json으로 고정한다. 이 경로에 토큰 파일이 있어야 한다.
4. 트러블슈팅
4.1 "Authentication tokens are no longer valid"
원인: GOOGLE_CALENDAR_MCP_TOKEN_PATH가 가리키는 경로에 토큰 파일이 없거나, 잘못된 파일을 가리킨다.
조치:
~/.mcporter/mcporter.json에서google-calendar서버의env.GOOGLE_CALENDAR_MCP_TOKEN_PATH값을 확인한다.- 해당 경로에
tokens.json이 실제로 있는지 확인한다. - 없거나 다르다면:
- 옵션 1: 토큰 파일을 해당 경로로 복사
- 옵션 2:
mcporter config remove google-calendar후, 실제 토큰 경로에 맞게 다시 등록
4.2 토큰 파일 위치 확인
# mcporter 설정 확인
cat ~/.mcporter/mcporter.json | grep -A5 google-calendar
# 토큰 파일 존재 여부
ls -la ~/.openclaw/credentials/google-calendar-tokens.json # 커스텀 경로
ls -la ~/.config/google-calendar-mcp/tokens.json # 기본 경로
5. 동작 확인
mcporter config list
mcporter list google-calendar --schema
mcporter call google-calendar.list-calendars

등록 후에는 OpenClaw에서도 연동이 된 것을 확인할 수 있다.

6. 헤드리스 환경 요약
브라우저가 없는 서버에서는:
- 브라우저 있는 PC에서
npx @cocal/google-calendar-mcp auth실행 - PC의
~/.config/google-calendar-mcp/tokens.json을 서버로 복사 - mcporter에 등록할 때
GOOGLE_CALENDAR_MCP_TOKEN_PATH를 복사한 파일의 실제 경로로 설정
7. 마치며
mcporter에 Google Calendar MCP를 등록할 때는 GOOGLE_OAUTH_CREDENTIALS와 GOOGLE_CALENDAR_MCP_TOKEN_PATH가 실제 파일 위치와 일치하는지 반드시 확인해야 한다. GOOGLE_CALENDAR_MCP_TOKEN_PATH를 존재하지 않는 파일로 지정하면 토큰을 읽지 못해 인증 오류가 발생한다.
'Side Project > AI Powered' 카테고리의 다른 글
| [OpenClaw] 운영에서의 보안상 유의사항 (0) | 2026.02.01 |
|---|---|
| OpenClaw 설치 및 리뷰 (0) | 2026.01.31 |
