Skip to main content
Glama
Stillfrozen

Google Drive MCP Server

by Stillfrozen

title: "Google Drive MCP Server" date: 2026-08-19 tags:

  • プロジェクト/workspace

  • サブプロジェクト/tools

  • タイプ/guide

  • 領域/tech

  • 日付/2026-08-19


Google Drive MCP Server

Cursor、Claude Code、Claude Desktop 用のローカル MCP サーバーです。このサーバーを通じて、エージェントは Google Drive 上のファイルを検索・読み取り、Google Docs や Google Sheets の作成・編集を行います。

Google Docs は読み取り時に Markdown に変換され、スプレッドシートは CSV、プレゼンテーションはテキストになります。Docs はポイント単位で編集可能です: 挿入、置換、スタイル、見出し、リスト、名前変更、複製。Sheets は値、書式、タブ、行と列を操作できます。個人用 Drive と Shared drives の両方で動作します。

リポジトリ: https://github.com/Stillfrozen/gdrive-mcp
wagnerlabs/gdrive-mcp をベースにしています。

OAuth キーはお使いのディスク上にのみ保存されます。git には含まれません。

Google Cloud でのステップバイステップのセットアップ (プロジェクト、API、Desktop OAuth、test users): docs/INSTALL.ru.md


クイックスタート

Node.js 18+ (できれば 20) と、作業対象の Drive を持つ Google アカウントが必要です。

git clone https://github.com/Stillfrozen/gdrive-mcp.git
cd gdrive-mcp
./scripts/install.sh

スクリプトが依存関係をインストールし、プロジェクトをビルドし、Google Cloud の設定を案内します: プロジェクト、API、同意画面、Desktop クライアント、ブラウザでのログイン。最後に MCP クライアント用の完成した設定断片を出力します。

変更せずに手順を確認する場合:

./scripts/install.sh --dry-run

自分で Console を操作したい場合は、docs/INSTALL.ru.md に画面の詳細な解説があります。

Cursor

~/.cursor/mcp.json (またはプロジェクト内の .cursor/mcp.json) に、絶対パス のみを指定します:

{
  "mcpServers": {
    "gdrive": {
      "command": "node",
      "args": ["/absolute/path/to/gdrive-mcp/dist/index.js"],
      "env": {
        "GDRIVE_OAUTH_PATH": "/absolute/path/to/gdrive-mcp/credentials/gcp-oauth.keys.json",
        "GDRIVE_CREDENTIALS_PATH": "/absolute/path/to/gdrive-mcp/credentials/.gdrive-server-credentials.json"
      }
    }
  }
}

env ブロックは、JSON がリポジトリの credentials/ にある場合は必須ではありません。ファイルに他のサーバーが既にある場合は、mcpServers 内に "gdrive" を追加してください。他の設定を上書きしないようにしてください。

次に Cursor → Settings → MCP → Reload を実行します。gdrive インジケーターが緑色になれば成功です。

Claude Code CLI

claude mcp add --scope user gdrive -- node /absolute/path/to/gdrive-mcp/dist/index.js

--scope user はサーバーをグローバルに設定します。解除するには: claude mcp remove gdrive

Claude Desktop

claude_desktop_config.json 内:

{
  "mcpServers": {
    "gdrive": {
      "command": "node",
      "args": ["/absolute/path/to/gdrive-mcp/dist/index.js"]
    }
  }
}

Related MCP server: Google Drive MCP Server

ツール

読み取り

Tool

機能

gdrive_search

全文または Drive クエリ構文による検索

gdrive_get_file

ID によるファイルのメタデータ

gdrive_read_file

コンテンツ: Docs → Markdown、Sheets → CSV、Slides → テキスト

gdrive_list_files

フォルダ内のファイル一覧、並べ替えとページネーション

gdrive_get_spreadsheet_info

スプレッドシートのタブと名前付き範囲

gdrive_get_document_info

Doc のメタデータと、オプションでタブの構造化テキスト

書き込み: Sheets

Tool

機能

Destructive

Idempotent

gdrive_create_sheet

新しいスプレッドシート

いいえ

いいえ

gdrive_update_sheet

セル範囲を上書き

はい

はい

gdrive_append_sheet

データの後に行を追加

いいえ

いいえ

gdrive_clear_values

値をクリア、書式は保持

はい

はい

gdrive_format_cells

範囲の書式設定

いいえ

はい

