CLAUDE CODE CLUBプライベートブログ
MCP接続Google スプレッドシートGoogle スライド2026.10.077 min

作れるのに、直せない|Claude Code × MCP で Google スプレッドシート・スライドを「更新」できるようにする

MCP で Google ドライブをつないだのに、Claude はスプレッドシートを新しく作ることしかできない。自分の環境で実際に確かめた「直せない理由」と、セル1つ・スライド1枚から書き換えられるようにする2つの方法をまとめました。

Claude に Google ドライブをつないで「この表の売上の列を直しておいて」と頼んだら、なぜか同じ名前の新しいスプレッドシートがもう1つ増えていた。そんな経験はないでしょうか? MCP でつなげば何でもできると思っていたのですが、実は「新しく作る」と「中身を書き換える」はまったく別の話でした。今日は、自分の Claude で実際に確かめた「直せない理由」と、更新までできるようにする方法を共有したいと思います。

この記事で分かること

  • MCP でつないでも、Google スプレッドシート・スライドを「作れるのに直せない」理由
  • 自分の Claude が書き換えまでできるかを、1分で確かめる方法
  • セル1つ・スライド1枚から書き換えられるようにする2つの方法

「つないだ」と「直せる」は別の話

MCP は「道具箱」で、何ができるかは箱に入っている道具で決まります。

Google ドライブをつないだ、と一言で言っても、箱の中身は人によって違います。今日、自分の Claude につながっている道具を1つずつ見てみたら、こうなっていました。

つなぎ方 新しく作る 中身を書き換える
Claude 公式のドライブ コネクタ できる できない(変えられるのは名前と置き場所だけ)
google_workspace_mcp(Gmail・ドライブ・カレンダーだけ入れた状態) できる ファイルを丸ごと入れ替えるだけ。セル1つは直せない
google_workspace_mcp + スプレッドシート・ドキュメント・スライドの道具 できる できる(セル・文章・スライド単位)
サービスアカウント型(mcp-gsheets) できない できる(共有したスプレッドシートだけ)

MCP は道具箱。入っている道具で、できることが決まる

公式コネクタの「更新」の道具は、説明を読むと「現在はタイトルと親フォルダのみ対応」と書いてあります。つまり名前を変えたり、フォルダを移したりはできても、中身には触れません。だから「直して」と頼むと、Claude は気をきかせて新しいファイルを作ってしまうわけです。

なので「MCP をつないだだけでは、新規作成はできても更新はできない」という認識は、つなぎ方によっては正しいです。正確には「更新の道具が入っていなければ、更新はできない」です。

自分の Claude で確かめてみた

私の Claude は、スプレッドシートの更新がすでにできるようになっているはずでした。今年の6月、講座のアンケート集計を Claude に書き込ませるために、サービスアカウント型の MCP(mcp-gsheets)を入れていたからです。

本当にできるのか、テスト用の表で確かめました。

  1. 「項目/値」だけの小さな表を新しく作る
  2. mcp-gsheets で B2 のセルを書き換える → Permission denied(権限がありません)で拒否
  3. その表を、ボット(サービスアカウント)のメールアドレスに「編集者」で共有する
  4. もう一度 B2 を書き換える → 成功
状態,作成直後
  ↓ 共有したあとに書き換え
状態,Claudeが書き換えた

共有する前は拒否、共有したあとは書き換えられた

スプレッドシートの更新はできていました。ただし「ボットに共有した表だけ」です。 そして、スライドとドキュメントの書き換えの道具は、私の環境にはまだ入っていませんでした。

あなたの Claude がどこまでできるかも、テスト用の表を1枚作って「B2 を書き換えて」と頼めばすぐ分かります。新しいファイルが増えたら、更新の道具が入っていません。

方法1:google_workspace_mcp に道具を足す(おすすめ)

前に書いた「Google アカウントを複数、Claude に常時つなぐ手順」で google_workspace_mcp を入れた人は、道具を3つ足すだけです。

MCP を登録するときの --tools に sheets docs slides を足します。

--tools gmail drive calendar
  ↓
--tools gmail drive calendar sheets docs slides

手順はこうなります。

  1. Google Cloud Console の「API とサービス」→「ライブラリ」で、Google Sheets API/Google Docs API/Google Slides API の3つを「有効にする」
  2. Claude Code の MCP の設定(~/.claude.json)の --tools に sheets docs slides を足す
  3. Claude Code を開き直す
  4. 初めてスプレッドシートを触るときに、Google の許可画面がもう一度開くので「許可」を押す(できることが増えた分、許可も取り直しになります)

