Skip to main content
Glama

google-drive-mcp

Claude Code に Google Drive へのフルスコープアクセス(検索、読み取り、アップロード、名前変更、移動、共有権限の変更)を提供するローカル MCP サーバーです。このサーバーが作成したファイルだけでなく、Drive に既に存在するファイルも操作できます。

既存のコースファイルの名前変更、移動、共有変更といったタスクを実行するために、意図的に広範な https://www.googleapis.com/auth/drive スコープを要求しています。より狭い drive.file スコープではこれらのタスクは不可能だからです。


一度だけのセットアップ

このセットアップは 一度だけ 行います。その後は、すべての Claude Code セッションで google-drive ツールを使用できます。

ステップ 1 — Google Cloud プロジェクトを作成する(既に持っている場合はスキップ)

  1. https://console.cloud.google.com/ にアクセスします。

  2. 上部バー → プロジェクトドロップダウン → 新しいプロジェクト。

  3. app-integrations のような名前を付けます → 作成。数秒待ってから、上部バーでそのプロジェクトが選択されていることを確認します。

ステップ 2 — Google Drive API を有効にする

  1. https://console.cloud.google.com/apis/library/drive.googleapis.com にアクセスします。

  2. プロジェクトが選択されていることを確認 → 有効にする をクリックします。

ステップ 3 — OAuth 同意画面を設定する

  1. https://console.cloud.google.com/auth/overview(API とサービス → OAuth 同意画面)にアクセスします。

  2. プロンプトが表示されたら、ユーザータイプ: 外部 → 作成 を選択します。 (個人の Google アカウントでは外部で問題ありません。「テストユーザー」として登録するだけです。)

  3. 必須項目を入力します:

    • アプリ名: google-drive-mcp(何でも構いません)

    • ユーザーサポートメール: あなたのメールアドレス

    • デベロッパーの連絡先メール: あなたのメールアドレス

    • 保存して次へ進みます。

  4. スコープ ページ:ここでスコープを追加する必要はありません。サーバーが認証時に要求します。保存して次へ進みます。

  5. テストユーザー ページ:+ ユーザーを追加 をクリックし、自分の Google メールアドレス(自分の Google アカウント)を追加します。これはアプリが「テスト中」の間は必須です。保存して次へ進みます。

アプリを公開したり、Google の審査を受ける必要は ありません。テストステータスのアプリは、リストしたテストユーザーに対して無期限に動作します。ただし、テストアプリのリフレッシュトークンは、7日間使用しないと期限切れになる可能性があります。Drive ツールで認証エラーが発生した場合は、npm run auth(ステップ 6)を再実行してください。

ステップ 4 — OAuth クライアントを作成する(デスクトップアプリ)

  1. https://console.cloud.google.com/auth/clients(API とサービス → 認証情報)にアクセスします。

  2. + 認証情報を作成 → OAuth クライアント ID。

  3. アプリケーションの種類: デスクトップアプリ。名前を desktop-mcp にします → 作成。

  4. ダイアログで JSON をダウンロード をクリックします。

ステップ 5 — クライアントファイルをサーバーが期待する場所に配置する

ダウンロードした JSON を次の正確なパス/名前に保存します:

~/.config/google-drive-mcp/gcp-oauth.keys.json

たとえば、~/Downloads/client_secret_XXXX.json にダウンロードされた場合:

mkdir -p ~/.config/google-drive-mcp
mv ~/Downloads/client_secret_*.json ~/.config/google-drive-mcp/gcp-oauth.keys.json

ステップ 6 — 認可する(一度だけ)

cd ~/mcp-servers/google-drive-mcp
npm run auth

これにより URL が表示され、ブラウザが開きます。管理したい Drive の Google アカウントでサインインします。「Google がこのアプリを確認していません」という警告が表示されます(アプリがテスト中であるため予期されます)→ 詳細 → google-drive-mcp(安全ではないページ)に移動 → 続行 → Drive の権限を許可します。

成功すると、~/.config/google-drive-mcp/.gdrive-credentials.json(リフレッシュトークン — 秘密にしてください。既に chmod 600 になっています)が作成されます。

ステップ 7 — 使用する

サーバーは既に ~/.claude.json に google-drive という名前で登録されています。新しい Claude Code セッションを開始すると、gdrive_* ツールが利用可能になります。(MCP サーバーはセッション開始時に読み込まれるため、登録前に開始したセッションでは表示されません。)

簡単な手動スモークテスト(オプション):

cd ~/mcp-servers/google-drive-mcp && npm start
# prints "google-drive-mcp: connected over stdio", then waits. Ctrl-C to quit.

Related MCP server: google-mcp

ツール

ツール

機能

gdrive_search

Drive の q クエリで検索(例:name contains 'syllabus')

gdrive_list_recent

最近変更されたファイルを一覧表示

gdrive_list_children

フォルダの直接の子を一覧表示(デフォルトではゴミ箱内のアイテムは除外)

gdrive_get_metadata

1つのファイルのメタデータとリンク

gdrive_get_links

新しいタブで開くリンクと iframe .../preview 埋め込みリンクを取得

