
Google Driveに保存しているものをMCPから検索と読み込みさせてみる
こんばんは、製造ビジネステクノロジー部の夏目です。
今回はMCPを使ってGoogle Driveを触ってみようと思いますう。
gdrive-mcp-server
3rd Party製のGoogle Driveの中を読み取るMCP Server。
OAuthを使ってアクセストークンを取得するので、その人が見れないファイルを見ることはできません。
そのため、認証情報を取得するまでが結構難しくなっております。
使用準備
OAuthで認証するので今回は準備が長くなっています。
- Google CloudのProjectを作成する
- Google Drive APIを使用可能にする
- OAuthの同意画面を設定する
- (Googleアカウントの場合) テストユーザーを登録する
- OAuthのクライアントIDを作成する
- MCPサーバーをCloneしBuildする
- 認証する
- MCPサーバーをクライアントに登録する
1. Google CloudのProjectを作成する
次のリンクにアクセスして、Google CloudのProjectを作成します。
https://console.cloud.google.com/projectcreate

プロジェクト名に任意の名前を付けます (見分けできる名前であればいい)。
今回は Google Drive MCP という名前でプロジェクトを作ります。
場所は見たいGoogle Driveの組織を選択してください。
今回は個人のGoogleアカウントを使用しているので、 組織なしのままです。
入力したら 作成 をクリックします。

左上の黒丸が3つ並んだところをクリックして、先ほど作成したプロジェクトを選びます。
(スクリーンショットではdelete-playlistと書かれているところ。個人のアカウントでGoogle Cloudを過去使ったことがあるので、このように表示されてしまっています)

Google Drive MCPというプロジェクトをクリックします。
プロジェクトの作成と選択が終わりました。
2. Google Drive APIを使用可能にする

左上のハンバーガーメニューをクリックします。

ソリューション に すべてのプロダクト をクリックします。

APIとサービス をクリックします。

APIとサービスを有効にする をクリックします。

APIとサービスを検索 と書かれた検索窓に Google Drive と書いて検索します。

Google Drive API をクリックします。

有効にする をクリックします。

Google Drive APIを有効化できました。
3. OAuthの同意画面を設定する

左の OAuth 同意画面 をクリックします。

開始 をクリックします。

アプリ名 に任意の名前を入力し、 ユーザー サポートメール を選択します。
今回はアプリ名に Google Drive MCP と入力しました。
次へ をクリックします。

対象を選択します。
MCPサーバーのREADME.mdによると、 内部 はGoogle Workspaceを使用している場合に、 外部 は個人のGoogleアカウントを使用している場合に選択すると書いてあります。
今回は個人のGoogleアカウントを使用するので 外部 を選択し、 次へ をクリックします。

メールアドレス にメールアドレスを入力し、 次へ をクリックします。

Google APIサービス:ユーザーデータに関するポリシー を確認し、チェックボックスにチェックを入れます。
続行 をクリックします。

作成 をクリックします。

同意画面の作成ができました。
4. (Googleアカウントの場合) テストユーザーを登録する

対象 をクリックします。

Add users をクリックします。

使用するGoogleアカウントのメールアドレスを入力し、 保存 をクリックします。

ユーザー情報 に追加されていることがわかります。
5. OAuthのクライアントIDを作成する

クライアント をクリックします。

クライアントを作成 をクリックします。

アプリケーションの種類 で デスクトップアプリ を選択します。

名前 に任意の名前を入力します。
今回は Google Drive MCP を入力しました。
入力したら 作成 をクリックします。

クライアントの作成ができました。
後で使うので JSONをダウンロード をクリックしてダウンロードしておきます。
6. MCPサーバーをCloneしBuildする
# MCPサーバーをCloneする
$ git clone https://github.com/felores/gdrive-mcp-server.git
$ gdrive-mcp-server
# 依存ライブラリをインストールする
$ npm install
# Buildする
$ npm run build
7. 認証する
手順5. の最後でダウンロードしたJSONファイルを使用します。
# 認証情報を置くディレクトリを作成する
$ mkdir credentials
# 手順5. の最後でダウンロードしたJSONファイルをコピーする
$ cp "/path/to/download-json-file" credentials/gcp-oauth.keys.json
# 認証
$ node dist/index.js auth
最後のコマンドを実行すると、ブラウザが起動し認証をします。

ブラウザでは仕事のGoogle Workspaceと個人のGoogleアカウント両方でログインしていたので、アカウントの選択画面が出ました。
手順4. で登録したメールアドレスの方のアカウントをクリックします。

今回のOAuthは外部向けでまだテスト用のものなので、Googleで確認されていません、と表示されます。
続行 をクリックします。

確認画面が出るので 続行 をクリックします。

認証が完了しました。
credentialsディレクトリに .gdrive-server-credentials.jsonが作成されているはずです。
このファイルの中にAccess Keyが格納されています。
Access Keyは一時間有効なので、それ以後は node dist/index.js auth を実行する必要があります。
8. MCPサーバーをクライアントに登録する
{
"mcpServers": {
"gdrive": {
"command": "node",
"args": ["path/to/gdrive-mcp-server/dist/index.js"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "path/to/gdrive-mcp-server/credentials/gcp-oauth.keys.json",
"MCP_GDRIVE_CREDENTIALS": "path/to/gdrive-mcp-server/credentials/.gdrive-server-credentials.json"
}
}
}
}
args には認証するのに使った index.js へのフルパスを書きます。
GOOGLE_APPLICATION_CREDENTIALS にはcredentialsディレクトリの gcp-oauth.keys.json ファイルへのフルパスを書きます。
MCP_GDRIVE_CREDENTIALS にはcredentialsディレクトリの .gdrive-server-credentials.json ファイルへのフルパスを書きます。
これで設定は完了です。
使ってみる

自分のGoogle Driveから過去の登壇資料を探してみました。
探した上で、その中身を見てまとめてくれました。
まとめ
以上、Google Driveを見るMCPサーバーを試してみました。
認証を1時間ごとに試さないといけないのは面倒ではありますが、見える範囲の制御とかできているのはいいですね。
認証情報にはRefresh Tokenが含まれていたので、それを使ってAccess Tokenを更新できるようにしてくれると便利になると思います。