gdrive_add_sheet_tab

新しいタブ

いいえ

いいえ

gdrive_delete_sheet_tab

データごとタブを削除

はい

いいえ

gdrive_rename_sheet_tab

タブの名前を変更

はい

いいえ

gdrive_insert_rows_columns

空の行または列を挿入

いいえ

いいえ

gdrive_delete_rows_columns

データを含む行または列を削除

はい

いいえ

書き込み: Docs

Tool

機能

Destructive

Idempotent

gdrive_create_doc

空の Doc、指定フォルダに作成可能

いいえ

いいえ

gdrive_insert_doc_text

位置、インデックス、またはテキストアンカーによる挿入

いいえ

いいえ

gdrive_replace_doc_text

範囲またはアンカー一致の置換

はい

いいえ

gdrive_replace_all_doc_text

タブまたは Doc 全体での完全一致をすべて置換

はい

はい

gdrive_delete_doc_text

範囲またはアンカー一致の削除

はい

いいえ

gdrive_update_doc_text_style

太字、色、フォント、リンク

いいえ

はい

gdrive_update_doc_paragraph_style

見出しと段落の配置

いいえ

はい

gdrive_update_doc_list

リスト: 作成、変更、解除

はい

はい

gdrive_rename_doc

Doc ファイルの名前を変更

はい

いいえ

gdrive_duplicate_doc

複製、指定フォルダに作成可能

いいえ

いいえ

セルへの値の書き込み方法

gdrive_update_sheetgdrive_append_sheetvalue_input_option パラメータ:

  • USER_ENTERED (デフォルト) — Sheets の UI での入力と同じ。=SUM(A1:A10) のような数式は実行され、数値と日付は書式設定されます。

  • RAW — そのまま。=SUM(A1:A10) という文字列はテキストのまま残ります。

ファイルの読み取り方法

gdrive_read_file は Workspace ドキュメントを自動的にエクスポートします:

ソース形式

返される内容

Google Docs

Markdown

Google Sheets

CSV (最初のタブのみ)

Google Slides

テキスト

Google Drawings

PNG、実質メタデータ

テキスト (.txt, .json, .js, …)

UTF-8 のまま

バイナリ (画像、PDF、…)

メタデータとブラウザでのリンク

スプレッドシート全体 (タブ、構造、書き込み) は、gdrive_read_file ではなく、gdrive_get_spreadsheet_info と Sheets の write ツールを使用してください。

Doc の段落、見出し、リスト、アンカー編集には gdrive_get_document_info を使用します。レスポンスには生の text と、段落の末尾の改行を含まない displayText があります。displayText の方がアンカーとして安全なことが多いです。Markdown は gdrive_read_file が最も速く取得できます。


セキュリティモデル

複数のレイヤーがあります: MCP アノテーション、「まず読み取り」、Docs にはさらにリビジョンとアンカー、Sheets には現在値の照合。

1. ツールのアノテーション

各ツールは MCP annotations を宣言します。クライアントは破壊的操作の前に確認を求めることができます。上記の表の Destructive / Idempotent 列を参照してください。

2. まず読み取り、それから書き込み

サーバーは、エージェントがこのセッションで既に開いたスプレッドシートと Docs を記憶しています。

スプレッドシートは以下を実行した後に読み取られたと見なされます:

  • gdrive_read_file (セルを CSV として)

  • gdrive_get_spreadsheet_info (構造とタブ)

  • gdrive_create_sheet (エージェントが自分で作成したばかりのファイル)

Doc は以下を実行した後に読み取られたと見なされます:

  • gdrive_read_file (Markdown + Google が提供する場合はリビジョン)

  • gdrive_get_document_info (タブまたは構造化テキスト)

  • gdrive_create_doc

このステップなしの書き込みは拒否されます:

You must read this spreadsheet before writing to it…

You must read this document before writing to it…

これにより、エージェントが誤ったファイルを対象にする可能性が低くなります。リストはプロセス再起動時にリセットされます (各 MCP セッションは新規)。

gdrive_get_file はこれに含まれません: これは Drive のメタデータのみで、コンテンツではありません。

3. リビジョンを考慮した Docs への書き込み

編集は、エージェントが最後に読み取ったリビジョンに紐付けられます:

  • conflict_mode: "strict" (デフォルト) — Docs の requiredRevisionId。ドキュメントが変更された場合、書き込みは失敗します。

  • conflict_mode: "merge" — Docs の targetRevisionId。Google は可能な限り他の編集とマージします。