gdrive_create_folder

フォルダを作成(オプションでネスト可能)

gdrive_upload_file

ローカルファイルをパス指定でアップロード(ストリーム — 大きな PDF に適しています)

gdrive_create_text_file

インラインコンテンツからテキストファイルを作成

gdrive_copy

ファイルをコピー(フォルダは不可 — Drive API は1回の呼び出しでフォルダをコピーできません)

gdrive_create_shortcut

既存のファイル/フォルダへのショートカットを作成(1つのアイテムを複数の場所に配置可能)

gdrive_rename

ファイル/フォルダの名前を変更

gdrive_move

親の追加/削除による移動

gdrive_trash

ゴミ箱に移動 — 元に戻せます、Drive は30日間保持

gdrive_untrash

ゴミ箱から復元

gdrive_delete

完全削除、ゴミ箱を経由せず、復元不可 — 保護あり(下記参照)

gdrive_list_permissions

権限を一覧表示(メールアドレス + ロール)

gdrive_share

権限を追加 — {type:'anyone',role:'reader'} = リンク閲覧者; {type:'user',role:'writer',emailAddress:...} = 編集者

gdrive_unshare

ID で権限を削除

削除について

gdrive_trash が推奨される方法です。元に戻せ、Drive はゴミ箱内のアイテムを30日間保持し、gdrive_untrash で元の場所に戻せます。

gdrive_delete は完全かつ復元不可能で、ゴミ箱には入りません。削除する前にアイテムの現在の名前と完全に一致する confirmName が必要で、これにより何かを破壊する前にメタデータの読み取りが強制されるため、古いファイル ID や誤ったファイル ID は間違ったものを削除する代わりにエラーになります。フォルダを削除すると、その中のすべてのアイテムも削除されます。

登録

両方の設定ファイルに登録されています。これらは独立して読み取られるため、一方に登録しても他方ではサーバーが利用可能になりません:

  • ~/.claude.json(Claude Code)

  • ~/Library/Application Support/Claude/claude_desktop_config.json(デスクトップ / Cowork)

それぞれに同一のエントリ:

"google-drive": {
  "command": "/opt/homebrew/bin/node",
  "args": ["/ABSOLUTE/PATH/TO/mcp-servers/google-drive-mcp/index.js"]
}

node への絶対パスが必要であり、スタイル上の選択ではありません。 Finder から起動されたアプリやログイン時に起動されたアプリは、最小限の launchd PATH(/usr/bin:/bin:/usr/sbin:/sbin)を継承するため、Homebrew の /opt/homebrew/bin/node は完全に見えません。単なる "node" では、ターミナルからテストするたびに動作し、毎朝失敗します。~/mcp-servers/trello-mcp/doctor.py は、両方の設定ファイル内のすべてのサーバーについてこれをチェックします。

後で claude CLI をインストールした場合、同等のコマンドは次のとおりです:

claude mcp add --scope user google-drive -- /opt/homebrew/bin/node ~/mcp-servers/google-drive-mcp/index.js

ファイル

  • index.js — MCP サーバー(ツール定義)

  • auth.js — 一度だけの npm run auth ループバック OAuth フロー

  • lib-auth.js — 共有 OAuth/設定ヘルパー

  • ~/.config/google-drive-mcp/gcp-oauth.keys.json — ユーザーが提供(ステップ 5)

  • ~/.config/google-drive-mcp/.gdrive-credentials.json — npm run auth によって作成


履歴書 / ポートフォリオ用

将来の履歴書セッションで再構築するのではなく、正直なバージョンをここに残します。

なぜこれが存在するのか(既に Drive コネクタがあるのに)。 これは組み込みコネクタを置き換えるのではなく、拡張します。ギャップはバルク作業です。プロジェクト途中で命名規則が変わった後に100個のファイルの名前を変更するのは手作業では面倒ですが、スクリプト化すれば簡単で、一度解決すれば恒久的な解決策になります。それが動機となったケースです。

実際に行ったこと: 目標と制約を設定しました。無料のソリューションで、将来のすべてのプロジェクトで同じ時間を節約できるもの。1つのフォルダだけの使い捨てスクリプトではありません。

既知の運用上の注意点: OAuth アプリの公開ステータスがリフレッシュトークンの有効期間を決定します。「テスト中」では約1週間で期限切れになります(invalid_grant)。アプリを公開すると、Cloud プロジェクトを共有するすべての統合でその制限がなくなります。

ポートフォリオ用の箇条書き: ~/mcp-servers/trello-mcp/README.md の共有バージョンを参照してください。これら3つはまとめて説明するのが最適です。

完全なケーススタディ: https://zeno-blade-creator.github.io/projects/personal-integrations.html

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that enables interaction with Google Drive through the Google Cloud API. It allows users to list, read, and upload files directly from MCP-compatible clients like manus.im or Cursor.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for Google Drive, Docs, and Sheets — built for Claude Code. Gives Claude Code direct read/write access to Google Sheets (cell-level edits, formatting, structure), Google Docs (insert, replace, append), and Drive (search).
    40 npm
    1
    MIT