MCPでClaudeとGoogleカレンダーを連携する

Googleカレンダーの情報が取得できるMCPサーバーを活用して、AIに自分のGoogleカレンダーを参照してもらう方法です。Googleの認証は手順が複雑に見えるかもしれませんが、1つ1つ確認していきましょう。

使用するGoogleカレンダーのMCPサーバーは「https://github.com/nspady/google-calendar-mcp」です。こちらのREADME.mdを参考に進めていただいても構いません。

目次

GoogleカレンダーのAPIを有効化

Google Cloud Platformでプロジェクトを作成して、使用するAPIを有効化する必要があります。

プロジェクトを作成

まずプロジェクトを作成しましょう。プロジェクト名は任意ですが自分は「claude mcp」としました。

左上のプルダウンから作成したプロジェクトを選択します。そして、クイックアクセスから「APIとサービス」を開きましょう。

※クイックアクセスにない場合は左上のハンバーガーアイコン内のメニューや、上部の検索ボックスで「APIとサービス」と入力すると辿り着きやすいと思います。

ライブラリを選択

ライブラリを選択します。

google calendar」と検索しましょう。

「Google Calendar API」を選択します。

「有効」にしてください。

これで、「Google Calendar API」が使える状態になりました。

認証情報を取得する

「APIとサービス」の画面に戻って、「認証情報」を選択します。

「認証情報を作成」から「OAuthクライアントID」を選択します。

アプリケーションの種類は「デスクトップアプリ」で、名前は任意ですが「claude for desktop mcp」としました。

クライアント ID とシークレットキーが発行されます。「JSONをダウンロード」からファイルとして保存しておきます。※もし保存し忘れても認証情報の一覧からいつでもダウンロードできます。

ダウンロードしたJSONファイルのファイル名を「gcp-oauth.keys.json」に変更しましょう。

Place your Google OAuth credentials in a file named gcp-oauth.keys.json in the root directory of the project.

https://github.com/nspady/google-calendar-mcp

これで、Google側での準備はOKです。

Googleカレンダー用のMCPサーバーをインストール

https://github.com/nspady/google-calendar-mcp」のファイル一式をダウンロードします。gitコマンドが分かる方はcloneでも良いですし、右上のCode→Download zipからでも問題ありません。

ダウンロード先はどこでも大丈夫ですが、MCPクライアントに繋げる際にローカル上のパスを指定しますので、MCPサーバー用のフォルダをどこかに用意しておくと後からの管理が楽になると思います。

google-calendar-mcpのルートの直下に、Googleの認証情報のファイル「gcp-oauth.keys.json」を格納します。

パッケージをインストール

ここからコマンドを使います。Node.jsがパソコンに入っていない方は、まずはNode.jsをインストールしましょう。

google-calendar-mcpフォルダをVS Codeを開いて、npm installします。※ 自分の画面は様々なコマンド実行後なので最初の状態と異なっております。

エラーなく「node_modules」フォルダが生成されたらOKです。

ビルドする

続いて、npm run buildしましょう。

build」というフォルダが生成されていればOKです。

MCP サーバーを起動して認証

npm run startで、MCPサーバーを起動すると、認証画面が開きます。

すると、Chromeが立ち上がり、アカウントの選択が求められます。Googleカレンダーを管理しているアカウントを選択しましょう。

許可する権限の詳細が確認できます。問題なければ「許可」を押しましょう。

最後に「Authentication successful! You can close this window.」が記載されたシンプルな画面に遷移します。そのままウインドウを閉じても問題ありません。

VS Codeの画面に戻すると、.gcp-saved-tokens.jsonというファイルが生成されていることが分かります。このファイルができていれば準備OKです。

Claude クライアントとGoogle カレンダーのMCP サーバーを連携

それでは、Claude クライアントと連携してきましょう。

Claude for Desktopを開いて、左上のメニューから「設定」を開きます。「開発者」のタブの「構成を編集」をクリックしましょう。

claude_desktop_config.jsonファイルを編集しましょう。ファイルがない方は同じ名前で新規で作成してください。

そして、JSON形式でmcpServersオブジェクトの中にgoogle-calendar用の設定を以下のように追加します。

{
  "mcpServers": {
    "google-calendar": {
      "command": "node",
      "args": ["path/to/google-calendar-mcp/build/index.js"]
    }
  }
}

/path/to/の部分はgoogle-calendar-mcpフォルダをダウンロードした場所に応じて変更してください。

保存したらClaude for Desktopを再起動しましょう。Macの方は「cmd」+「q」でアプリ終了して、再度開きます。

エラーが出ました。エラーが出る場合は、「MCP設定を開く」からログを確認して原因を確認します。ログは呪文のように見えるかもしれませんが、AIに質問すればすぐに解決すると思います。

今回の場合は、Node.js v18.16.0で実行しているけど、コードが対応していないことによるエラーでした(おそらく…)。Claude for Desktopが内部的にNode.js v18.16.0を使っているのだと思っていますが、詳しくは分かりません。

コードを修正して再起動して問題がなくなれば、右下の「利用可能なMCPツール」から確認が可能となります。

以下が使えるようになるようです。

  • list-calendars: 利用可能なすべてのカレンダーを一覧表示
  • list-events: カレンダーからイベントを一覧表示する
  • create-event: 新しいカレンダーイベントを作成する
  • update-event: 既存のカレンダーイベントを更新する
  • delete-event: カレンダーイベントを削除する

明日の空き予定を聞いてみる

以下のように質問してみます。

Googleカレンダーから明日の空き予定を教えてください。コピペで共有しやすい形でお願いします。

すると、以下のように教えてくれました。

たまに、AIが自分に権限がないと思い込んでいる場合がありますので、そういったときは具体的に「list-calendarsの権限があります」と伝えてあげると、確認しにいってくれるようになりました。

おわりに

GoogleカレンダーのMCPサーバーを使う方法でした。Googleの認証プロセスが複雑に感じるかもしれませんが、Googleカレンダーに限らず、GoogleドライブやスプレッドシートなどGoogleツールを活用する場合に避けては通れない手順になりますので、GoogleツールとMCPで連携したいと思っている場合は、今回の手順を参考に連携を試してみてください。

この記事が気に入ったら
フォローしてね!

この記事を書いた人

WordPressが得意なWeb屋。HPcode代表。

300件以上のWordPressカスタマイズを対応してきました。SE → 農家 → アフィリエイター → Web屋。生まれは三重県。

目次