Google Workspace Mcp Server

io.github.takiguchi-yu由 GitHub 帳號 takiguchi-yu 發布v0.9.0更新於 Oct 24, 2026

An MCP server for Google Workspaces.

概覽

AI 產生的概覽

讓 AI 助理在多個 Google 帳號下讀取與編輯 Google 試算表、文件、簡報和雲端硬碟檔案。

可以做什麼
把 Google Workspace 介面包裝成 MCP 工具:列出、讀取、寫入、格式化、篩選、排序與調整 Google 試算表;以 Markdown 形式讀取文件;建立與編輯簡報,包含文字、圖形、表格、圖片與版面;以及搜尋和列出雲端硬碟檔案。每個工具都帶 account 參數,因此一個伺服器可切換多個 Google 帳號。帳號可用 OAuth 或服務帳戶驗證。
適用情境
適合讓助理直接操作試算表、文件、簡報或雲端硬碟檔案,而不只是描述變更。常用於週期性報表、範本套用、批次試算表修改與簡報產生,尤其是需要把公司帳號與個人帳號分開的情境。
執行需求
透過 stdio 在本機執行,通常使用 npm 套件或 Docker 映像。需要先在 Google Cloud 建立 OAuth 用戶端(CLIENT_ID 與 SECRET),並為每個帳號準備權杖或服務帳戶金鑰檔。設定與權杖保存在本機目錄(例如 ~/.google-workspace-mcp)。僅限桌面端,不支援在瀏覽器中執行。
安裝前請注意
權杖與服務帳戶金鑰以檔案形式存放在 ~/.google-workspace-mcp,需妥善保護該目錄。許多工具會寫入、覆寫、清空、刪除或重排試算表、簡報和雲端硬碟中的資料,部分操作難以復原。OAuth 帳號可讀寫整個雲端硬碟,服務帳戶只能存取共享給它的檔案且無法建立新檔案。更新指令碼會改寫 MCP 用戶端設定檔,並拉取與刪除 Docker 映像。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Google Workspace Mcp Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Google Workspace MCP Server

Google Workspace MCP Server は、GitHub Copilot などの AI アシスタントから Google Workspace サービス(Slides、Sheets、Docs、Drive)を操作できるようにする MCP サーバーです。

会社用・個人用など、複数の Google アカウントを 1 つのサーバーで使い分けられます。

主な機能

👤 アカウント

  • accounts_list - 登録されている Google アカウントの一覧を取得

すべてのツールに account 引数があり、work private のようなラベルで対象アカウントを指定します。省略した場合は既定アカウントが使われます。

アカウントごとに OAuth(利用者として認証)と サービスアカウント(ブラウザ認可が不要)を選べます。

OAuthサービスアカウント
ブラウザでの認可必要不要
既存ファイルの読み書きDrive 全体共有したものだけ
新規ファイルの作成可不可