構造化コンテンツのキャッシュは、gdrive_get_document_info include_content=true の後、セッション内に保持されます。アンカーツール (gdrive_insert_doc_textgdrive_replace_doc_textgdrive_update_doc_paragraph_stylegdrive_update_doc_list) は、リビジョンが同じである限り、このキャッシュを使用します。それ以外の場合は、サーバーがスナップショットを再取得します。

テキストのポイント単位の置換には、expected_text を渡すことができます: 送信前にサーバーが範囲内の文字列が正確に一致するか照合します。

アンカー型の gdrive_delete_doc_textgdrive_replace_doc_text では、一致がタブの末尾に接する場合、サーバーは段落の末尾の改行のみを自動的に切り取ります。Docs API は、セグメントの終端の newline を含む範囲を削除できません。明示的な start_index / end_index ではこれは行われません: 末尾の newline は自分で除外する必要があります。

4. Sheets の前提条件

gdrive_update_sheet にはオプションの expected_current_values があります。これは values と同じ形状の 2 次元配列です。サーバーはセルを読み取り、比較します。一致しない場合、書き込みは拒否され、エラーには実際のコンテンツが含まれます。

  • ポイント単位の編集 (1 セル、数式) — expected_current_values を渡してください。

  • 一括操作 (数千行) — 渡さないでください。リクエストが 2 倍になり、クォータに達します。

include_previous_values: true は監査用に古い値を返します。expected_current_values が指定されている場合、古い値は常に返されます。

ロールバック

Docs と Sheets の編集は Google Workspace のバージョン履歴に表示されます。そこでロールバックできます。

どのツールも Drive からファイル全体を削除しません。 破壊的操作は Doc 内とスプレッドシート内のみです。ファイルの削除は Drive の UI からのみ可能です。


設定

キーへのパスは環境変数で上書きできます:

変数

デフォルト

説明

GDRIVE_OAUTH_PATH

credentials/gcp-oauth.keys.json

Google Cloud からの OAuth クライアント JSON

GDRIVE_CREDENTIALS_PATH

credentials/.gdrive-server-credentials.json

保存された refresh token


アップデート

git pull の後、upgrade を実行してください。プロジェクトを再ビルドし、setup-manifest.json に新しい API や scope が追加された場合は、auth を再実行するよう求めます:

cd /path/to/gdrive-mcp
git pull
./scripts/upgrade.sh

マニフェストが変更されていない場合、スクリプトは再ビルドのみ行い、最新であることを通知します。Cursor は MCP の Reload 後に dist/ を取得します。サーバーの再登録は不要です。

scope について: サーバーは狭い drive.file ではなく、完全な drive を要求します。これは Google の最小推奨よりも広いですが、そうしないと任意の利用可能なファイルを読み取ったり、既存の Docs に書き込んだり (rename、duplicate、編集) できません。構造化読み取りと batchUpdate には documents scope が必要です。

Testing ステータスの External アプリケーションでは、refresh token の有効期限は 7 日間です。その後は invalid_grant となり、再度 npm run auth を実行します。詳細とオプション (Internal / Publish) は docs/INSTALL.ru.md にあります。


制限事項

  • gdrive_create_sheet はスプレッドシートを Drive のルートに配置します。フォルダを選択することはできません。

  • Sheets の gdrive_read_file は最初のタブのみを CSV で返します。他のタブは gdrive_get_spreadsheet_info を使用します。

  • Docs の gdrive_read_file は常に Markdown です。タブ、段落の境界、リスト、アンカーは gdrive_get_document_info を使用します。

  • Doc の書式と構造を変更する前に、まず gdrive_get_document_info include_content=true を読んでください。

  • gdrive_replace_all_doc_text はデフォルトで最初のタブのみを対象にします。すべてのタブを対象にするには、明示的に all_tabs: true を指定する必要があります。


開発

npm install
npm run dev          # tsx, без сборки
npm run build
npm test
npm run test:live    # живой Google Doc, нужны сохранённые credentials
npm run test:watch

npm run test:live は一時的な Doc を作成し、MCP と同じストリームを介してテキストを挿入し、gdrive_get_document_info で確認して、最後にファイルをゴミ箱に入れます。


ライセンス

MIT

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.

  • Securely search and manage workspace context files for AI agents and teams.

  • Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Stillfrozen/gdrive-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server