{
  "markdown": "# Google Workspace MCP Server\n\nGoogle Workspace MCP Server は、GitHub Copilot などの AI アシスタントから Google Workspace サービス（Slides、Sheets、Docs、Drive）を操作できるようにする MCP サーバーです。\n\n会社用・個人用など、**複数の Google アカウントを 1 つのサーバーで使い分けられます**。\n\n## 主な機能\n\n### 👤 アカウント\n\n- **accounts_list** - 登録されている Google アカウントの一覧を取得\n\nすべてのツールに `account` 引数があり、`work` `private` のようなラベルで対象アカウントを指定します。省略した場合は既定アカウントが使われます。\n\nアカウントごとに **OAuth**（利用者として認証）と **サービスアカウント**（ブラウザ認可が不要）を選べます。\n\n|                        | OAuth      | サービスアカウント |\n| ---------------------- | ---------- | ------------------ |\n| ブラウザでの認可       | 必要       | 不要               |\n| 既存ファイルの読み書き | Drive 全体 | 共有したものだけ   |\n| 新規ファイルの作成     | 可         | 不可               |\n\n### 📊 Google Sheets\n\n- **sheets_list_spreadsheets** - スプレッドシート一覧を取得\n- **sheets_get_spreadsheet_info** - スプレッドシートの詳細情報（シート一覧、プロパティ）を取得\n- **sheets_read_sheet_values** - セル範囲のデータを読み取り\n- **sheets_update_sheet_values** - セル範囲のデータを更新\n- **sheets_create_spreadsheet** - 新規スプレッドシートを作成\n- **sheets_add_sheet** - 既存のスプレッドシートにシートを追加\n- **sheets_append_values** - 既存データの末尾に行を追記\n- **sheets_clear_sheet_values** - 指定範囲のセルの値をクリア\n- **sheets_import_csv** - CSV/TSV ファイルをスプレッドシートにインポート（カスタムデリミタ・Base64対応）\n- **sheets_insert_dimension** - 指定位置に行・列を挿入\n- **sheets_delete_dimension** - 指定範囲の行・列を削除\n\n### 📄 Google Docs\n\n- **docs_get_document** - Google Doc の本文を Markdown 形式で取得（見出し・段落・篇条書き・テーブルに対応）\n\n### 🖼️ Google Slides\n\n- **slides_create_presentation** - プレゼンテーションを作成\n- **slides_get_presentation** - プレゼンテーションの内容を取得\n- **slides_list_presentations** - プレゼンテーション一覧を取得\n- **slides_get_page** - 特定スライドの詳細情報を取得\n- **slides_update_text_shape** - テキスト要素の内容を更新または追記\n- **slides_add_text_box** - スライドに新しいテキストボックスを追加\n- **slides_delete_element** - スライドの要素（図形、テキストボックス、画像など）を削除\n- **slides_duplicate_slide** - スライドを複製\n- **slides_add_shape** - スライドに図形（矩形、円、矢印など）を追加\n- **slides_update_slide_properties** - スライドのプロパティ（背景色など）を更新\n- **slides_batch_update_presentation** - 複数の更新リクエストをバッチで実行（高度な操作）\n\n### 📁 Google Drive\n\n- **drive_search_files** - ファイルを検索（クエリ構文対応）\n- **drive_list_items** - フォルダ内のファイル一覧を取得\n\n## クイックスタート\n\n### 簡単な流れ\n\n1. Google Cloud で OAuth 認証情報（CLIENT_ID, SECRET）を作成（初回のみ）\n2. OAuth 認証情報をもとに、アカウントごとのトークンを取得（アカウントを追加するたび）\n3. GitHub Copilot で使用開始\n\n```sh\n# 会社アカウントを登録\nnpm run setup -- --account work --description \"会社の Google Workspace\"\n\n# 個人アカウントを登録\nnpm run setup -- --account private --description \"個人の Google アカウント\"\n```\n\n詳細なセットアップ手順は **[docs/setup.md](docs/setup.md)** を参照してください。\n\n## プロジェクト構成\n\n```\nsrc/\n├── index.ts                # MCP サーバー起動\n├── auth/                   # アカウント設定・トークン・OAuth クライアントの解決\n├── manager/                # サービス統合管理と account 引数の取り回し\n└── tools/                  # Google Workspace ツール実装\n    ├── accounts/\n    ├── sheets/\n    ├── slides/\n    ├── docs/\n    └── drive/\n```\n\n設定とトークンは 1 つのディレクトリにまとまります。\n\n```\n~/.google-workspace-mcp/\n├── accounts.json           # アカウント一覧と既定アカウント\n├── credentials.json        # 全アカウントで共有する OAuth クライアント\n└── accounts/\n    ├── work/token.json                 # OAuth のトークン\n    └── private/service-account.json    # サービスアカウントの鍵\n```\n\n用語の定義は [CONTEXT.md](CONTEXT.md) を参照してください。\n\n## 新しいバージョンへの差し替え\n\n新しいバージョンが公開されたら、次のコマンドで差し替えます。\n\n```sh\nnpm run update-image             # 公開済みの最新版へ差し替える\nnpm run update-image -- 0.4.1    # バージョンを指定して差し替える\nnpm run update-image -- --dry-run  # 何が起きるかだけ表示する\n```\n\nやっていること:\n\n1. Docker Hub のタグ一覧から最新のリリースバージョンを選び、`docker pull` する\n2. MCP クライアントの設定（既定は `~/.claude.json`）に固定されているタグを差し替える（控えを `.bak` に残す）\n3. 不要になった旧イメージを削除する（そのイメージで動いているコンテナがあれば削除せず知らせる）\n\n差し替え後は、Claude Code を再起動するか `/mcp` で再接続すると新しいイメージで起動します。\n\n| オプション        | 意味                                                                          |\n| ----------------- | ----------------------------------------------------------------------------- |\n| `--config <path>` | 設定ファイルの場所を変える（既定: `~/.claude.json`）                          |\n| `--image <name>`  | 対象の Docker イメージを変える（既定: `takigu1/google-workspace-mcp-server`） |\n| `--keep-old`      | 旧イメージを削除しない                                                        |\n| `--dry-run`       | 変更せず、差し替え内容だけ表示する                                            |\n\n> タグは `latest` ではなくバージョンで固定したままにします。`latest` は指す先が黙って変わるため、\n> 今どのバージョンが動いているのか分からなくなります。\n\n## 開発者向け： クラス設計\n\n[docs/class-diagram.md](docs/class-diagram.md)\n\n## 開発者向け： テスト\n\n```sh\nnpm test    # ビルドしたうえで認証・アカウント解決層のテストを実行\n```\n\n## 開発者向け： Docker コンテナのデプロイメント方法\n\n以下のファイルを参照してください：\n\n- [docs/docker-deployment.md](docs/docker-deployment.md)\n\n## 開発者向け： MCP Registry への公開手順\n\n以下のファイルを参照してください：\n\n- [docs/mcp-registry-publish.md](docs/mcp-registry-publish.md)\n\n## 参考にしたプロジェクト\n\n- [google_workspace_mcp](https://github.com/taylorwilsdon/google_workspace_mcp)\n\n## 備忘\n\nhttps://registry.modelcontextprotocol.io/?q=google-workspace で MCP を検索すると `-server` なしのプロジェクトが見つかるが、初期に登録してしまったものなので、 `unpublish` 的な操作ができるようになったら、そちらは削除する予定。（2026年3月時点では削除ができない。）\n",
  "bytes": 4813,
  "sha": "2613f3a3a53cc22cf514cc6ee8b6e91bca1e9282d237468bbe13a32012f1504f",
  "repo_slug": "takiguchi-yu/google-workspace-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_takiguchi_yu_google_workspace__d26e4621/readme"
}