これで「この表の C5 を 1200 に直して」「3枚目のスライドのタイトルを変えて」が、ファイルを増やさずに通るようになります。

この方法のいいところは、自分のアカウントとして書き換えるので、ファイルごとに共有する手間がないことです。自分が編集できるファイルなら、全部 Claude も直せます。

方法2:サービスアカウントを使う(私が先にやっていた方法)

もう1つは、Claude 専用の「ボットのアカウント」(サービスアカウント)を作って、そのボットに表を共有する方法です。私が先に入れていたのはこちらです。

  1. Google Cloud Console でサービスアカウントを作り、鍵(JSON ファイル)をダウンロードする
  2. mcp-gsheets を、鍵の場所を指定して Claude Code に登録する
  3. 書き換えたいスプレッドシートを、ボットのメールアドレスに「編集者」で共有する

ボットが触れるのは、共有した表だけです。 大事な表をうっかり書き換えられたくない人には、むしろこちらが安心です。

ただし、私はここで一度ハマりました。ボットに新しい表を作らせようとすると、何度やっても失敗するのです。原因は、無料の Google アカウントで作ったボットは、ドライブの容量が 0 だったことでした。自分のドライブを持てないので、新しいファイルは作れません。スコープや API の設定をいくら見直しても直らず、ボットのドライブの容量を調べて、ようやく原因が分かりました。

なので、サービスアカウントを使う人は「新しく作るのは自分、書き換えるのはボット」と分けておくとハマりません。

※補足1(PowerPoint のファイルなら MCP はいらない)

パソコンの中にある PowerPoint(.pptx)や Excel(.xlsx)のファイルなら、MCP は必要ありません。Claude Code はパソコンの中のファイルを直接開いて書き換えられるので、「このスライドの3枚目の文字を直して」と頼めばそのまま直してくれます。

MCP が必要なのは、Google ドライブの上にある スプレッドシート・スライド・ドキュメントを触るときだけです。

最後に

「MCP をつないだのに直せない」のは、Claude の性能ではなく、箱に更新の道具が入っていないだけでした。分かってしまえば、--tools に3語足すだけで解決します。

いつも私の知らないことを教えてくれる Claude には感謝しかありません。今回も「なぜ新しいファイルが増えるのか」を、つながっている道具の説明から一緒に読み解いてくれました。

今日やれることは1つだけです。Claude に「いまつながっている Google の道具で、スプレッドシートのセルを書き換えられるものはある? 一覧にして」と聞いてみてください。無ければ、下の手順書を貼れば足してくれます。

同じところで止まっている人に届くと嬉しいです。んじゃ、また!

毎月30枠限定|30分の個別無料相談

30分の個別無料相談リンクはこちら↓↓

Claude Code Club の LINE 公式アカウント(友だち追加用 QR)
Claude Code Club の LINE 公式アカウント(友だち追加用 QR)

AIの使い方に関してAz本人と30分間無料で相談ができます。毎月の枠に限りがあるのでご注意ください。

※上のリンクは Claude Code Club の LINE 公式アカウントです。友だち追加のあと、トークに「面談希望」と送ってください。予約用のリンクをお送りします。

AIへ渡す手順書

右上の「コピー」を押して、そのまま Claude(Claude Code)に貼り付けてください。記事と同じことを、手順どおりに進めてくれます。パソコンの環境によって、途中で確認や操作をお願いされることがあります。

prompt-for-claude.md
# 作業手順書:Google スプレッドシート・スライド・ドキュメントを Claude Code から「更新」できるようにする

> この文章は、ユーザーが CLAUDE CODE CLUB の記事「作れるのに、直せない」の末尾からコピーし、あなた(Claude)に貼り付けたものです。人間向けの解説ではなく、**あなたが実行するための作業手順書**です。
> 出典:https://blog.claudecodeclub.jp/posts/google-sheets-edit-mcp

---

## 0. Claude Code へ(最初に必ず読む)

あなた(Claude Code)は、ユーザーの環境で **Google スプレッドシート・スライド・ドキュメントの中身を、ファイルを増やさずに書き換えられる状態** を作る。最初に今の状態を診断し、足りないときだけ設定を足す。

### 実行環境の確認(最優先)

- この手順は設定ファイルの書き換えとコマンド実行を伴う。あなたが **Claude Code(ターミナル、IDE 拡張、またはデスクトップアプリの Code タブ)** として動いていて、シェルとファイル書き込みが使えることを確認する。
- claude.ai のチャット欄やスマホアプリなど、ローカルのコマンドを実行できない環境で貼られた場合は、**何も実行せず**、「この手順書は Claude Code(デスクトップアプリの Code タブ、またはターミナルの `claude`)に貼り直してください」と短く伝えて止まる。
- OS を判定する(macOS/Windows/Linux)。設定ファイルの場所やコマンドが違うときは OS に合わせる。

