calendly-mcp-server について
calendly-mcp-serverはCalendlyをClaude DesktopとClaude Codeに接続し、自然言語で予定を管理できます。イベント検索や空き時間確認に加え、有料ツールでは予定変更や分析も行えます。
主な機能
- 01予定イベントの一覧と検索
- 02イベントとイベントタイプの詳細確認
- 03空き時間と予定あり時間の確認
- 04予約リンクの作成
- 05イベントのキャンセルと変更
- 06予定と招待者の分析
活用シーン
- 01今後の会議や過去の予定を確認
- 02期間内の空き時間を検索
- 03会議の作成、キャンセル、変更
- 04会議数や連絡先ごとの傾向を分析
MCP 対応
このMCPサーバーは、Calendlyのイベント、空き時間、イベントタイプを扱うツールをClaude DesktopとClaude Codeに提供します。有料ツールではイベントの作成、キャンセル、変更と分析にも対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Calendly MCP サーバー
Claude Desktop と Claude Code を Calendly アカウントに接続し、自然言語でスケジュールを管理できる MCP(Model Context Protocol)サーバーです。
インストール
pip install calendly-mcp
Calendly パーソナルアクセストークンの取得
- Calendly にログインします
- Settings > Integrations & Apps に移動します
- API & Connectors までスクロールし、API をクリックします
- Get a token now(または Generate New Token)をクリックします
- トークンに名前(例:「Claude MCP」)を付け、Create Token をクリックします
- トークンをすぐにコピーします。一度画面を閉じると、再表示されません
設定
Claude Desktop
以下を claude_desktop_config.json に追加します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"calendly": {
"command": "calendly-mcp",
"env": {
"CALENDLY_ACCESS_TOKEN": "your-token-here",
"LICENSE_KEY": "optional-premium-key"
}
}
}
}
Claude Code
Claude Code の起動前に、環境変数を設定します。
export CALENDLY_ACCESS_TOKEN="your-token-here"
export LICENSE_KEY="optional-premium-key" # only if you have a premium license
次に、MCP サーバーを追加します。
claude mcp add calendly -- calendly-mcp
または、プロジェクトの .mcp.json に追加します。
{
"mcpServers": {
"calendly": {
"command": "calendly-mcp",
"env": {
"CALENDLY_ACCESS_TOKEN": "your-token-here"
}
}
}
}
環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
CALENDLY_ACCESS_TOKEN | はい | Calendly パーソナルアクセストークンまたは OAuth2 トークン |
LICENSE_KEY | いいえ | Lemon Squeezy プレミアムライセンスキー |
LOG_LEVEL | いいえ | ログレベル:DEBUG、INFO、WARNING、ERROR(デフォルト:INFO) |
CALENDLY_BASE_URL | いいえ | Calendly API のベース URL を上書きします(テスト用) |
ツール
無料プラン(7 個のツール)
| ツール | 説明 | 必須パラメーター |
|---|---|---|
list_upcoming_events | オプションのフィルターを指定して、今後予定されているイベントを一覧表示します | なし(オプション:count、min_start_time、max_start_time、status) |
get_event_details | 参加者と場所を含む、特定のイベントの詳細を取得します | event_uuid |
search_events | 参加者の名前またはメールアドレスでイベントを検索します(大文字と小文字を区別しない部分一致) | query(オプション:min_start_time、max_start_time) |
check_availability | 空き時間スケジュールから予約可能な時間帯を確認します | date_range_start、date_range_end |
get_busy_times | 指定期間の予定あり/予約不可の時間帯を取得します | start_time、end_time |
list_event_types | 設定されているすべてのイベントタイプを、名前、所要時間、ステータスとともに一覧表示します | なし |
get_event_type_details | 特定のイベントタイプの詳細設定を取得します | event_type_uuid |
プレミアムプラン(追加の5 個のツール)
| ツール | 説明 | 必須パラメーター |
|---|---|---|
create_one_off_event | ミーティング用の単発予約リンクを作成します | event_type_uuid、invitee_email、invitee_name、start_time |
cancel_event | 既存の予約済みイベントをキャンセルします(参加者に通知されます) | event_uuid(オプション:reason) |
reschedule_event | イベントを新しい時間に変更します | event_uuid、new_start_time |
get_scheduling_stats | スケジュールの分析情報を取得します:ミーティングの合計数、平均所要時間、人気の時間帯 | min_start_time、max_start_time |
get_invitee_insights | 特定の連絡先とのミーティングの傾向を分析します | invitee_email |
無料プランとプレミアムプラン
| 機能 | 無料 | プレミアム |
|---|---|---|
| 今後のイベントを表示 | はい | はい |
| イベントの詳細を取得 | はい | はい |
| 参加者でイベントを検索 | はい | はい |
| 空き状況を確認 | はい | はい |
| 予定ありの時間帯を表示 | はい | はい |
| イベントタイプを一覧表示 | はい | はい |
| イベントタイプの詳細を取得 | はい | はい |
| 予約リンクを作成 | -- | はい |
| イベントをキャンセル | -- | はい |
| イベントの日程を変更 | -- | はい |
| スケジュール分析 | -- | はい |
| 参加者の分析情報 | -- | はい |
| 価格 | 無料 | $12/month |
nyxtools.lemonsqueezy.com/checkout でアップグレードできます。
使用例
接続したら、Claude に自然な言葉で話しかけます。
スケジュールを確認する
- 「今週はどんなミーティングがありますか?」
- 「明日のスケジュールを見せて」
- 「次の5件のミーティングを一覧表示して」
- 「今月キャンセルしたミーティングは何ですか?」
イベントの詳細
- 「午後3時の会議について詳しく教えてください」
- 「デザインレビューには誰が招待されていますか?」
- 「次の通話のZoomリンクは何ですか?」
イベントの検索
- 「[email protected] との会議はありますか?」
- 「Sarah との会議をすべて探してください」
- 「Acme チームと最後に会ったのはいつですか?」
空き状況の確認
- 「木曜日の午後は空いていますか?」
- 「来週の空き状況を教えてください」
- 「明日は何時が埋まっていますか?」
イベントの種類
- 「設定しているイベントの種類を教えてください」
- 「30分の会議タイプの詳細を表示してください」
スケジュール設定(プレミアム)
- 「[email protected] との30分の通話を火曜日の午後2時に設定してください」
- 「来週の水曜日に Jane Smith との会議を設定してください」
キャンセルと再スケジュール(プレミアム)
- 「明日の午後3時の会議をキャンセルしてください」
- 「John との通話をキャンセルしてください。予定が重なりました」
- 「午後2時の会議を木曜日の午後4時に移動してください」
- 「Sarah との通話を来週月曜日の午前中に再スケジュールしてください」
分析(プレミアム)
- 「今月は何回会議がありましたか?」
- 「会議の平均時間はどのくらいですか?」
- 「John との会議にどのくらいの時間を費やしましたか?」
開発
セットアップ
git clone https://github.com/nyxtools/calendly-mcp-server.git
cd calendly-mcp-server
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
pip install -e ".[dev]"
テストの実行
pytest
pytest --cov=calendly_mcp # with coverage
リント
ruff check src/ tests/
ruff format src/ tests/
mypy src/
トラブルシューティング
「CALENDLY_ACCESS_TOKEN is required」
CALENDLY_ACCESS_TOKEN 環境変数が設定されていません。Claude Code を実行する前に、claude_desktop_config.json の env に設定するか、シェルでエクスポートしてください。
401 Unauthorized エラー
Calendly の個人用アクセストークンが無効か、取り消されています。Calendly の Settings > Integrations & Apps > API で新しいトークンを生成し、設定を更新してください。
429 Rate limit エラー
Calendly API にはレート制限があります。MCP サーバーは指数バックオフで自動的に再試行しますが、レート制限エラーが継続して発生する場合は、リクエストの頻度を下げるか、数分待ってください。
接続エラー
- インターネットに接続されていることを確認してください
- ネットワークから
api.calendly.comにアクセスできることを確認してください - プロキシ経由の場合は、
httpxから Calendly API にアクセスできることを確認してください
プレミアムツールが表示されない
- 環境変数で
LICENSE_KEYが正しく設定されていることを確認してください - サーバーログでライセンス検証エラーを確認してください(
LOG_LEVEL=DEBUG) - nyxtools.lemonsqueezy.com でプレミアムサブスクリプションが有効であることを確認してください
Claude Desktop でサーバーが起動しない
commandのパスが正しいことを確認してください(calendly-mcpが PATH 上にある必要があります)- ターミナルで
calendly-mcpを直接実行し、エラーがないか確認してください - Windows では、実行ファイルのフルパスを指定する必要がある場合があります
ライセンス
MIT -- 詳細は LICENSE を参照してください。
Copyright (c) 2026 NyxTools
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。