アプリ

ガイド

OneCal Calendar MCP サーバーを ChatGPT に接続する方法

OneCal は Model Context Protocol (MCP) サーバーを公開しており、ChatGPT のような AI クライアントがあなたに代わって接続済みカレンダーの閲覧・管理を行えるようにします。接続が完了すると、ChatGPT にカレンダーの一覧表示、空き状況の確認、カレンダー予定の作成・更新・削除を依頼できます。

ChatGPT では、カスタム MCP コネクターは apps と呼ばれます。OneCal の接続では ChatGPT と OneCal を行き来します。まず ChatGPT でアプリの作成を開始してコールバック URL を取得し、その URL を使って OneCal で MCP クライアントを作成し、OneCal から渡された認証情報を持って ChatGPT に戻ります。


前提条件

開始する前に、以下を満たしていることを確認してください。

  • 有効な無料トライアルまたは有料プランのいずれかを持つ OneCal アカウント。
  • OneCal アカウントに接続されたカレンダーが少なくとも 1 つあること。
  • すでに OneCal アカウントにログインしていること。
  • 有料の ChatGPT サブスクリプション。カスタムアプリの作成は ChatGPT の有料プランでのみ利用可能で、無料プランでは利用できません。

ステップ 1: ChatGPT でアプリの作成を開始し、コールバック URL をコピーする

1. ChatGPT を開き、Settings > Apps に移動します。

2. Advanced settings セクションで、Create app をクリックします。

Grainy Texture
Advanced settings の横に Create app ボタンがある ChatGPT のアプリ設定
Settings > Apps > Advanced settings > Create app

3. New App ダイアログで、アプリの Name を入力します。例: "OneCal MCP"。

4. ConnectionServer URL を選択したままにし、OneCal MCP サーバー URL を入力します。

https://mcp-server.onecal.io/mcp

5. AuthenticationOAuth に設定し、Advanced OAuth settings をクリックします。

Grainy Texture
OneCal MCP サーバー URL、OAuth 認証、Advanced OAuth settings が表示された ChatGPT の New App ダイアログ
OneCal MCP サーバー URL を入力し、Advanced OAuth settings を開く

6. Advanced OAuth settings で、Registration methodUser-Defined OAuth Client に設定し、ChatGPT が表示する Callback URL をコピーします。コールバック URL はこのアプリに固有なので、記憶を頼りに入力するのではなく、直接コピーしてください。次のステップで OneCal の MCP クライアントを作成する際に必要になります。

Grainy Texture
Registration method とコピーすべき Callback URL が表示された ChatGPT の OAuth 詳細設定
ChatGPT の OAuth 詳細設定から Callback URL をコピーする

ステップ 3 で戻ってくるので、この ChatGPT のタブは開いたままにしておいてください。


ステップ 2: OneCal で MCP クライアントを作成する

1. 新しいタブで https://app.onecal.io/ に移動し、Settings > MCP Config を開きます。

2. New Client ボタンをクリックします。

3. クライアントに分かりやすい名前を付けます。例: "ChatGPT"。これにより、後でどのアプリに属するクライアントかを識別しやすくなります。

4. Supports client-secret OAuth authentication は有効のままにしておきます。

5. 付与したいスコープを選択します。スコープは、ChatGPT が MCP サーバーを通じて何を行えるかを制御します。フルのカレンダーアクセスには、Read your calendar eventsCreate and modify calendar events を有効にします。プロフィール、メール、オフラインアクセスは必須であり、常に含まれます。実際に必要なスコープのみを付与してください。

6. Default Redirect URI フィールドに、ChatGPT の Advanced OAuth settings からコピーした Callback URL を貼り付けます。

Grainy Texture
名前、スコープ、デフォルトのリダイレクト URI が入力された OneCal の New MCP Client ダイアログ
OneCal で MCP クライアントを作成し、ChatGPT のコールバック URL を貼り付ける

7. Create Client をクリックします。OneCal が Client IDClient Secret、その他の接続詳細を含むクライアント認証情報を生成します。

8. これらの値をコピーして安全に保管してください。Client Secret はパスワードと同様に扱ってください。一度しか表示されず、決して公に共有してはいけません。


ステップ 3: ChatGPT でアプリを完成させる

1. ステップ 1 で開始した ChatGPT のアプリに戻り、Advanced OAuth settings セクションを開きます。

2. OneCal の Client IDClient Secret を、それぞれ対応するフィールドに貼り付けます。

3. I understand and want to continue をチェックして ChatGPT のカスタム MCP サーバーの警告を承認し、Create をクリックします。

4. ChatGPT は Sign in with "{app name}" ボタンを含む Add "{app name}" to ChatGPT プロンプトを表示します。ここで {app name} は先ほどアプリに付けた名前です。これをクリックして OAuth フローを開始します。

5. OneCal にリダイレクトされます。プロンプトが表示されたらサインインし、ChatGPT が要求しているアクセス内容を確認して、Authorize をクリックしてアクセスを許可します。

Grainy Texture
要求された権限が一覧表示された OneCal の ChatGPT 認可画面
ChatGPT が OneCal アカウントにアクセスすることを認可する

6. 認可後、ChatGPT がリダイレクトで戻り、アプリが接続済みとしてマークされます。


ステップ 4: ChatGPT で OneCal を使用する

接続が完了すると、会話の中で @ に続けてアプリ名(例: @OneCal MCP)を入力し、その後にリクエストを入力することで OneCal アプリを呼び出せます。例えば、ChatGPT に次のことを依頼できます。

  • 接続済みカレンダーの一覧表示。
  • 指定した日付または時間範囲の空き状況の確認。
  • カレンダー予定の作成、更新、または削除。

ChatGPT は、クライアントを作成する際に選択したスコープで許可されたアクションのみを実行できます。


トラブルシューティング

  • 認可が失敗する、またはエラーページにリダイレクトされる: OneCal に追加したリダイレクト URI が、ChatGPT の Advanced OAuth Settings の Callback URL と完全に一致していることを確認してください。末尾のスラッシュの違いだけでもフローが失敗します。
  • アプリは予定を読み取れるが、作成や編集ができない: クライアントの作成時にカレンダーの書き込みスコープを付与したか確認してください。クライアントのスコープは Settings > MCP Config で編集できます。
  • Invalid client エラー: Client IDClient Secret が、余分なスペースなく正しくコピーされているか再確認してください。
前へ
OneCal で将来の予約を制限する方法