Google Docs MCP について
Google Docs MCPは、AIアプリからGoogle Docsを読み書きするMCPサーバーです。範囲を指定した編集、構造やコメントの操作、エクスポートに対応し、読み取りと破壊的操作を区別します。
主な機能
- 01テキスト、構造、Markdownの読み取り
- 02範囲指定の編集と書式設定
- 03リスト、表、画像、コメントの管理
- 04Markdownからの作成とファイル出力
- 05読み取り、書き込み、破壊的操作の区分
活用シーン
- 01文書の内容とコメントスレッドの確認
- 02指定した段落だけを置換
- 03Markdownから文書を作成
- 04文書をPDFまたはDOCXに出力
MCP 対応
読み取り、編集、書式設定、コメント、エクスポート用ツールを通じて、Google Docs APIの機能をMCPクライアントに公開します。会話からOAuth認証を開始できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @a1-x-tech/mcp-google-docsGOOGLE_DOCS_CLIENT_IDGoogle OAuth2 client id (refresh-token flow).GOOGLE_DOCS_CLIENT_SECRETシークレットGoogle OAuth2 client secret (refresh-token flow). Treat it as a secret.GOOGLE_DOCS_REFRESH_TOKENシークレットGoogle OAuth2 refresh token, exchanged for access tokens automatically. Treat it as a secret.GOOGLE_DOCS_ACCESS_TOKENシークレットStatic OAuth2 access token (~1h lifetime) — alternative to the refresh-token trio, mostly for testing.GOOGLE_DOCS_OAUTH_PORTシークレットFixed port for the loopback listener of the in-chat login (127.0.0.1 + PKCE). Set it when the client runs over SSH port forwarding; otherwise a free port is picked per login.GOOGLE_DOCS_API_BASEDocs API root override.GOOGLE_DOCS_DRIVE_API_BASEDrive API root override (markdown import/export, document export, comments).GOOGLE_DOCS_TIMEOUT_MSPer-request timeout in milliseconds.GOOGLE_DOCS_MAX_RETRIESRetries on transient errors (429 always; 5xx/network for reads).ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
27掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
Google Docs MCP
英語 | ロシア語
A1 Google Docs MCP を使うと、AI アプリから自然言語で Google Docs を読み取り、編集できます。ドキュメントをテキストまたは Markdown として読み取り、指定した箇所を変更し、見出し、リスト、表のスタイルを設定したり、コメントスレッドを操作したり、結果を PDF や DOCX にエクスポートしたりできます。
Google アカウントを使って Google Docs API に接続します。推測ではなく、正確なインデックス範囲を指定して編集します。また、あらゆるドキュメント操作が可能であるかのように装うのではなく、Docs API の制限を明示します。
- 27 個のツール。 ドキュメントをテキスト、構造、Markdown として読み取り、正確な範囲を編集し、文字や段落のスタイルを設定し、リスト、表、区切り、画像、コメントスレッドを管理して、PDF、DOCX などにエクスポートします。
- 会話から接続できます。 「Google Docs に接続して」と伝えると、サーバーが OAuth クライアントの設定を案内し、PKCE を使って
127.0.0.1で Google のリダイレクトを受け取り、トークンをサーバー内で管理します。設定ファイルも再起動も不要です。 - 編集はピンポイントです。 変更には正確なインデックス範囲を指定します。また、変更のたびに後続のインデックスがずれるため、編集の前に必ずドキュメントを再読み込みするようアシスタントに促します。
- Markdown のインポートとエクスポートに対応。 Markdown からドキュメントを作成したり、Markdown、PDF、DOCX などにエクスポートしたりできます。ドキュメント全体を Markdown で置き換える操作は、別途、破壊的な操作であることを明示して実行します。
- Drive の機能を隠して公開しません。 エクスポート、Markdown 変換、コメントでは内部的に Drive のエンドポイントを使用しますが、サーバーは汎用の Drive ツールを公開しません。
まずは読み取り専用の質問から始めましょう。
ローンチ計画のドキュメントを読み、未解決のコメントスレッドを要約してください。
サーバーに接続する · 利用例を見る · 技術ドキュメントを開く
1 分で動作を確認
あなた: ローンチ計画のドキュメントのテキストとコメントを表示してください。
アシスタント: ドキュメントを簡潔なテキストブロックとして読み込み、コメントスレッドを一覧表示します。何も変更されません。
あなた: 「Timeline」の段落を、ベータ版の開始日が 3 月 3 日になるように書き換えてください。
アシスタント: 置き換える正確な範囲と変更後の文章を表示し、編集の前に確認を求めます。
あなた: 確認します。
アシスタント: その範囲だけを置き換えます。ドキュメントの残りの部分、書式、コメントはそのまま維持されます。
目次
クイックスタート
Node.js 20+ と Google アカウントが必要です。インストール時に認証情報は必要ありません。サーバーは会話から接続します。
- AI アプリにサーバーを追加します。
- 「Google Docs に接続して」と伝えます。アシスタントが、設定ファイルを編集せずにOAuth クライアントの作成とアクセスの承認を案内します。
- 上記の読み取り専用の質問をします。
Codex
アプリ内: 設定 → MCP サーバーを開き、サーバーを追加を選択して、STDIOを選びます。コマンド npx -y @a1-x-tech/mcp-google-docs@latest と環境変数 GOOGLE_DOCS_CLIENT_ID、GOOGLE_DOCS_CLIENT_SECRET、GOOGLE_DOCS_REFRESH_TOKEN を入力し、保存、再起動の順に選択します。
コマンドラインから:
codex mcp add google-docs \
-- npx -y @a1-x-tech/mcp-google-docs@latest
codex mcp list
Claude Code
claude mcp add \
--transport stdio --scope user google-docs \
-- npx -y @a1-x-tech/mcp-google-docs@latest
claude mcp list
Claude Desktop
現在の公式な手順は 設定 → 拡張機能です。カスタムデスクトップ拡張機能を使用するには、**詳細設定 → 拡張機能の開発者 → 拡張機能をインストール…**を開き、.mcpb ファイルを選択して、画面の指示に従います。
このリポジトリでは現在 npm の stdio パッケージを公開しており、.mcpb バンドルは含まれていません。ローカル設定に引き続き対応している Claude Desktop ビルドでは、次の JSON stdio 設定を代替手段として使用してください。
{
"mcpServers": {
"google-docs": {
"command": "npx",
"args": ["-y", "@a1-x-tech/mcp-google-docs@latest"]
}
}
}
これらのビルドでは、macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json に、Windows の場合は %APPDATA%\Claude\claude_desktop_config.json に保存します。
Cursor
macOS/Linux では ~/.cursor/mcp.json に、Windows では %USERPROFILE%\.cursor\mcp.json に次の内容を追加します。
{
"mcpServers": {
"google-docs": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@a1-x-tech/mcp-google-docs@latest"]
}
}
}
VS Code
MCP: ユーザー設定を開くを実行して、次の内容を追加します。
{
"servers": {
"google-docs": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@a1-x-tech/mcp-google-docs@latest"]
}
}
}
MCP: サーバーを一覧表示で確認します。
どのようなことを依頼できますか
ドキュメントを読み取ってエクスポートする
- このドキュメントを見出しや表も含めてテキストとして読み取り、要約してください。
- ハンドブックのドキュメントのタブツリーを表示してください。
- 仕様書を Markdown としてエクスポートし、契約書を PDF ファイルとして保存してください。
テキストを作成・編集する
- この Markdown から議事録ドキュメントを作成してください。
- 序文の後に要約の段落を挿入してください。
- ドキュメント内の「Q3」をすべて「Q4」に置き換えてください。
- 古くなった料金セクションを削除してください。
書式と構成
- これらの段落を番号付きリストに変換し、この行をレベル 2 の見出しにしてください。
- 重要な用語を太字にして、用語集へのリンクを設定してください。
- ロードマップ用の 3×4 の表を挿入し、ヘッダー行に内容を入力してください。
- 付録の前に改ページを挿入し、公開 URL の画像を追加してください。
コメントを扱う
- 未解決のコメントスレッドを一覧表示して要約してください。
- 期限に関するコメントに返信し、解決済みにしてください。
- 法務確認が必要な文を引用したコメントを追加してください。
ドキュメントの変更の仕組み
create_documentはドキュメントを作成します。空の状態で作成することも、1 回の呼び出しで Markdown から変換して作成することもできます。- コンテンツはインデックスで指定します。これはタブ本文内の UTF-16 位置を表し、挿入や削除のたびに、それより後ろのすべてのインデックスがずれます。サーバーは、各編集の前に
read_document_textから最新のインデックスを取得し、ドキュメントの末尾から逆順に編集するようアシスタントを誘導します。 import_markdownは本文全体を置き換えます。コメントのアンカー、配置済みオブジェクト、ヘッダー/フッター、追加のタブは変換後に保持されません。- タブは読み取りや対象の指定ができますが、API では作成、名前の変更、削除、並べ替えはできません。
- コメントは Drive に保存され、スレッドとして管理されます。テキスト範囲に新しいコメントを固定することはできません。アンカー形式が公開されていないためです。そのため、コメントはドキュメント単位で追加され、必要に応じて対象のテキストを引用できます。
エクスポートの上限は 10 MB で、コメントや提案は含まれません。インライン画像は Google が公開 URL から取得します(PNG/JPEG/GIF、最大 50 MB、2,500 万ピクセル)。画像ファイルをアップロードする手段はありません。
変更できる内容
| 操作 | 内容 | 確認の境界 |
|---|---|---|
| ドキュメント、そのタブ、コメントの読み取り | コンテンツと構造を読み取ります | 変更なし |
| ドキュメントのエクスポート | output_path が設定されている場合はローカルファイルに書き込みます。ドキュメント自体は変更されません | ローカルファイルのみ変更 |
| ドキュメントの作成 | 新しいドキュメントを追加します | Google Docs を変更 |
| テキスト、表、区切り、画像の挿入 | コンテンツを追加します | ドキュメントを変更 |
| テキストや段落のスタイル設定、箇条書きの管理 | 範囲の書式を上書きします | ドキュメントを変更 |
| 範囲の置換や削除、検索と置換 | 既存のコンテンツを削除します | 破壊的操作 |
| ドキュメント全体を Markdown で置換 | 本文全体を置き換えます | 破壊的操作 |
| コメントの管理 | 作成、返信、解決、完全削除を行います | 破壊的な可能性あり |
| 生の API リクエスト | 専用ツールがなくても API メソッドを呼び出せます | 破壊的な可能性あり |
確認プロンプトは AI クライアントが制御します。サーバーは読み取り、書き込み、破壊的なツールに印を付けるため、クライアントは確認と実際の変更を区別できます。
アクセスの取得
Google Docs の利用には OAuth 2.0 が必要です。API キーだけでは不十分です。アクセス方法は 2 つあり、1 つ目は設定ファイルが不要です。
チャットから接続する(推奨)
「connect Google Docs」と伝えると、アシスタントが手順を案内します。
setup_instructionsがチェックリストを表示します。Google Cloud プロジェクトの作成または選択、Google Docs API の有効化、同意画面の設定、Desktop app OAuth クライアントの作成を行います。- クライアントの JSON(「Download JSON」)をダウンロードし、そのパスをアシスタントに伝えます。
set_clientはそのファイルを所有者のみがアクセスできる状態で保存します。シークレットが会話に渡ることはありません。 start_loginが Google の同意リンクを返します。このマシンでリンクを開いて承認してください。コードは127.0.0.1のワンショットリスナー(PKCE)に返され、チャットを経由することはありません。finish_loginがコードを交換し、トークンを~/.config/mcp-google-docs/credentials.json(モード 0600)に保存します。
トークンは呼び出しのたびに再読み込みされるため、AI アプリを再起動せずにすぐ接続できます。auth_status で接続状況を確認でき、logout で接続を取り消して認証情報を削除できます。
環境変数(CI、無人インストール)
-
Google Cloud プロジェクトを作成または選択し、Google Docs API と Google Drive API の両方を有効にします(エクスポート、Markdown 変換、コメントには Drive エンドポイントを使用します)。
-
OAuth 同意画面を設定し、Desktop app OAuth クライアントを作成します。
-
ドキュメントの所有者、または編集権限を持つ Google アカウントを認証します。OAuth 2.0 Playground では、Use your own OAuth credentials を有効にすると、リフレッシュトークンを取得できます。
-
次の両方のスコープをリクエストします。
https://www.googleapis.com/auth/documents https://www.googleapis.com/auth/driveより限定的な設定では、エクスポート、Markdown、コメントの対象がこの OAuth クライアントを通じて作成されたドキュメントのみの場合、
drive.fileで十分です。また、読み取り専用ツールには、読み取り専用の組み合わせであるdocuments.readonly+drive.readonlyで十分です。
テストモードの OAuth リフレッシュトークンは、7 日後に期限切れになる場合があります。長期間アクセスする必要がある場合は、OAuth アプリを公開するか、Workspace ドメインの Internal アプリを使用してください。クライアントシークレットとリフレッシュトークンはパスワードとして扱ってください。
設定
すべての変数は任意です。何も設定しない場合、サーバーはチャットから接続します。
| 変数 | 必須 | 説明 |
|---|---|---|
GOOGLE_DOCS_CLIENT_ID | いいえ* | OAuth クライアント ID。 |
GOOGLE_DOCS_CLIENT_SECRET | いいえ* | OAuth クライアントシークレット。 |
GOOGLE_DOCS_REFRESH_TOKEN | いいえ* | OAuth リフレッシュトークン。 |
GOOGLE_DOCS_ACCESS_TOKEN | いいえ* | OAuth の 3 つの値に代わる短期間有効なトークン(約 1 時間)。 |
GOOGLE_DOCS_OAUTH_PORT | いいえ | チャット内ログイン用の固定ループバックポート。SSH ポートフォワーディング経由で便利です。 |
GOOGLE_DOCS_API_BASE | いいえ | Google Docs API のベース URL の上書き設定。 |
GOOGLE_DOCS_DRIVE_API_BASE | いいえ | Drive API のベース URL の上書き設定(エクスポート、Markdown、コメント)。 |
GOOGLE_DOCS_TIMEOUT_MS | いいえ | リクエストごとのタイムアウト。デフォルトは 60000 ms です。 |
GOOGLE_DOCS_MAX_RETRIES | いいえ | 一時的なエラーに対する再試行回数。デフォルトは 3 です。 |
* OAuth の 3 つの値、またはアクセストークンのいずれかを指定してください。
データ、制限、バックグラウンド処理
- リクエストは Google に送信されます。 ローカルサーバーは Google OAuth トークンを更新して Docs API を呼び出します。エクスポート、Markdown 変換、コメントでは、内部的に Drive API エンドポイントを使用します。匿名テレメトリーに含まれるのは、インストール ID、パッケージのバージョン、AI クライアントとプラットフォームのバージョン、ツール名のみです。OAuth トークン、ドキュメントの内容、ツールの引数、プロンプトは含まれません。オプトアウトするには
ASKADS_TELEMETRY=0を設定してください。 - Google には 1 分あたりのクォータがあります。
429が返された場合、サーバーは待機時間を延ばしながら再試行します。また、読み取りではネットワークエラーと5xxエラーの後にも再試行しますが、書き込みでは不確実な失敗の後に再実行されることはありません。書き込みを再実行すると、編集が重複する可能性があるためです。 - バックグラウンドでのポーリングはありません。 サーバーは呼び出されたときのみ動作します。AI アプリがスケジュールタスクに対応している場合は、ドキュメントやコメントを定期的に確認できます。
技術ドキュメント
- MCP 機能カタログ — 各ツールのタスク別ページ。
- すべてのツールと入力
- 開発ドキュメント
- 公開ドキュメント
- Google Docs API リファレンス
サポート
バグを見つけた場合や、必要なシナリオがある場合は、issue を作成するか、Telegram にご連絡ください。
最後まで読んでいただき、ありがとうございます!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。