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?

MCPを使ってGoogleカレンダーの取得と登録をしてみよう

Last updated at Posted at 2025-12-06

はじめに

僕は最近仕事をする中で、こんな悩みを抱えていました。

  • 毎日日報でSlackのデータをMCP(slack-explorer-mcpの設定方法はこちら)で取得しつつ振り返るようにしているが、ミーティングの情報が拾えないため振り返りが難しいんだよな..
  • 週のはじめにあるプランニングで「ミーティングがすでにたくさん入ってしまっているが、今週持っているタスクは終わるのか」確認が難しい..
  • プランニングの後に、カレンダーにタスク登録するのを忘れてしまった..

Googleカレンダーの情報を取得、登録できれば、もっとPDCAが回しやすくなるのでは?と思い、Claude CodeのMCP連携を試してみました。

同じ悩みを持つ方の参考になれば嬉しいです。

この記事で出てくるキーワード

MCP連携
├── MCP (Model Context Protocol)
│   └── Claude Codeと外部サービスをつなぐ仕組み
├── MCPサーバー
│   └── @cocal/google-calendar-mcp (今回使用)
├── 認証
│   ├── OAuth 2.0
│   ├── Google Cloud Console
│   └── credentials.json
└── 設定ファイル
    ├── .mcp.json (プロジェクト設定)
    └── .claude/settings.json (有効化設定)

MCPを使ってやりたいこと

やりたいこと1

  • Googleカレンダーの予定を取得したい

やりたいこと2

  • Googleカレンダーに予定を登録したい

どのMCPサーバーを選ぶ?

GoogleカレンダーのMCPサーバーはいくつか選択肢があります。

npx @cocal/google-calendar-mcp
npx @takumi0706/google-calendar-mcp
npx @sudomcp/google-calendar-mcp

今回は@cocal/google-calendar-mcpを選びました。

理由

  • OAuth 2.0認証で安全性に問題なし
  • 設定がシンプル
  • マルチカレンダー対応

会社のカレンダーを使う場合は、念のため会社のセキュリティポリシーを確認してください。(僕は試験的に個人アカウントでお試し中...)

Google Cloud Consoleでの認証設定

設定の流れ

1. Google Cloud Consoleでプロジェクト作成
2. Google Calendar APIを有効化
3. OAuth認証情報を作成
4. credentials.jsonをダウンロード
5. テストユーザーに自分を追加

ステップ1: プロジェクト作成とAPI有効化

  1. Google Cloud Consoleにアクセス
  2. 新しいプロジェクトを作成
  3. 「APIとサービス」→「ライブラリ」
  4. 「Google Calendar API」を検索して有効化

ステップ2: OAuth認証情報の作成

「APIとサービス」→「認証情報」
  ↓
「+ 認証情報を作成」→「OAuth クライアント ID」
  ↓
アプリケーションの種類: 「デスクトップ アプリ」
  ↓
「作成」→ JSONをダウンロード
  ↓
credentials.json にリネーム

ステップ3: OAuth同意画面の設定

初回はOAuth同意画面の設定が必要です。

「ブランディング」画面で
  ├── アプリ名: 任意 (例: MCP Google Calendar)
  ├── ユーザーサポートメール: 自分のメール
  └── デベロッパーの連絡先情報: 自分のメール
     ↓
「次へ」を数回クリック → 完了

ステップ4: テストユーザーの追加

「対象」タブ
  ↓
「テストユーザー」セクション
  ↓
「+ ADD USERS」
  ↓
自分のGmailアドレスを追加
  ↓
保存 (反映まで2-3分待つ)

Claude Codeでの設定

ファイル構成

your-project/
├── .mcp.json              # MCPサーバー設定
├── .claude/
│   └── settings.json      # MCP有効化設定
└── credentials.json       # Google認証情報

.mcp.jsonの設定

プロジェクトルートに作成します。

{
  "mcpServers": {
    "google_calendar": {
      "command": "/opt/homebrew/bin/npx",
      "args": ["-y", "@cocal/google-calendar-mcp"],
      "env": {
        "GOOGLE_OAUTH_CREDENTIALS": "./credentials.json"
      }
    }
  }
}

ポイント

  • command: npxのフルパス (which npxで確認)
  • GOOGLE_OAUTH_CREDENTIALS: credentials.jsonへの相対パス

.claude/settings.jsonの設定

プロジェクトMCPを有効化します。

{
  "enableAllProjectMcpServers": true,
  "enabledMcpjsonServers": [
    "google_calendar"
  ]
}

Claude Codeを起動

# プロジェクトディレクトリで
claude

# MCPサーバーの状態を確認
/mcp

初回認証

認証の流れ

Claude Codeで質問
  ↓
「今日の予定を教えて」
  ↓
ブラウザが自動的に開く
  ↓
Googleアカウントを選択
  ↓
「このアプリは確認されていません」
  ↓
「詳細」→「移動」をクリック
  ↓
カレンダーへのアクセスを許可
  ↓
認証完了

トラブルシューティング

403エラーが出た場合

エラー: access_denied
原因: テストユーザーに追加されていない

解決方法

  1. Google Cloud Console → OAuth同意画面 → 対象
  2. テストユーザーに自分のメールアドレスを追加
  3. 2-3分待ってから再試行

アカウントを切り替えたい場合

# トークンを削除
rm ~/.config/google-calendar-mcp/tokens.json

# 再認証
export GOOGLE_OAUTH_CREDENTIALS="./credentials.json"
npx @cocal/google-calendar-mcp auth

ブラウザが開くので、切り替えたいアカウントを選択すればOKです。

MCPサーバーがfailedになる場合

よくある原因

  • npxのパスが間違っている → which npxで確認
  • credentials.jsonが見つからない → パスを絶対パスに変更
  • Node.jsがインストールされていない → brew install node

実際に使ってみる

やりたいこと1と2を実際に試してみます。

やりたいこと1: 予定を取得する

今週のMTGの合計時間を計算して
→ 今週のMTG合計: 9時間45分です

Googleカレンダーから予定を取得して、会議時間を集計してくれました。

やりたいこと2: 予定を登録する

毎日30分開発タスクについて考える時間を設けて

空いている時間を見つけて、自動的にカレンダーに登録してくれました。

スクリーンショット 2025-12-07 3.33.17.png

これだけで、Googleカレンダーの取得・登録が行えます!

参考文献

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?