作れるのに、直せない|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) | できない | できる(共有したスプレッドシートだけ) |

公式コネクタの「更新」の道具は、説明を読むと「現在はタイトルと親フォルダのみ対応」と書いてあります。つまり名前を変えたり、フォルダを移したりはできても、中身には触れません。だから「直して」と頼むと、Claude は気をきかせて新しいファイルを作ってしまうわけです。
なので「MCP をつないだだけでは、新規作成はできても更新はできない」という認識は、つなぎ方によっては正しいです。正確には「更新の道具が入っていなければ、更新はできない」です。
自分の Claude で確かめてみた
私の Claude は、スプレッドシートの更新がすでにできるようになっているはずでした。今年の6月、講座のアンケート集計を Claude に書き込ませるために、サービスアカウント型の MCP(mcp-gsheets)を入れていたからです。
本当にできるのか、テスト用の表で確かめました。
- 「項目/値」だけの小さな表を新しく作る
- mcp-gsheets で B2 のセルを書き換える → Permission denied(権限がありません)で拒否
- その表を、ボット(サービスアカウント)のメールアドレスに「編集者」で共有する
- もう一度 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
手順はこうなります。
- Google Cloud Console の「API とサービス」→「ライブラリ」で、Google Sheets API/Google Docs API/Google Slides API の3つを「有効にする」
- Claude Code の MCP の設定(
~/.claude.json)の--toolsにsheets docs slidesを足す - Claude Code を開き直す
- 初めてスプレッドシートを触るときに、Google の許可画面がもう一度開くので「許可」を押す(できることが増えた分、許可も取り直しになります)
これで「この表の C5 を 1200 に直して」「3枚目のスライドのタイトルを変えて」が、ファイルを増やさずに通るようになります。
この方法のいいところは、自分のアカウントとして書き換えるので、ファイルごとに共有する手間がないことです。自分が編集できるファイルなら、全部 Claude も直せます。
方法2:サービスアカウントを使う(私が先にやっていた方法)
もう1つは、Claude 専用の「ボットのアカウント」(サービスアカウント)を作って、そのボットに表を共有する方法です。私が先に入れていたのはこちらです。
- Google Cloud Console でサービスアカウントを作り、鍵(JSON ファイル)をダウンロードする
- mcp-gsheets を、鍵の場所を指定して Claude Code に登録する
- 書き換えたいスプレッドシートを、ボットのメールアドレスに「編集者」で共有する
ボットが触れるのは、共有した表だけです。 大事な表をうっかり書き換えられたくない人には、むしろこちらが安心です。
ただし、私はここで一度ハマりました。ボットに新しい表を作らせようとすると、何度やっても失敗するのです。原因は、無料の 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分の個別無料相談リンクはこちら↓↓

AIの使い方に関してAz本人と30分間無料で相談ができます。毎月の枠に限りがあるのでご注意ください。
※上のリンクは Claude Code Club の LINE 公式アカウントです。友だち追加のあと、トークに「面談希望」と送ってください。予約用のリンクをお送りします。
AIへ渡す手順書
右上の「コピー」を押して、そのまま Claude(Claude Code)に貼り付けてください。記事と同じことを、手順どおりに進めてくれます。パソコンの環境によって、途中で確認や操作をお願いされることがあります。
# 作業手順書: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 をダウンロード