前回の学習編で「MCP は認証が生命線」と書きました。今回はそれを、実際に Google ドライブの MCP コネクタを使ってドライブ内の最新ファイルを取得する作業で、文字どおり痛い目を見ながら確かめた記録です。
does not have permission の連発に悩まされたが、原因はクエリでもツールでもなく、Googleの同意画面で権限のチェックを入れ忘れていたこと。MCP のつまずきは、ほぼ「つなぎ方」ではなく「認証」に集中する。
このシリーズ(全13回+番外編・拡張編)
- 基礎 ― 全体像と拡張機能の地図
- Skills(学習編)― 繰り返す手順を覚えさせる
- Skills(実践編)― 作って、つまずいて、直す
- Subagents(学習編)― 作業を別の文脈に切り出す
- Subagents(実践編)― 温泉宿を調べて比較する
- Hooks(学習編)― 特定のタイミングで自動実行する
- Hooks(実践編)― 編集したら自動でチェックを走らせる
- MCP(学習編)― 外部サービスへの接続口
- MCP(実践編)― Google ドライブ連携でつまずいた話(この記事)
- Plugin(学習編)― 作った部品をひとつの箱にまとめる
- Plugin(実践編)― 便利設定を箱に詰めて配る
- Marketplace(学習編)― 箱を並べて配る
- Marketplace(実践編)― お店に公開し、取り込む
- 番外編 ― 拡張機能の選び方チートシート
- 拡張編① Agent Teams(学習編)― 複数のAIをチームで動かす
- 拡張編② Agent Teams(実践編)― 3人チームで多角的にレビューする
やったこと ― 「最新ファイルを3つ教えて」
題材はシンプルです。「Google ドライブの最新ファイルを3つ教えて」とお願いし、MCP コネクタ経由でドライブの中身を取得する。MCP の「外部サービスへの接続」を地で行く作業でした。ところが、ここから一筋縄ではいきませんでした。
つまずきの実録
- 「Google ドライブの最新ファイルを3つ教えて」とお願いする。
- しかし最初は
The caller does not have permission(権限がありません)というエラーが連発。 - ここで分かったのは、問題はツールの選び方ではなく、コネクタ自体の認証(アクセス許可の証となる鍵。いわゆる OAuth トークン)が通っていなかったこと。取得方法を別のやり方(一覧取得 → 検索)に切り替えても、認証が通らない限りどれも同じエラーになる。そう切り分けられました。
- 設定の「コネクタ」から Google ドライブをいったん切断 → 再接続し、アクセス許可を承認し直す。
- 再接続後にもう一度依頼すると、今度は成功。実際のドライブから最新ファイル(例:「Claude Code デスクトップ版導入作業手順書」「Git導入手順書」など)を取得できた。
本当の落とし穴 ― 同意画面のチェック漏れ
そして今回いちばんの落とし穴がこれでした ―― Google のログイン(同意)画面で、アクセス許可のチェックボックスにチェックを入れ忘れていたことが、そもそもの原因だったのです。
Google の同意画面では、アプリが求める権限が一つひとつチェックボックスで表示されることがあります。しかも最初はチェックが外れたまま(未選択)の場合があります。そのため「同意して続行」を押すだけだと、権限を渡したつもりで実は渡せていません。接続そのものは「つながっている」ように見えるのに、中身にはアクセスできない、という状態になります。does not have permission の正体は、この「チェック漏れで権限が付与されなかった」ことでした。
うまくいかないときの確認・リセット手順
- Google 側の付与状況を確認する。
https://myaccount.google.com/permissions(Google アカウントのサードパーティ連携)で、付与した権限が残っているかを見られます。 - クリーンにやり直す。 チェック漏れでやり直す場合は、いったんここから古い連携を削除してから接続し直すと、権限がまっさらな状態から付与できます。
- 会社(組織)アカウントの注意点。 管理者がサードパーティ連携を制限していて、ユーザー側で再接続しても弾かれるケースがあります。個人で解決できないときは、情報システム部門への確認が必要です。
まとめ ― MCP は「つなぐ」より「認証」がヤマ場
MCP そのものの考え方はシンプルでも、実際の詰まりどころは認証(コネクタの接続状態と権限付与)に集中していました。今回得た実践知をまとめると、次のとおりです。
- 「権限がない」エラーは、クエリより先にコネクタの再認証を疑う。
- 同意画面の権限チェックは手動で明示的に。デフォルト未チェックに注意。
- 詰まったら
myaccount.google.com/permissionsで付与状況を確認し、必要なら削除 → 再接続でリセットする。 - 組織アカウントは管理者の制限で弾かれることがある。
これで4つの部品(Skills・Subagents・Hooks・MCP)が出そろいました。次回からは、作った部品をまとめて配る仕組み——Plugin と Marketplace(それぞれ学習編/実践編)を扱います。