← ishizakahiroshi.com
設計判断 2026-07-23

AIエージェントにGoogleカレンダー登録をやらせるとき、MCPを繋ぐ前に考えたこと

早朝の机とカレンダーを描いたヒーロー画像

「明日の8時にこの確認やるって、カレンダーに入れといて」とAIエージェントに言ったら、数秒後に予定が入っていました。毎回やらせるならどう仕組み化するか。真っ先に浮かんだMCPを一度止めて、実際にやった手順を分解したら2段階しかありませんでした。認証を1つも増やさずに済んだ設計判断の記録です。

Qiita で読む →

この記事のテーマ

AIにカレンダーを触らせると聞くと、まずMCP(Model Context Protocol)が浮かびます。ただ、やりたいことを数えると「予定を1件入れる」「ときどき通知の分数を変える」の2つだけでした。そのためにOAuthを通し、トークンの保管場所を決め、失効時の再認証を抱えるのは釣り合わない。しかもMCPは設定したCLIでしか使えず、codexやcursor-agentからは触れなくなります。

実際にやった手順を分解すると、予定作成URLを組み立てて、それを開いて保存を押す、の2段階でした。1段目のURL生成には認証もライブラリも要りません。つまりブラウザ自動化を持たないAIでも、URLを出すところまでは同じ結果が出せます。これを土台にした二段構えのskillにすることで、どのエージェントでも動き、Claudeでは保存まで自動になりました。

URL生成を土台にした二段構えの仕組み

第1段は全AI共通。第2段はブラウザ自動化がある環境だけ。使えない機能が増えるのではなく、段が1つ下がるだけの構造にしています。

落とし穴は1つだけありました。ctz=Asia/Tokyo を省くとUTCとして解釈され、9時間ずれます。「明日の8時」が「明日の17時」になる。毎回思い出せる自信がないので、skillに省略禁止と書きました。MCPを入れる条件(既存予定を読みたくなったとき、予定を変更したくなったとき、重複チェックが要るとき)も先に決めてあります。先に決めておくと、あとで揺れずに済みます。