Cal.com MCP
resmiHubungkan klien AI ke penjadwalan Cal.com melalui Model Context Protocol menggunakan server yang dihosting di mcp.cal.com atau instance lokal.
Apa yang bisa Anda lakukan dengan Cal Com MCP?
- Kelola pemesanan — Minta asisten Anda untuk mencantumkan, membuat, menjadwalkan ulang, atau membatalkan pemesanan menggunakan alat seperti
get_bookingsdancreate_booking. - Konfigurasi tipe acara — Buat atau perbarui tipe acara, seperti "Obrolan Singkat" 30 menit, melalui
create_event_typedanupdate_event_type. - Periksa ketersediaan — Kueri slot waktu yang tersedia atau periode sibuk dari kalender yang terhubung dengan
get_availabilitydanget_busy_times. - Tangani jadwal — Buat, perbarui, atau ambil jadwal default Anda menggunakan
create_scheduledanget_default_schedule. - Kelola tim dan keanggotaan — Undang anggota atau sesuaikan peran tim melalui
create_team_invitedanupdate_team_membership.
Dokumentasi
Server MCP
Hubungkan klien AI ke penjadwalan Cal.com melalui Model Context Protocol menggunakan server yang di-host di mcp.cal.com atau instance lokal.
Server Cal.com MCP membungkus Cal.com API v2 dalam Model Context Protocol, memungkinkan Anda mengelola booking, tipe acara, jadwal, dan lainnya melalui bahasa alami di klien yang kompatibel dengan MCP.
Server yang di-host (mcp.cal.com)
Cara tercepat untuk memulai adalah menghubungkan klien MCP Anda langsung ke mcp.cal.com. Server yang di-host menggunakan transport Streamable HTTP dengan autentikasi OAuth 2.1 — klien Anda menangani alur otorisasi secara otomatis.
Hubungkan klien Anda
Arahkan klien MCP Anda ke URL server yang di-host:
https://mcp.cal.com/mcp
Saat pertama kali terhubung, klien Anda akan memandu Anda melalui alur otorisasi OAuth di mana Anda memberikan akses server ke akun Cal.com Anda. Tidak diperlukan kunci API.
Tambahkan berikut ini ke `claude_desktop_config.json` Anda:* **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
* **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
```json theme={null}
{
"mcpServers": {
"calcom": {
"url": "https://mcp.cal.com/mcp"
}
}
}
```
Buka **Settings → MCP** dan tambahkan server baru dengan URL `https://mcp.cal.com/mcp`, atau tambahkan ke `.cursor/mcp.json` Anda:
```json theme={null}
{
"mcpServers": {
"calcom": {
"url": "https://mcp.cal.com/mcp"
}
}
}
```
Tambahkan server ke pengaturan MCP VS Code Anda:
```json theme={null}
{
"mcpServers": {
"calcom": {
"url": "https://mcp.cal.com/mcp"
}
}
}
```
Tambahkan berikut ini ke `~/.fx/mcp.json` Anda:
```json theme={null}
{
"mcp": {
"calcom": {
"type": "http",
"url": "https://mcp.cal.com/mcp"
}
}
}
```
Kemudian jalankan `/mcp auth calcom --open` di fx untuk mengotorisasi. Lihat
[dokumentasi MCP fx](https://fx.sh/docs/capabilities/mcp) untuk transport,
opsi autentikasi, dan penemuan alat.
Server self-hosted (stdio)
Jika Anda lebih suka menjalankan server secara lokal, Anda dapat menggunakan transport stdio dengan kunci API. Ini berguna untuk pengembangan atau ketika Anda menginginkan kontrol penuh atas server.
Prasyarat
- Node.js >= 18
- Kunci API Cal.com — buat satu di Settings → Developer → API Keys
Hubungkan klien Anda
Tambahkan berikut ini ke konfigurasi klien MCP Anda:
{
"mcpServers": {
"calcom": {
"command": "npx",
"args": ["@calcom/cal-mcp@latest"],
"env": {
"CAL_API_KEY": "cal_live_xxxx"
}
}
}
}
Ganti cal_live_xxxx dengan kunci API Anda yang sebenarnya.
Peringatan
Jangan pernah membagikan atau meng-commit kunci API Anda. Jika terekspos, rotasi segera di pengaturan Cal.com Anda.
Toolset
Anda dapat membatasi alat mana yang didaftarkan server untuk sesi dengan menambahkan parameter kueri toolsets ke URL server:
https://mcp.cal.com/mcp?toolsets=bookings,availability
Toolset yang valid: profile, event-types, bookings, availability, schedules, calendars, teams, organizations, routing-forms, catalog (meta-alat find_api_operation / describe_api_operation / call_api_operation). Nama yang tidak dikenal ditolak dengan 400 invalid_request. Mengabaikan parameter mendaftarkan setiap alat; alat lokal get_app_link dan search_docs selalu didaftarkan terlepas dari pilihan. Untuk server stdio self-hosted, atur MCP_TOOLSETS sebagai gantinya.
Alat yang tersedia
Server MCP mengekspos 63 alat yang diorganisir berdasarkan kategori:
Tautan aplikasi
| Alat | Deskripsi |
|---|---|
get_app_link | Bangun URL yang membuka halaman booking, tipe acara, jadwal, tim, formulir routing, atau pengaturan di aplikasi web Cal.com |
Dokumentasi
| Alat | Deskripsi |
|---|---|
search_docs | Cari dokumentasi produk Cal.com; mengembalikan halaman yang diperingkat dengan kutipan dari hasil teratas |
Profil pengguna
| Alat | Deskripsi |
|---|---|
get_me | Dapatkan profil pengguna terautentikasi Anda |
update_me | Perbarui profil pengguna Anda |
Tipe acara
| Alat | Deskripsi |
|---|---|
get_event_types | Daftar semua tipe acara |
get_event_type | Dapatkan tipe acara tertentu berdasarkan ID |
create_event_type | Buat tipe acara baru |
update_event_type | Perbarui tipe acara |
delete_event_type | Hapus tipe acara |
get_event_type_settings | Dapatkan pengaturan tipe acara |
get_event_type_history | Dapatkan riwayat perubahan tipe acara |
get_scheduling_config | Dapatkan konfigurasi penjadwalan tipe acara |
get_crm_sync_errors | Dapatkan kesalahan sinkronisasi CRM untuk tipe acara |
Booking
| Alat | Deskripsi |
|---|---|
get_bookings | Daftar booking dengan filter opsional |
get_booking | Dapatkan booking tertentu berdasarkan UID |
create_booking | Buat booking baru |
reschedule_booking | Jadwalkan ulang booking |
cancel_booking | Batalkan booking |
confirm_booking | Konfirmasi booking yang tertunda |
mark_booking_absent | Tandai ketidakhadiran booking |
get_booking_attendees | Dapatkan semua peserta untuk booking |
add_booking_attendee | Tambahkan peserta ke booking |
get_booking_attendee | Dapatkan peserta tertentu |
get_booking_routing_trace | Dapatkan jejak routing untuk booking |
get_org_team_bookings | Dapatkan booking untuk tim organisasi |
get_org_user_bookings | Dapatkan booking untuk pengguna organisasi |
Jadwal
| Alat | Deskripsi |
|---|---|
get_schedules | Daftar semua jadwal |
get_schedule | Dapatkan jadwal tertentu berdasarkan ID |
create_schedule | Buat jadwal baru |
update_schedule | Perbarui jadwal |
delete_schedule | Hapus jadwal |
get_default_schedule | Dapatkan jadwal default Anda |
Ketersediaan & kalender
| Alat | Deskripsi |
|---|---|
get_availability | Dapatkan slot waktu yang tersedia |
get_busy_times | Dapatkan waktu sibuk dari kalender |
get_connected_calendars | Daftar kalender yang terhubung |
get_conferencing_apps | Daftar aplikasi konferensi |
Tim & keanggotaan
| Alat | Deskripsi |
|---|---|
get_my_teams | Dapatkan tim yang Anda ikuti |
get_org_teams | Dapatkan tim organisasi |
create_team_invite | Undang seseorang ke tim |
create_team_membership | Buat keanggotaan tim |
get_team_memberships | Dapatkan semua keanggotaan tim |
get_team_membership | Dapatkan keanggotaan tim |
update_team_membership | Perbarui keanggotaan tim |
delete_team_membership | Hapus keanggotaan tim |
Organisasi
| Alat | Deskripsi |
|---|---|
get_org_memberships | Dapatkan semua keanggotaan organisasi |
create_org_membership | Buat keanggotaan organisasi |
get_org_membership | Dapatkan keanggotaan organisasi |
update_org_membership | Perbarui keanggotaan organisasi |
delete_org_membership | Hapus keanggotaan organisasi |
get_org_attributes | Dapatkan atribut organisasi |
get_org_attribute | Dapatkan atribut organisasi |
get_attribute_options | Dapatkan opsi untuk atribut |
get_user_attributes | Dapatkan atribut yang ditetapkan ke pengguna |
assign_attribute_to_user | Tetapkan atribut ke pengguna |
update_user_attribute | Perbarui atribut yang ditetapkan ke pengguna |
unassign_attribute_from_user | Hapus penetapan atribut dari pengguna |
get_user_attribute_history | Dapatkan riwayat penetapan atribut pengguna |
Formulir routing
| Alat | Deskripsi |
|---|---|
calculate_routing_form_slots | Hitung slot berdasarkan respons formulir routing |
get_org_routing_forms | Dapatkan formulir routing organisasi |
get_org_routing_form_responses | Dapatkan respons formulir routing |
Katalog API
| Alat | Deskripsi |
|---|---|
find_api_operation | Cari katalog operasi API v2 lengkap |
describe_api_operation | Dapatkan skema input untuk operasi API |
call_api_operation | Jalankan operasi API v2 apa pun dari katalog |
Contoh prompt
Setelah terhubung, Anda dapat berinteraksi dengan Cal.com menggunakan bahasa alami:
- "Booking apa yang saya miliki minggu ini?"
- "Buat tipe acara 30 menit bernama 'Quick Chat'"
- "Batalkan pertemuan saya dengan John besok"
- "Tampilkan slot yang tersedia untuk Senin depan"
- "Jadwalkan ulang pertemuan 2pm saya ke Kamis jam 3pm"
- "Tipe acara apa yang saya miliki?"
Sumber daya terkait
- Panduan agen AI — bangun agen AI menggunakan Cal.com API secara langsung
- Referensi API v2 — dokumentasi endpoint API lengkap
- Repositori GitHub — kode sumber
Dokumentasi ini dibangun dan di-host di Mintlify, platform dokumentasi pengembang.