Google Docs について
Google Docs は、AI システムによる文書の読み取りと編集に対応する MCP サーバーです。Google Docs API の操作を提供し、トークンや状態を保持せずに OAuth を中継します。
主な機能
- 01全タブの文書テキスト取得
- 02文書の生データ構造取得
- 03空の文書の作成
- 04複数編集の一括適用
- 05テキストの追記・挿入・置換
活用シーン
- 01契約書の内容に基づく質問回答
- 02会議後のチーム文書更新
- 03資料を基にした告知文の作成
- 04日々の計画ログの管理
MCP 対応
Google Docs の読み取り・編集ツールを MCP クライアントに提供します。OAuth を中継し、ベアラートークンを使って Google Docs API を呼び出します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y google-documents-mcpGOOGLE_ACCESS_TOKENシークレットGoogle OAuth access token with Docs scope.MCP_TRANSPORTTransport type.GOOGLE_CLIENT_IDGoogle OAuth client ID.GOOGLE_CLIENT_SECRETシークレットGoogle OAuth client secret.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
google-documents-mcp
Google Docs 用の MCP サーバーです。ドキュメントの読み取りと編集ができます。
ユースケース
ドキュメントに関する Q&A:「契約書には解除条項について何と書かれていますか?」→ ドキュメントを読み、該当するセクションを抜き出します。
会議からドキュメントを作成するワークフロー:通話後、Gemini の文字起こしとその後の Slack での議論を読み、決定事項をチーム憲章に反映します。
リリース告知:「GitHub の PR と #proj-awesome の Slack での議論をもとに、新機能についてのブログ記事を作成してください」→ 技術的な変更をユーザー向けのコンテンツにまとめます。
永続的なコンテキストを活用した日々の計画:AI アシスタントが毎日の開始時に「計画ログ」ドキュメントを読み、前日の進捗を尋ね、今日の優先事項の特定を支援し、計画をドキュメントに反映します。セッションをまたいでコンテキストが引き継がれるため、以前に行うと言ったことを記憶し、進捗を確認できます。
(これらはあくまで例です。ドキュメントの読み取りや編集が必要なワークフローであれば、どのようなものでも利用できます。ファイルの検索、削除、コメント、共有権限の管理には google-drive-mcp と組み合わせて使用してください。)
セットアップ
1. Google OAuth 認証情報を作成する
- Google Cloud Console にアクセスします
- 新しいプロジェクトを作成します(または既存のものを使用します)
- Google Docs API を有効にします
- APIs & Services → OAuth consent screen に移動し、同意画面を設定します
- APIs & Services → Credentials → Create Credentials → OAuth client ID に移動します
- Web application を選択します
- Authorized redirect URIs に
http://localhost:3000/callbackを追加します - Client ID と Client Secret を控えておきます
2. サーバーを起動する
GOOGLE_CLIENT_ID='your-client-id' \
GOOGLE_CLIENT_SECRET='your-client-secret' \
MCP_TRANSPORT=http \
npm start
サーバーはデフォルトで http://localhost:3000 で起動します。変更するには PORT=3001 を指定します。
3. MCP クライアントに追加する
サーバーを起動した状態で、install-mcp の手順に従ってください。MCP クライアント(Claude Code、Claude Desktop、Cursor、Cline、VS Code など)に適した設定が生成されます。
アーキテクチャ
このサーバーは Google への OAuth プロキシとして動作します。
graph LR
A[MCP client] <--> B[google-documents-mcp] <--> C[Google OAuth/API]
- サーバーは
/.well-known/oauth-authorization-serverを通じて、自身を OAuth 認可サーバーとして公開します /registerは Google OAuth クライアントの認証情報を返します/authorizeは、クライアントのコールバック URL を state にエンコードして Google にリダイレクトします/callbackは Google からコードを受け取り、クライアントのコールバックに転送します/tokenはクライアントの認証情報を挿入し、トークンリクエストを Google に中継します/mcpは MCP リクエストを処理し、ベアラートークンを使って Google Docs API を呼び出します
このサーバーはトークンや状態を保持せず、Google へのプロキシとしてのみ動作します。
ツール
| ツール | 説明 |
|---|---|
document_get_raw | すべてのタブ、書式、ヘッダー、フッター、スタイルを含む、ドキュメント全体の未加工 JSON 構造を取得します |
document_get_text | すべてのタブのプレーンテキストを取得します |
document_create | 空の新規ドキュメントを作成します |
document_batch_update | 複数の編集を一括で適用します(挿入、削除、書式設定など) |
document_append | ドキュメントの末尾にテキストを追加します |
document_insert | 指定したインデックスにテキストを挿入します |
document_replace | テキストを検索して置換します |
batch_update リクエストの種類
document_batch_update ツールでは、次の操作をサポートしています。
insertText- 指定した位置にテキストを挿入しますdeleteContentRange- コンテンツの範囲を削除しますreplaceAllText- 一致するテキストをすべて検索して置換しますinsertInlineImage- 画像を挿入しますinsertTable- 表を作成しますinsertTableRow/insertTableColumn- 表に行または列を追加しますdeleteTableRow/deleteTableColumn- 表から行または列を削除しますinsertPageBreak- 改ページを追加しますcreateNamedRange/deleteNamedRange- 名前付き範囲を管理しますcreateParagraphBullets/deleteParagraphBullets- 箇条書きを管理します
Google Docs API のスコープ
documents- ドキュメントの読み取りと編集へのフルアクセス
コントリビューション
GitHub でのプルリクエストを歓迎します!始めるには、次の手順に従ってください。
- Git と Node.js をインストールします
- リポジトリをクローンします
npm installで依存関係をインストールしますnpm run testを実行してテストを実行しますnpm run buildでビルドします
リリース
バージョンはセマンティックバージョニング仕様に従います。
リリースするには、次の手順に従ってください。
npm version <major | minor | patch>を使用してバージョンを更新しますgit push --follow-tagsを実行してタグとともにプッシュします- GitHub Actions が NPM レジストリに公開するまで待ちます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。