2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MCP不要!Claude Code × gogcli で Google Workspace を CLI 操作する

2
Last updated at Posted at 2026-03-05

はじめに

Claude Code から Google Calendar・Gmail・Drive を操作したい。MCP サーバーを立てる方法もありますが、CLI ツール1本で済む方法があります。

gogcli は Google Workspace の主要サービスをコマンドラインから操作できる Go 製 CLI です。Claude Code の Bash ツールから直接呼び出すことで、MCP 不要で Google 連携が実現します。

この記事では、セットアップから実践ワークフローまでを紹介します。

前回の記事

本記事は以下の姉妹編です。

環境

  • Windows 11
  • Claude Code
  • Go 1.26.0
  • gogcli v0.12.0-dev

Part 1: セットアップ

Go のインストール

winget install -e --id GoLang.Go

gogcli のビルド

cd ~
git clone https://github.com/steipete/gogcli.git
cd gogcli
go mod download
go build -o .\bin\gog.exe .\cmd\gog

PATH 設定

# 永続化
setx PATH "$env:USERPROFILE\gogcli\bin;$env:PATH"

# デフォルトアカウントを環境変数に設定
[System.Environment]::SetEnvironmentVariable("GOG_ACCOUNT", "your-email@gmail.com", "User")

OAuth 認証

Google Cloud Console で OAuth クライアント ID(デスクトップアプリ)を作成し、JSON をダウンロード。

# クレデンシャルをインポート
gog auth credentials <ダウンロードしたJSON>

# 認証(ブラウザが開く)
gog auth add your-email@gmail.com

「このアプリは Google が確認していません」と表示されたら、「詳細」→「安全でないページに移動」で続行してください。

動作確認

gog calendar events -a $env:GOG_ACCOUNT --json
gog gmail search "newer_than:1d" -a $env:GOG_ACCOUNT --max 5 --json

Part 2: 対応サービスと主要コマンド

gogcli は 15 以上の Google サービスに対応しています。実際に動作確認できたものを紹介します。

Google Calendar

# カレンダー一覧
gog calendar calendars -a $GOG_ACCOUNT --json

# 今後のイベント取得
gog calendar events -a $GOG_ACCOUNT --json

# イベント検索(日本語OK)
gog calendar search "会議" -a $GOG_ACCOUNT --json

# イベント作成
gog calendar create primary \
  --summary "記事執筆タイム" \
  --from "2026-03-06T10:00:00+09:00" \
  --to "2026-03-06T12:00:00+09:00" \
  --description "gogcli記事のドラフト作成" \
  -a $GOG_ACCOUNT --json

# スケジュール競合チェック(今後7日間)
gog calendar conflicts --days 7 -a $GOG_ACCOUNT --json

# 空き時間確認
gog calendar freebusy primary \
  --from "2026-03-04T00:00:00+09:00" \
  --to "2026-03-11T00:00:00+09:00" \
  -a $GOG_ACCOUNT --json

ポイント: --dry-run フラグで実行前に内容を確認できる。Claude Code に作成させる場合でも安全。

Gmail

# メール検索(Gmail クエリ構文そのまま)
gog gmail search "from:github newer_than:3d" -a $GOG_ACCOUNT --max 10 --json

# 特定メールの本文取得
gog gmail get <messageId> -a $GOG_ACCOUNT --json

# ラベル一覧
gog gmail labels list -a $GOG_ACCOUNT --json

# メール送信(dry-run で確認)
gog gmail send \
  --to "recipient@example.com" \
  --subject "件名" \
  --body "本文" \
  -a $GOG_ACCOUNT --dry-run --json

ポイント: Gmail のクエリ構文(from:, subject:, newer_than:, has:attachment 等)がそのまま使える。

Google Drive

# ファイル一覧
gog drive ls -a $GOG_ACCOUNT --json

# ファイル検索
gog drive search "コンペ" -a $GOG_ACCOUNT --json

# ダウンロード(Google Docs は pdf/docx 等に変換可能)
gog drive download <fileId> --out ./output.pdf --format pdf -a $GOG_ACCOUNT

