以下は、過去に執筆された2つのQiita記事を参照しつつ、Google Drive連携を中心にまとめた新しいQiita記事のサンプルです。参考リンクとして、
- Claude + Perplexity で Deep Research を実現する手順【MCPサーバー構築ガイド】
- Claude DesktopでGitHub連携してみた!WSL上でPerplexityとGitHubのMCPサーバーを両立する方法
を適宜参照に譲り、今回の記事では Google DriveのOAuth2.0認証 や MCPサーバー特有の設定 に焦点を当てています。
はじめに
以前、下記2つの記事でClaude Desktop+MCPサーバーの導入についてまとめました。
-
Claude + Perplexity で Deep Research を実現する手順【MCPサーバー構築ガイド】
Perplexity-ask(DeepResearch)をローカルで起動し、WSL上でDocker or Node.jsビルドして使う流れを解説 -
Claude DesktopでGitHub連携してみた!WSL上でPerplexityとGitHubのMCPサーバーを両立する方法
MCPサーバー連携の基礎やWSLでのパス指定、Dockerを使う場合のポイントなどを説明
これらの記事で、「MCPサーバーを追加するとClaudeが外部サービスを使えるようになる」 という点を学びました。
さらに、GitHub連携(Personal Access Token認証)についても触れ、
- DeepResearch(APIキー認証)
- GitHub(PAT認証)
という 2種類の認証 を体験しました。
そこで今回、3つ目の認証 となる Google DriveのOAuth2.0 を導入し、Claude DesktopでGoogle Drive内のファイルを検索・閲覧できるようにします。
今回の記事で言いたいこと
-
Google Drive連携はOAuth2.0認証が必要
- APIキーやPATとは異なり、初回にブラウザで認証フローを実行する
- 認証完了後、資格情報ファイル(トークン)がローカルに生成される
-
WSLでのパス指定&JSON構文
- 既存の記事でWSLやDockerの基礎は説明済みなので詳細はそちらを参照
- ここでは
GDRIVE_OAUTH_PATH
やGDRIVE_CREDENTIALS_PATH
をどう指定するかを中心に解説
-
MCPサーバーとしてのGoogle Drive
-
search
ツールを使ってDriveファイルを検索し、Claudeで要約・閲覧を可能にする
-
それでは具体的に見ていきましょう。
1. 事前知識と参照先
1-1. Claude Desktop+WSL環境構築
-
WSLのインストール、
claude_desktop_config.json
の基本書き方、Dockerを使う/使わない等は
→ Claude DesktopでGitHub連携してみた!WSL上でPerplexityとGitHubのMCPサーバーを両立する方法 を参照
1-2. MCPサーバー導入の流れ
- 「ソースをクローン or npxでパッケージ実行」「環境変数にトークンを設定」「claude_desktop_config.jsonで起動コマンドを指定」
→ Claude + Perplexity で Deep Research を実現する手順【MCPサーバー構築ガイド】 で解説済み -
GitHub連携(PAT認証)は
npx -y @modelcontextprotocol/server-github
- こちらも詳しくは過去記事をどうぞ
2. Google Drive MCPサーバーの特徴
2-1. 認証にOAuth2.0が必須
Google Drive APIを呼び出すには、Google Cloudプロジェクトを作成し、
- Drive API有効化
- OAuth同意画面設定
- OAuthクライアントIDのJSONを取得
が必要です。これはAPIキーやPATでは代用できない大きな違いです。
2-2. 初回に auth
引数でブラウザ認証
npx -y @modelcontextprotocol/server-gdrive auth
を実行すると、ターミナルにURLが表示される → ブラウザで開いてGoogleログイン → 同意すると.gdrive-server-credentials.json
が生成。
以後は auth
なしでOK。
3. 実装ステップ
Step1. Google CloudでOAuthクライアントを作成
- Google Cloudコンソールで新規プロジェクト or 既存プロジェクト
- APIとサービス → ライブラリ → Drive API を有効化
- OAuth同意画面で
drive.readonly
スコープを追加 - 「認証情報を作成」→「OAuthクライアントID (デスクトップアプリ)」
- JSONをダウンロードし、
gcp-oauth.keys.json
にリネーム
詳しくは公式ドキュメントを参照。
Step2. WSL上にキーJSONを配置
cp /mnt/c/Users/MyName/Downloads/client_secret_xxx.json /root/gcp-oauth.keys.json
- Windowsのダウンロードフォルダ→WSLの
/root/
にコピー - あるいは
export GDRIVE_OAUTH_PATH="/root/gcp-oauth.keys.json"
のようにパスを環境変数に指定
Step3. 初回認証 (auth
)
export GDRIVE_OAUTH_PATH="/root/gcp-oauth.keys.json"
export GDRIVE_CREDENTIALS_PATH="/root/.gdrive-server-credentials.json"
npx -y @modelcontextprotocol/server-gdrive auth
- ターミナルにURLが表示される → ブラウザで開く → Googleアカウントログイン → スコープ承認
- 成功すると
.gdrive-server-credentials.json
が生成
Step4. Claude Desktopの設定
{
"mcpServers": {
"gdrive": {
"command": "wsl",
"args": [
"bash",
// もしnvm経由でnpxを使うなら -i オプションをつけるのも手
// "-i",
"-c",
"export GDRIVE_OAUTH_PATH='/root/gcp-oauth.keys.json'; export GDRIVE_CREDENTIALS_PATH='/root/.gdrive-server-credentials.json'; npx -y @modelcontextprotocol/server-gdrive"
]
}
}
}
- 注意: JSON構文エラーに気を付ける(ダブルクォート、コメント不可など)
-
-i
をつけるか はnvm設定状況次第。npx: command not found
となるなら-i
を推奨
Step5. ClaudeでDriveを使ってみる
Claude Desktopを再起動 → 右上ハンマーアイコンに gdrive
が表示される。
- 「Google Driveで 'レポート' という名前のファイルを検索して」
- Claudeが
search
ツールを呼び出し、ファイル一覧を返す -
gdrive:///<file_id>
の内容を要約… などの操作ができる
4. 設定ファイルのポイント
-
WSL上の絶対パス
-
"/root/gcp-oauth.keys.json"
のように書く - Windowsの
C:\...
ではなく WSLパス
-
-
bash -i -c
- Node.jsやnvmが
.bashrc
に書いてある場合、非対話モードだと読み込まれずnpx
が見つからない恐れ - その場合
"-i"
を追加するとよい
- Node.jsやnvmが
-
JSON構文
- コメントは書けない
- 文字列はすべてダブルクォートで囲む
- シェル内の環境変数は
'...'
(シングルクォート) - エラーが出たら「Expected double-quoted property name...」などを確認
5. 参照・関連記事
-
Claude DesktopでGitHub連携してみた!WSL上でPerplexityとGitHubのMCPサーバーを両立する方法
- ソースをクローンしてビルドする方法やAPIキー認証について解説
-
Claude DesktopでGitHub連携してみた!WSL上でPerplexityとGitHubのMCPサーバーを両立する方法
- MCPサーバーをDockerで起動する際の注意点、WSL環境の基本設定など
-
GitHub連携(PAT認証)
- 同様に
npx -y @modelcontextprotocol/server-github
+GITHUB_PERSONAL_ACCESS_TOKEN
を設定して導入
- 同様に
6. 今回の記事で言いたかったこと
- Google Drive連携は OAuth2.0 で初回ブラウザ認証が必要
-
WSL上の絶対パスや
-i
オプション が肝 - claude_desktop_config.json は純粋なJSON構文なのでコメント等に注意
これで、3つの認証方式(APIキー・Personal Access Token・OAuth2.0)を一通り体験し、Claude Desktop+WSL環境で外部サービスを自由に操れるようになりました。
あとは会話だけでウェブ検索→GitHubプッシュ→Google Driveのファイル要約といったワークフローを楽しんでください!