ガイド
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 をクリックします。


3. New App ダイアログで、アプリの Name を入力します。例: "OneCal MCP"。
4. Connection で Server URL を選択したままにし、OneCal MCP サーバー URL を入力します。
https://mcp-server.onecal.io/mcp
5. Authentication を OAuth に設定し、Advanced OAuth settings をクリックします。


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


ステップ 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 events と Create and modify calendar events を有効にします。プロフィール、メール、オフラインアクセスは必須であり、常に含まれます。実際に必要なスコープのみを付与してください。
6. Default Redirect URI フィールドに、ChatGPT の Advanced OAuth settings からコピーした Callback URL を貼り付けます。


7. Create Client をクリックします。OneCal が Client ID、Client Secret、その他の接続詳細を含むクライアント認証情報を生成します。
8. これらの値をコピーして安全に保管してください。Client Secret はパスワードと同様に扱ってください。一度しか表示されず、決して公に共有してはいけません。
ステップ 3: ChatGPT でアプリを完成させる
1. ステップ 1 で開始した ChatGPT のアプリに戻り、Advanced OAuth settings セクションを開きます。
2. OneCal の Client ID と Client 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 をクリックしてアクセスを許可します。


6. 認可後、ChatGPT がリダイレクトで戻り、アプリが接続済みとしてマークされます。
ステップ 4: ChatGPT で OneCal を使用する
接続が完了すると、会話の中で @ に続けてアプリ名(例: @OneCal MCP)を入力し、その後にリクエストを入力することで OneCal アプリを呼び出せます。例えば、ChatGPT に次のことを依頼できます。
- 接続済みカレンダーの一覧表示。
- 指定した日付または時間範囲の空き状況の確認。
- カレンダー予定の作成、更新、または削除。
ChatGPT は、クライアントを作成する際に選択したスコープで許可されたアクションのみを実行できます。
トラブルシューティング
- 認可が失敗する、またはエラーページにリダイレクトされる: OneCal に追加したリダイレクト URI が、ChatGPT の Advanced OAuth Settings の Callback URL と完全に一致していることを確認してください。末尾のスラッシュの違いだけでもフローが失敗します。
- アプリは予定を読み取れるが、作成や編集ができない: クライアントの作成時にカレンダーの書き込みスコープを付与したか確認してください。クライアントのスコープは Settings > MCP Config で編集できます。
- Invalid client エラー: Client ID と Client Secret が、余分なスペースなく正しくコピーされているか再確認してください。