0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude DesktopでGoogle Drive連携してみた ~OAuth2.0認証とWSLでの設定~

Posted at

以下は、過去に執筆された2つのQiita記事を参照しつつ、Google Drive連携を中心にまとめた新しいQiita記事のサンプルです。参考リンクとして、

  1. Claude + Perplexity で Deep Research を実現する手順【MCPサーバー構築ガイド】
  2. Claude DesktopでGitHub連携してみた!WSL上でPerplexityとGitHubのMCPサーバーを両立する方法

を適宜参照に譲り、今回の記事では Google DriveのOAuth2.0認証MCPサーバー特有の設定 に焦点を当てています。


はじめに

以前、下記2つの記事でClaude Desktop+MCPサーバーの導入についてまとめました。

  1. Claude + Perplexity で Deep Research を実現する手順【MCPサーバー構築ガイド】
    Perplexity-ask(DeepResearch)をローカルで起動し、WSL上でDocker or Node.jsビルドして使う流れを解説

  2. 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内のファイルを検索・閲覧できるようにします。


今回の記事で言いたいこと

  1. Google Drive連携はOAuth2.0認証が必要
    • APIキーやPATとは異なり、初回にブラウザで認証フローを実行する
    • 認証完了後、資格情報ファイル(トークン)がローカルに生成される
  2. WSLでのパス指定&JSON構文
    • 既存の記事でWSLやDockerの基礎は説明済みなので詳細はそちらを参照
    • ここでは GDRIVE_OAUTH_PATHGDRIVE_CREDENTIALS_PATH をどう指定するかを中心に解説
  3. MCPサーバーとしてのGoogle Drive
    • search ツールを使ってDriveファイルを検索し、Claudeで要約・閲覧を可能にする

それでは具体的に見ていきましょう。


1. 事前知識と参照先

1-1. Claude Desktop+WSL環境構築

1-2. MCPサーバー導入の流れ


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クライアントを作成

  1. Google Cloudコンソールで新規プロジェクト or 既存プロジェクト
  2. APIとサービス → ライブラリ → Drive API を有効化
  3. OAuth同意画面で drive.readonly スコープを追加
  4. 「認証情報を作成」→「OAuthクライアントID (デスクトップアプリ)」
  5. 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. 設定ファイルのポイント

  1. WSL上の絶対パス
    • "/root/gcp-oauth.keys.json" のように書く
    • Windowsの C:\... ではなく WSLパス
  2. bash -i -c
    • Node.jsやnvmが .bashrc に書いてある場合、非対話モードだと読み込まれず npx が見つからない恐れ
    • その場合 "-i" を追加するとよい
  3. JSON構文
    • コメントは書けない
    • 文字列はすべてダブルクォートで囲む
    • シェル内の環境変数は '...'(シングルクォート)
    • エラーが出たら「Expected double-quoted property name...」などを確認

5. 参照・関連記事


6. 今回の記事で言いたかったこと

  1. Google Drive連携OAuth2.0 で初回ブラウザ認証が必要
  2. WSL上の絶対パスや -i オプション が肝
  3. claude_desktop_config.json は純粋なJSON構文なのでコメント等に注意

これで、3つの認証方式(APIキー・Personal Access Token・OAuth2.0)を一通り体験し、Claude Desktop+WSL環境で外部サービスを自由に操れるようになりました。
あとは会話だけでウェブ検索→GitHubプッシュ→Google Driveのファイル要約といったワークフローを楽しんでください!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?