📊 Google Sheets

  • sheets_list_spreadsheets - スプレッドシート一覧を取得
  • sheets_get_spreadsheet_info - スプレッドシートの詳細情報(シート一覧、プロパティ)を取得
  • sheets_read_sheet_values - セル範囲のデータを読み取り(数式や書式前の生の値も取得可)
  • sheets_update_sheet_values - セル範囲のデータを更新
  • sheets_batch_update_sheet_values - 複数のセル範囲を一度に更新
  • sheets_create_spreadsheet - 新規スプレッドシートを作成
  • sheets_add_sheet - 既存のスプレッドシートにシートを追加
  • sheets_delete_sheet - シートを中身ごと削除(最後の 1 枚は削除不可)
  • sheets_duplicate_sheet - シートを書式・数式ごと複製(雛形からの起こし)
  • sheets_update_sheet_properties - シート名・タブの色・タブの並び順・非表示を変更
  • sheets_append_values - 既存データの末尾に行を追記
  • sheets_clear_sheet_values - 指定範囲のセルの値をクリア
  • sheets_import_csv - CSV/TSV ファイルをスプレッドシートにインポート(カスタムデリミタ・Base64対応)
  • sheets_insert_dimension - 指定位置に行・列を挿入
  • sheets_delete_dimension - 指定範囲の行・列を削除
  • sheets_sort_range - 範囲の中身を複数列のキーで並べ替え
  • sheets_set_basic_filter - フィルタを設置(抽出条件・既定の並び順も指定可)
  • sheets_clear_basic_filter - フィルタを取り除く
  • sheets_set_data_validation - 入力規則を設定(プルダウン・チェックボックス・入力制限)
  • sheets_clear_data_validation - 入力規則を解除
  • sheets_format_cells - セルの塗り・文字色・太字・サイズ・配置・数値書式を変更(範囲ごとにまとめて指定)
  • sheets_set_borders - セル範囲に罫線を引く・消す(外周と内側を個別に指定可)
  • sheets_merge_cells - セルを結合・解除(MERGE_ALL / MERGE_COLUMNS / MERGE_ROWS / UNMERGE)
  • sheets_resize_dimension - 列幅・行高をピクセル指定または内容に合わせて自動調整
  • sheets_freeze_panes - 先頭の行・列を固定(見出し行の固定)
  • sheets_add_conditional_format - 条件付き書式のルールを追加(条件による色分け/カラースケール)
  • sheets_delete_conditional_format - 条件付き書式のルールを index 指定で削除
  • sheets_list_conditional_formats - 条件付き書式のルールを一覧(削除に使う index 付き)

📄 Google Docs

  • docs_get_document - Google Doc の本文を Markdown 形式で取得(見出し・段落・篇条書き・テーブルに対応)

🖼️ Google Slides

  • slides_create_presentation - プレゼンテーションを作成
  • slides_get_presentation - プレゼンテーションの内容を取得
  • slides_list_presentations - プレゼンテーション一覧を取得
  • slides_get_page - 特定スライドの詳細情報を取得
  • slides_update_text_shape - テキスト要素の内容を更新または追記
  • slides_add_text_box - スライドに新しいテキストボックスを追加
  • slides_delete_element - スライドの要素(図形、テキストボックス、画像など)を削除
  • slides_duplicate_slide - スライドを複製
  • slides_add_shape - スライドに図形(矩形、円、矢印など)を追加
  • slides_update_slide_properties - スライドのプロパティ(背景色など)を更新
  • slides_batch_update_presentation - 複数の更新リクエストをバッチで実行(高度な操作)
  • slides_update_text_style - テキストのフォント・サイズ・色・太字などを変更
  • slides_update_shape_style - 既存の図形の塗りと枠線を変更
  • slides_insert_image - 公開 URL の画像をスライドに挿入
  • slides_replace_all_text - プレゼンテーション内の文字列を一括置換(ひな形の差し込み)
  • slides_add_slide - レイアウトを選んでスライドを追加(タイトル・本文も同時に記入)
  • slides_update_paragraph_style - 段落の配置・行間・インデント・段落前後の空きを変更
  • slides_create_paragraph_bullets - 段落を箇条書き・番号付きリストにする
  • slides_delete_paragraph_bullets - 箇条書きを解除
  • slides_update_element_transform - 既存要素の位置・大きさ・回転を変更
  • slides_update_elements_z_order - 要素の重なり順を変更(複数まとめて)
  • slides_add_line - 始点・終点を指定して線・矢印を引く(色・太さ・破線も同時に)
  • slides_group_elements - 複数の要素を 1 つのグループにまとめる
  • slides_ungroup_elements - グループを解除
  • slides_add_table - 2 次元配列から表を追加(中身も同時に記入)
  • slides_update_table_cells - 表のセルの塗りと縦揃えを変更(範囲は A1 記法)
  • slides_update_table_borders - 表に罫線を引く(全体・外周・内側・各辺を指定可)
  • slides_resize_table - 表の行の高さ・列の幅を変更
  • slides_insert_table_dimension - 表に行・列を挿入
  • slides_delete_table_dimension - 表から行・列を削除
  • slides_connect_line - 線の端を図形に繋ぐ(図形を動かすと線が追随)
  • slides_disconnect_line - 線と図形の接続を外す