### 守ること

1. **秘密の値を画面に出さない。** OAuth クライアント ID・クライアントシークレット・トークン・サービスアカウントの鍵の中身は、チャットへの表示・ログ出力・コミットをしない。設定を読むときは値を伏せる(例:`jq` で env のキー名だけ出す)。
2. **設定ファイルを書き換える前に、必ずバックアップを取る。**(`~/.claude.json`、使っていればデスクトップアプリの `claude_desktop_config.json`)
3. **ユーザーの既存のファイルを書き換えて試さない。** 試すときは、必ず新しく作ったテスト用のファイルを使い、終わったらゴミ箱へ移す(完全削除はしない)。
4. **人間にしかできない操作は、ユーザーに頼む。** Google Cloud Console での API 有効化(ブラウザ操作ツールが無い場合)、Google の許可画面での「許可」。頼むときは「どの画面で・何を押すか」を1つずつ書く。
5. 手順ごとに「確認」が通ってから次へ進む。
6. ユーザーへの説明は、ユーザーの言語で、専門用語を避けて短く。

### 最初にユーザーへ聞くこと(まとめて1回で)

- 書き換えたいのはどれか:Google スプレッドシート/Google スライド/Google ドキュメント/パソコンの中の PowerPoint・Excel ファイル(複数可)
- 書き換えに使う Google アカウントのメールアドレス
- (サービスアカウントが見つかった場合のみ)自分のアカウントとして書き換える方法(方法1)に寄せるか、ボットに共有した表だけ書き換える方法(方法2)を続けるか

パソコンの中の PowerPoint・Excel だけなら、MCP は不要。Python(`python-pptx`・`openpyxl`)でファイルを直接書き換えられることを伝え、テスト用ファイルで1か所書き換えて見せて終わる。

---

## 1. 今の状態を診断する

1. あなたが今使える MCP の道具の一覧から、Google 関係のものを書き出す。それぞれ「新しく作る道具」と「中身を書き換える道具」に分ける。
   - Claude 公式の Google ドライブ コネクタの `update_file` は**名前と親フォルダしか変えられない**。中身の書き換えには数えない。
   - google_workspace_mcp(`workspace-mcp`)の `update_drive_file` はファイルを丸ごと入れ替える道具。セル単位・スライド単位の書き換えには数えない。
   - 書き換えに数えるのは、スプレッドシートのセル範囲を更新する道具、ドキュメントの文章を挿入・置換する道具、スライドを batchUpdate する道具。
2. `~/.claude.json` の `mcpServers`(ユーザー全体)と、各プロジェクトの `projects.<パス>.mcpServers` を読み、Google 関係の MCP の起動引数を確認する(値は伏せる)。
   - `workspace-mcp` があれば、`--tools` の中身を見る。`sheets` `docs` `slides` が入っていなければ、それが「直せない」原因。`--tools` 自体が無ければ全部入っている。
   - `mcp-gsheets` などサービスアカウント型があれば、鍵ファイルのパスと `client_email`(ボットのメールアドレス)だけ確認する。
3. 結果を表でユーザーに見せる:サービスごとに「作れる/書き換えられる/書き換えられない」。

**確認**:ユーザーが選んだサービスで書き換えの道具がすでにあれば、手順4の「動作確認」だけ行って終わる。

---

## 2. 方法1:google_workspace_mcp に sheets/docs/slides を足す(基本はこちら)

