google-docs-mcp-server について
google-docs-mcp-serverは、Google WorkspaceユーザーがMCP経由でGoogle Docsを読み書きするためのサーバーです。入れ子のタブに対応し、見出し構造を保ってMarkdownに変換します。
主な機能
- 01入れ子のドキュメントタブを一覧表示
- 02タブを構造化Markdownとして読み取り
- 03ドキュメント作成とテキスト編集
- 04書式や更新の一括適用
- 05Drive内のドキュメント検索
活用シーン
- 01ドキュメント内の全タブを読む
- 02指定タブへの追記やテキスト置換
- 03書式や表の更新を一括適用
MCP 対応
Google DocsとDriveの操作をツールとしてMCPクライアントに提供し、タブ単位の読み書きにも対応します。認証にはドメイン全体の委任を設定したGoogleサービスアカウントを使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx google-docs-mcp-serverSERVICE_ACCOUNT_PATHPath to the Google service account JSON key fileSUBJECT_EMAILEmail of the Workspace user to impersonate via domain-wide delegationローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Google Docs MCP サーバー
Google Docs 用の Model Context Protocol サーバーです。タブを完全にサポートしており、多くの既存サーバーが正しく扱えていない、または完全に見落としている機能です。
Google サービスアカウントとドメイン全体の委任を使用するため、OAuth 同意画面なしで Workspace 組織で動作します。
できること
| ツール | 説明 |
|---|---|
list_tabs | ドキュメント内のすべてのタブ(ネストされたタブを含む)を一覧表示します |
read_document | 1 つのタブ、またはすべてのタブを適切な見出しレベルのマークダウンとして読み取ります |
get_document_info | 軽量なメタデータを取得します:タイトル、ID、リンク、タブ一覧 |
create_document | 任意の初期テキストを指定して新しいドキュメントを作成します |
append_text | 指定したタブの末尾にテキストを追加します |
insert_text | タブ内の文字インデックス位置にテキストを挿入します |
replace_text | タブ内(またはドキュメント全体)を検索して置換します |
batch_update | 書式設定、表、画像、スタイルなど、batchUpdate へのフルアクセスを提供します |
list_documents | Drive で名前を指定してドキュメントを検索します |
タブを対象とするすべてのツールは、tab_id または tab_title(大文字と小文字を区別しない)を受け付けます。batch_update ツールはリクエストに tabId を自動的に挿入するため、手動で指定する必要はありません。
このサーバーを作成した理由
Google Docs は 2024 年後半からタブをサポートしていますが、多くの MCP サーバーは次のいずれかの問題を抱えています。
- タブを完全に無視する(最初のタブしか読み取らない)
includeTabsContent=Trueを使用しないため、タブの内容が見えない- ネストされたタブを扱えない
このサーバーはこれらすべてに正しく対応し、適切な見出し構造のマークダウンに変換します。
インストール
pip install google-docs-mcp-server
または、uv を使って直接実行します。
uvx google-docs-mcp-server
前提条件
- Python 3.11+
- ドメイン全体の委任が設定された Google Cloud サービスアカウント
セットアップ
1. GCP サービスアカウントを作成する
- Google Cloud Console にアクセスし、プロジェクトを作成(または選択)します
- Google Docs API と Google Drive API を有効にします
- IAM & Admin > Service Accounts でサービスアカウントを作成します
- JSON キーを作成してダウンロードします
2. ドメイン全体の委任を有効にする
- GCP で、サービスアカウントの詳細ページを開き、Domain-wide Delegation を有効にして Client ID を控えます
- Google Workspace Admin の Security > API Controls > Domain-wide Delegation に移動します
- 次のスコープを指定して Client ID を追加します。
https://www.googleapis.com/auth/documents https://www.googleapis.com/auth/drive.readonly
3. MCP クライアントを設定する
MCP 設定に追加します(例:~/.claude/mcp.json または .mcp.json)。
{
"mcpServers": {
"google-docs": {
"command": "uvx",
"args": ["google-docs-mcp-server"],
"env": {
"SERVICE_ACCOUNT_PATH": "/path/to/your-service-account-key.json",
"SUBJECT_EMAIL": "[email protected]"
}
}
}
}
SUBJECT_EMAIL は、サービスアカウントが偽装する Workspace ユーザーです。
環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
SERVICE_ACCOUNT_PATH | はい | サービスアカウントの JSON キーファイルへのパス |
SUBJECT_EMAIL | はい | 偽装する Workspace ユーザーのメールアドレス |
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。