google-docs-mcp について
google-docs-mcpは、AIアシスタントでGoogle Docsのコメントとその文脈を確認したい人向けの読み取り専用MCPサーバーです。Googleアカウントで読み取り専用認証を行い、コメントスレッド、文書テキスト、メタデータを提供します。
主な機能
- 01コメントスレッドと文脈の一覧
- 02コメントの状態と活動の集計
- 03IDによるコメント取得
- 04文書テキストとメタデータの取得
- 05タイトルまたは本文によるDrive文書検索
- 06読み取り専用スコープでのOAuth認証
活用シーン
- 01未解決の文書フィードバックの要約
- 02特定の参加者の対応待ちコメントの検索
- 03引用箇所と合わせたコメントの確認
MCP 対応
stdio経由でMCPクライアントにGoogle DocsとDriveの読み取りツールを提供します。ユーザーのGoogleアカウントと読み取り専用OAuthスコープで認証します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 1 日前に更新
このツールにパラメーターはありません。
詳細
google-docs-mcp
Google Docs 向けの読み取り専用Model Context Protocol サーバーです。 AI アシスタント(Claude または任意の MCP クライアント)にドキュメントのコメントを詳しく説明します。 各コメントの作成者、作成日時、対象のテキスト、未解決か解決済みか、返信スレッド全体、 および解決したユーザーを確認できます。
- 設計上、読み取り専用です。
documents.readonlyとdrive.readonlyスコープのみをリクエストします。作成、編集、解決、削除を行うツールはなく、すべてのツールにreadOnlyHint: trueが設定されています。 - OAuth 2.0 でサインインします。 ユーザーは PKCE を使用するデスクトップアプリのフローで、自分の Google アカウントを認証します。トークンはローカルに保存され、自動的に更新されます。
- アシスタントの設定は不要です。 ツールにはドキュメント ID または Google Docs の完全な URL を指定できます。
José Antonio Garrido が開発しました。私が開発した開発者向けツールについて、ブログ josegarrido.devで紹介しています。
ツール
| ツール | 機能 |
|---|---|
list_comments | メインのツールです。 すべてのコメントの詳細(作成者、日付、未解決/解決済みの状態、引用テキスト、返信スレッド全体(解決または再開したユーザーを含む)、およびオプションで引用テキストが含まれるドキュメントの段落)を取得します。状態でのフィルタリング、削除済みコメントの表示、ページ分割、markdown または json 出力の選択が可能です。 |
get_comments_summary | 集計情報を表示します。状態別の件数、参加者とそのアクティビティ、返信のない未解決コメント、元の作成者からの返信を待っている未解決コメント、最も古い未解決コメント、最新のアクティビティを確認できます。 |
get_comment | ID で指定した単一のコメントスレッドを、コンテキストとともに取得します。 |
get_document | ドキュメントのメタデータとプレーンテキストのコンテンツ(すべてのタブ)を取得し、コメントの対象をアシスタントが理解できるようにします。 |
list_documents | タイトルまたは全文で Google Drive 内の Google Docs を検索します(共有ドライブも含みます)。 |
get_auth_status | サーバーのサインイン状態とサインイン中のアカウントを確認します。 |
例:list_comments
# Q4 project plan
- Document ID: `1AbC...`
- Link: https://docs.google.com/document/d/1AbC.../edit
- Owner: Ana <[email protected]>
- Last modified: 2026-09-22 08:00 UTC by Jose <[email protected]> (you)
## Comments (all): 2
### [1] 🟢 OPEN — Ana <[email protected]> · 2026-09-22 08:00 UTC
**Quoted text (what the comment refers to):**
> delivery date
**Surrounding paragraph (#7):**
> The delivery date will be shared with the client once the scope is final.
**Comment:**
The delivery date is missing.
_No replies yet._
Comment ID: `AAAAxyz`
### [2] ✅ RESOLVED — Ana <[email protected]> · 2026-09-20 10:32 UTC
...
**Thread (2 replies):**
- Jose <[email protected]> (you) · 2026-09-21 09:00 UTC: Yes, moving it.
- Jose <[email protected]> (you) · 2026-09-21 12:00 UTC — marked as RESOLVED
Resolved by Jose <[email protected]> (you) on 2026-09-21 12:00 UTC.
クイックスタート
前提条件
- Node.js >= 20
- Google Drive API と Google Docs API を有効にした Google Cloud プロジェクト
1. Google Cloud で OAuth クライアントを作成する
- Google Cloud Console を開き、プロジェクトを作成するか選択します。
- APIs & Services → Library:Google Drive API と Google Docs API を有効にします。
- APIs & Services → OAuth consent screen:設定します。Workspace 組織では Internal を使用します。テストモードの External アプリでは、自分のアカウントをテストユーザーとして追加します。
- APIs & Services → Credentials → Create credentials → OAuth client ID を選択し、アプリケーションの種類として Desktop app を選びます。
- JSON をダウンロードし、
~/.config/google-docs-mcp/credentials.jsonとして保存します。
ファイルの代わりに環境変数を使用することもできます。
export GOOGLE_CLIENT_ID="...apps.googleusercontent.com"
export GOOGLE_CLIENT_SECRET="..."
2. Google にサインインする
npx -y -p @yeyo11/google-docs-mcp google-docs-mcp-auth
ブラウザーが開きます(または URL が表示されるので、コピーして貼り付けてください)。Google から Drive と
Docs への読み取り専用アクセスを求められます。トークンは 0600 の権限で ~/.config/google-docs-mcp/token.json に保存されます。同じコマンドを
もう一度実行すると、アカウントを切り替えられます。
3. MCP クライアントにサーバーを登録する
クローンやビルドの手順は不要です。初回の使用時に、npx がパッケージを取得します。
Claude Desktop(claude_desktop_config.json):
{
"mcpServers": {
"google-docs": {
"command": "npx",
"args": ["-y", "@yeyo11/google-docs-mcp"]
}
}
}
Claude Code:
claude mcp add google-docs -- npx -y @yeyo11/google-docs-mcp
stdio サーバーに対応している他の MCP クライアントも、同じ方法で動作します。OAuth クライアントに環境変数を使用する場合は、クライアント設定の env ブロックに追加してください。
ソースから実行する場合
git clone https://github.com/yeyo11/google-docs-mcp.git
cd google-docs-mcp
npm install
npm run build
npm run auth
次に、MCP クライアントの接続先を node /absolute/path/to/google-docs-mcp/dist/index.js に設定してください。
4. 質問してみましょう
「https://docs.google.com/document/d/…/edit の未解決コメントを要約して、どのコメントが私の対応待ちか教えてください。」
設定
| 変数 | 説明 | デフォルト |
|---|---|---|
GOOGLE_OAUTH_CREDENTIALS | OAuth クライアント JSON のパスです。 | ~/.config/google-docs-mcp/credentials.json |
GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET | JSON ファイルの代わりに使用します。 | — |
GOOGLE_DOCS_MCP_TOKEN_PATH | ユーザーのトークンの保存先です。 | ~/.config/google-docs-mcp/token.json |
GOOGLE_DOCS_MCP_CONFIG_DIR | 上記 2 つのファイルのベースディレクトリです。 | ~/.config/google-docs-mcp |
動作の仕組み
MCP client ──stdio──▶ google-docs-mcp ──OAuth2 (read-only)──▶ Google Drive API (files, comments)
└▶ Google Docs API (document text)
- コメントは Drive API(
comments.list/comments.get)から取得し、すべてのフィールドを明示的にリクエストするため、引用テキスト、返信、resolve/reopenアクション、削除フラグなどが暗黙に除外されることはありません。 - 「前後の段落」は、Docs API から取得したドキュメント本文内で引用テキストを検索して特定します(テーブルを含むすべてのタブを検索します)。
- Google API のエラー(401/403/404/429)は、セッションを中断する代わりに、対処方法を示すメッセージとともに MCP の
isError結果として返されます。ログはstderrに出力され、stdoutはプロトコル専用です。
開発
npm run dev # run the server from src/ with tsx
npm run typecheck # type-check without emitting
npm test # smoke test: tool listing, error handling without credentials, comment formatting
ワークフローとコミット規約については、CONTRIBUTING.md を参照してください。
セキュリティ
- 読み取り専用のスコープのみをリクエストします。Google がこのクライアントに書き込みアクセスを許可することはありません。
- 保存されたトークンに必要なスコープが含まれていない場合、サーバーはその使用を拒否し、再度サインインするよう求めます。
credentials.jsonとtoken.jsonは Git の追跡対象外です。絶対にコミットしないでください。- アクセスを取り消すには、https://myaccount.google.com/permissions でアプリを削除し、
token.jsonを削除してください。
脆弱性の報告については、SECURITY.md を参照してください。
制限事項(v0.1)
- 読み取り専用です。コメントの作成、返信、解決はできません。
- インストールごとに Google アカウントを 1 つ使用します(
npm run authで切り替えます)。 - 前後の段落は引用テキストを検索して特定します。コメントが付けられた後にそのテキストが編集されていると、見つからない場合があります。
ロードマップ
- 明示的なオプトインスコープを使用する、任意の書き込みツール(返信、解決)
- 複数のアカウント/プロフィール
- リモートデプロイ向けの Streamable HTTP トランスポート
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。