寸法の単位は、slides_add_line / slides_add_table / slides_update_element_transform / slides_update_paragraph_style がポイント(スライドは 720 × 405 pt)、それ以前からある slides_add_shape / slides_add_text_box / slides_insert_image が EMU です。 理由は ADR 0004 を参照してください。

📁 Google Drive

  • drive_search_files - ファイルを検索(クエリ構文対応)
  • drive_list_items - フォルダ内のファイル一覧を取得

クイックスタート

簡単な流れ

  1. Google Cloud で OAuth 認証情報(CLIENT_ID, SECRET)を作成(初回のみ)
  2. OAuth 認証情報をもとに、アカウントごとのトークンを取得(アカウントを追加するたび)
  3. GitHub Copilot で使用開始
sh
# 会社アカウントを登録npm run setup -- --account work --description "会社の Google Workspace"
# 個人アカウントを登録npm run setup -- --account private --description "個人の Google アカウント"

詳細なセットアップ手順は docs/setup.md を参照してください。

プロジェクト構成

src/├── index.ts                # MCP サーバー起動├── auth/                   # アカウント設定・トークン・OAuth クライアントの解決├── manager/                # サービス統合管理と account 引数の取り回し└── tools/                  # Google Workspace ツール実装    ├── accounts/    ├── sheets/    ├── slides/    ├── docs/    └── drive/

設定とトークンは 1 つのディレクトリにまとまります。

~/.google-workspace-mcp/├── accounts.json           # アカウント一覧と既定アカウント├── credentials.json        # 全アカウントで共有する OAuth クライアント└── accounts/    ├── work/token.json                 # OAuth のトークン    └── private/service-account.json    # サービスアカウントの鍵

用語の定義は CONTEXT.md を参照してください。

新しいバージョンへの差し替え

新しいバージョンが公開されたら、次のコマンドで差し替えます。

sh
npm run update-image             # 公開済みの最新版へ差し替えるnpm run update-image -- 0.4.1    # バージョンを指定して差し替えるnpm run update-image -- --dry-run  # 何が起きるかだけ表示する

やっていること:

  1. Docker Hub のタグ一覧から最新のリリースバージョンを選び、docker pull する
  2. MCP クライアントの設定(既定は ~/.claude.json)に固定されているタグを差し替える(控えを .bak に残す)
  3. 不要になった旧イメージを削除する(そのイメージで動いているコンテナがあれば削除せず知らせる)

差し替え後は、Claude Code を再起動するか /mcp で再接続すると新しいイメージで起動します。

オプション意味
--config <path>設定ファイルの場所を変える(既定: ~/.claude.json)
--image <name>対象の Docker イメージを変える(既定: takigu1/google-workspace-mcp-server)
--keep-old旧イメージを削除しない
--dry-run変更せず、差し替え内容だけ表示する

タグは latest ではなくバージョンで固定したままにします。latest は指す先が黙って変わるため、 今どのバージョンが動いているのか分からなくなります。

開発者向け: クラス設計

docs/class-diagram.md

開発者向け: テスト

sh
npm test    # ビルドしたうえで認証・アカウント解決層のテストを実行

開発者向け: Docker コンテナのデプロイメント方法

以下のファイルを参照してください:

開発者向け: MCP Registry への公開手順

以下のファイルを参照してください:

参考にしたプロジェクト

備忘

https://registry.modelcontextprotocol.io/?q=google-workspace で MCP を検索すると -server なしのプロジェクトが見つかるが、初期に登録してしまったものなので、 unpublish 的な操作ができるようになったら、そちらは削除する予定。(2026年3月時点では削除ができない。)

來源:README.md,提交 398b445

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.9.0最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。