Google Drive MCP Server について
FastMCP を使った Google Drive 用サーバーで、Google Docs の操作を中心にしています。サービスアカウント認証を利用し、ファイル検索と文書のページ単位の読み書きに対応します。
主な機能
- 01Drive ファイルの一覧表示と検索
- 02Google Docs のページ単位の読み取り
- 03タブや範囲を指定した文書への書き込み
- 04サービスアカウント認証
- 05大量のファイル一覧や文書のページ処理
活用シーン
- 01クエリや MIME タイプで Drive ファイルを検索
- 02長い文書を分割して読む
- 03文書への内容の挿入や置換
- 04サービスアカウントに共有されたファイルへのアクセス
MCP 対応
Google Drive ファイルの一覧表示と検索、および Google Docs の読み書きを MCP クライアント向けツールとして提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Google Drive MCP Server
FastMCP で構築された、Google Drive と連携する Model Context Protocol(MCP)サーバーです。Google Docs の操作を中心に、Google Drive のファイルの読み取り、書き込み、検索、一覧表示を行うツールを提供します。
特長
- ファイル操作:ページネーションに対応した Google Drive 内のファイルの一覧表示と検索
- ドキュメントの読み取り:ページネーションとタブ選択に対応した Google Docs のコンテンツの読み取り
- ドキュメントの書き込み:タブ選択と範囲操作に対応した Google Docs への書き込み
- 認証:Google Drive API アクセス用のサービスアカウント認証
- ページネーション:大きなドキュメントやファイル一覧を効率的に処理
セットアップ
1. 依存関係のインストール
uv sync
2. Google API のセットアップ
- Google Cloud Console にアクセスします
- 新しいプロジェクトを作成するか、既存のプロジェクトを選択します
- Google Drive API と Google Docs API を有効にします
- サービスアカウントを作成し、キーを生成します
- サービスアカウントキーのファイルをダウンロードし、プロジェクトのルートに
service-account-key.jsonとして保存します - アクセスする Google Drive のファイルやフォルダーを、サービスアカウントのメールアドレスと共有します
3. サーバーの実行
python -m google_drive_mcp.server
認証フローは不要です。キーのファイルを使用して、サービスアカウントが自動的に認証されます。
利用可能なツール
list_files
オプションのフィルターとページネーションを指定して、Google Drive 内のファイルを一覧表示します。
パラメーター:
folder_id(任意):一覧表示するフォルダーの ID(デフォルト:ルート)page_size(任意):1 ページあたりのファイル数(デフォルト:50、最大:100)page_token(任意):ページネーション用のトークンmime_type(任意):MIME タイプでフィルター(例:'application/vnd.google-apps.document')
search_files
クエリー構文を使用して、Google Drive 内のファイルを検索します。
パラメーター:
query:検索クエリー(例:'name contains "report"')page_size(任意):1 ページあたりのファイル数(デフォルト:50、最大:100)page_token(任意):ページネーション用のトークン
read_document
ページネーションを使用して、Google Docs ドキュメントのコンテンツを読み取ります。
パラメーター:
document_id:Google Docs ドキュメント IDtab_id(任意):読み取る特定のタブ IDstart_index(任意):開始文字インデックス(デフォルト:0)length(任意):読み取る文字数(デフォルト:5000、最大:10000)
write_document
Google Docs ドキュメントにコンテンツを書き込みます。
パラメーター:
document_id:Google Docs ドキュメント IDcontent:書き込むコンテンツtab_id(任意):書き込む特定のタブ IDinsert_index(任意):コンテンツを挿入するインデックス(デフォルト:末尾)replace_start(任意):コンテンツ置換の開始インデックスreplace_end(任意):コンテンツ置換の終了インデックス
使用例
Google Docs を検索する
# Search for documents containing "report"
search_files(query='name contains "report" and mimeType="application/vnd.google-apps.document"')
ページネーションを使用してドキュメントを読み取る
# Read first 5000 characters
read_document(document_id="your_doc_id")
# Read next 5000 characters
read_document(document_id="your_doc_id", start_index=5000)
特定のタブに書き込む
# Write to a specific tab in a document
write_document(
document_id="your_doc_id",
content="Hello, World!",
tab_id="your_tab_id"
)
開発
プロジェクト構成
google_drive_mcp/
├── __init__.py
├── auth.py # Google Drive authentication
└── server.py # FastMCP server implementation
開発環境での実行
# Install in development mode
uv pip install -e .
# Run the server
python -m google_drive_mcp.server
ライセンス
このプロジェクトは MIT License の下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。