# アップロード
gog drive upload ./local-file.txt --parent <folderId> -a $GOG_ACCOUNT --json

# フォルダ作成
gog drive mkdir "新しいフォルダ" -a $GOG_ACCOUNT --json

Google Sheets(スプレッドシート操作)

# セル値の取得
gog sheets get <spreadsheetId> "Sheet1!A1:C10" -a $GOG_ACCOUNT --json

# セル値の更新
gog sheets update <spreadsheetId> "Sheet1!A1" "値1" "値2" -a $GOG_ACCOUNT --json

# 行の追記
gog sheets append <spreadsheetId> "Sheet1!A:C" "値1" "値2" "値3" -a $GOG_ACCOUNT --json

その他対応サービス

サービス 主な操作 API有効化
Google Tasks タスクリスト管理、タスクCRUD 別途有効化が必要
Google Contacts 連絡先の検索・作成 デフォルトで有効
Google Docs エクスポート(Drive経由) デフォルトで有効
Google Slides エクスポート(Drive経由) デフォルトで有効
Google Forms フォーム情報取得 別途有効化が必要
Google Chat メッセージ送受信 Workspace限定

注意: Google Tasks など一部サービスは、Google Cloud Console で API を個別に有効化する必要があります。エラーメッセージに有効化URLが表示されるので、それに従えばOK。

Part 3: Claude Code との統合

CLAUDE.md に記載する設定

## Google Workspace操作(gogcli)
- 実行パス: "C:\Users\<user>\gogcli\bin\gog.exe"
- アカウント: 環境変数 GOG_ACCOUNT にデフォルトアカウント設定済み
- フラグ: 必ず `-a $GOG_ACCOUNT --json` を付与
- 変更操作は `--dry-run` で確認してからユーザー承認を得て実行

これにより、Claude Code が自動的に gogcli を活用するようになります。

ワークフロー例: カンバン → カレンダー登録

Obsidian のカンバンに書かれた予定を、Claude Code が読み取ってカレンダーに登録するワークフロー:

1. カンバン.md を Read ツールで読み取り
2. 未着手タスクから日時情報を抽出
3. gog calendar create で dry-run → ユーザー確認
4. 承認後に実際に登録
5. カンバンを「完了」に更新

ワークフロー例: メール要約 → デイリーノート追記

1. gog gmail search "newer_than:1d is:important" で今日の重要メールを取得
2. Claude Code が内容を要約
3. Obsidian CLI で daily:append → デイリーノートに追記

Part 4: MCP vs CLI の比較

観点 MCP サーバー gogcli (CLI)
セットアップ MCP設定 + サーバー起動 go build + OAuth認証
依存関係 Node.js/Python + MCPランタイム Go バイナリ1本
ツール呼び出し ネイティブ(tool_use) Bash ツール経由
JSON出力 構造化済み --json フラグで構造化
dry-run サーバー実装次第 全コマンド対応
サービス数 個別MCPサーバーが必要 15+サービスを1バイナリで
オフライン サーバー起動が必要 バイナリ実行のみ

使い分け:

  • CLI が向いているケース: 個人利用、バッチ処理、シンプルなCRUD操作
  • MCP が向いているケース: リアルタイム双方向通信、複雑なステート管理、チーム利用

まとめ

gogcli で実現できたこと

  • Google Calendar のイベント取得・作成・競合チェック
  • Gmail の検索・本文取得・送信(dry-run確認付き)
  • Google Drive のファイル一覧・検索・アップロード・ダウンロード
  • Google Sheets のセル読み書き
  • Obsidian カンバン → カレンダー登録のクロスツール連携

CLI ツール群による個人環境の構築

ツール 役割
Obsidian CLI ナレッジベース操作
gogcli Google Workspace 操作
gh GitHub 操作
Claude Code 全体のオーケストレーション

MCP サーバーを立てなくても、CLI + CLAUDE.md の組み合わせで十分な自動化が実現できます。

参考

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?