`workspace-mcp` がすでに入っている場合。入っていない場合は、まず記事「Google アカウントを複数、Claude に常時つなぐ手順」(https://blog.claudecodeclub.jp/posts/google-multi-account-mcp )の手順書で導入してから戻る。その際 `--tools` に最初から `sheets docs slides` を入れる。

1. **API を有効にする(ユーザーに頼む)。** OAuth クライアントを作った Google Cloud プロジェクトで、「API とサービス」→「ライブラリ」から次を検索して「有効にする」:
   - Google Sheets API
   - Google Docs API
   - Google Slides API
   (ユーザーが選んだものだけでよい。プロジェクト ID は OAuth クライアント ID から特定できないので、どのプロジェクトか分からなければユーザーに Cloud Console の上部のプロジェクト名を確認してもらう)
2. **バックアップを取る。** `cp ~/.claude.json ~/.claude.json.bak-<日付>`
3. **`--tools` に足す。** `~/.claude.json` の該当する `workspace-mcp` の `args` で、`--tools` のあとに `sheets` `docs` `slides`(選んだものだけ)を足す。ユーザー全体(`mcpServers`)とプロジェクトごと(`projects.*.mcpServers`)の両方に登録されている場合は、**全部**に足す。JSON を壊さないよう、Python や `jq` で読み書きし、書いたあと JSON として読み直して検証する。
   - デスクトップアプリのチャット欄でも使っているなら、`claude_desktop_config.json` の同じ箇所にも足す。
4. **Claude Code を開き直すようユーザーに頼む**(MCP は起動時に読み込まれる)。開き直したら、この手順書をもう一度貼ってもらい、手順4から続ける。
5. **許可を取り直す。** 初めてスプレッドシート等の道具を使うと、増えた権限の許可画面の URL が出る。ユーザーに「普段ログインしているブラウザで開き、対象アカウントを選んで『許可』」と頼む。「このアプリは Google で確認されていません」は正常(「詳細」→「(アプリ名)に移動」)。複数アカウントを使っているなら、アカウントごとに1回ずつ。

---

## 3. 方法2:サービスアカウント型(mcp-gsheets 等)を使う場合

ユーザーが「ボットに共有した表だけを書き換えたい」と選んだとき、またはすでにこの形で動いているときだけ。

- 書き換えたいスプレッドシートを、**ボットのメールアドレス(`client_email`)に「編集者」で共有する**ようユーザーに頼む(共有の通知メールは不要)。
- **ボットに新しいファイルを作らせない。** 無料の Google アカウント配下のサービスアカウントはドライブ容量が 0 で、新規作成は必ず失敗する(`storageQuota.limit` が `"0"`)。新しい表は、ユーザー本人のアカウント(または方法1の道具)で作ってから、ボットに共有する。
- 書き換えて `Permission denied` が出たら、まず共有されているかを疑う。

---

## 4. 動作確認(必ずテスト用ファイルで)

1. ユーザーのアカウントで、テスト用のスプレッドシート「【テスト】Claude 更新チェック」を新しく作る(中身:A1「項目」B1「値」、A2「状態」B2「作成直後」)。スライド・ドキュメントを選んだ場合は、それぞれテスト用を1つずつ作る。
2. 書き換えの道具で、B2 を「Claude が書き換えた」に変える。スライドは1枚目のタイトル、ドキュメントは1行目を書き換える。
3. 別の道具(ファイルの内容を読む道具)で読み直し、**同じファイル ID のまま中身が変わっている**こと、**同じ名前のファイルが増えていない**ことを確かめる。
4. テスト用ファイルをゴミ箱へ移す。

**確認**:3 が通れば完了。

---

## 5. 最後の報告

ユーザーに短く報告する:

- 診断の結果(最初は何ができて、何ができなかったか)
- 何を足したか(どの設定ファイルのどこ。バックアップの場所)
- 動作確認の結果(どのサービスで、何を書き換えられたか)
- これからの頼み方の例:「◯◯の表の C5 を 1200 に直して」「◯◯のスライドの3枚目のタイトルを変えて」(ファイル名か URL を言えば通る)

---

## ハマりどころ(症状 → 原因 → 対処)

| 症状 | 原因 | 対処 |
|---|---|---|
| 「直して」と頼むと、同じ名前の新しいファイルが増える | 書き換えの道具が無く、作る道具で代用している | 手順1で診断し、方法1で道具を足す |
| `--tools` に足したのに道具が出てこない | Claude Code を開き直していない/別の場所の設定を書き換えた | 開き直す。ユーザー全体とプロジェクトごとの両方の設定を確認する |
| 道具は出るが `API has not been used in project` 等のエラー | その API が Cloud プロジェクトで有効になっていない | 手順2-1 の API を有効にし、数分待ってから再実行 |
| `insufficient authentication scopes` 等の権限エラー | 足した道具の分の許可を取り直していない | 出てきた許可画面の URL で「許可」し直す |
| サービスアカウントで `Permission denied` | 表がボットに共有されていない | ボットのメールアドレスに「編集者」で共有 |
| サービスアカウントで新規作成が必ず失敗 | ボットのドライブ容量が 0(無料アカウントの仕様) | 作るのは本人、書き換えるのはボット、と分ける |
| 「このアプリは Google で確認されていません」 | 自作の OAuth アプリを審査に出していないだけ | 正常。「詳細」→「(アプリ名)に移動」 |

ファイルで渡したい場合:google-sheets-edit-mcp.md をダウンロード

← 記事一覧