Cal.com MCP
공식Model Context Protocol을 통해 호스팅 서버(mcp.cal.com) 또는 로컬 인스턴스를 사용하여 AI 클라이언트를 Cal.com 스케줄링에 연결합니다.
Cal Com MCP(으)로 무엇을 할 수 있나요?
- 예약 관리 — 어시스턴트에게
get_bookings및create_booking같은 도구를 사용해 예약을 목록화, 생성, 일정 변경 또는 취소하도록 요청하세요. - 이벤트 유형 구성 —
create_event_type및update_event_type을 통해 30분짜리 "Quick Chat" 같은 이벤트 유형을 생성하거나 업데이트하세요. - 가용성 확인 — 연결된 캘린더에서
get_availability및get_busy_times로 열린 시간대나 바쁜 기간을 조회하세요. - 일정 처리 —
create_schedule및get_default_schedule을 사용해 기본 일정을 생성, 업데이트 또는 가져오세요. - 팀 및 멤버십 관리 —
create_team_invite및update_team_membership을 통해 멤버를 초대하거나 팀 역할을 조정하세요.
문서
MCP 서버
Model Context Protocol을 통해 호스팅 서버(mcp.cal.com) 또는 로컬 인스턴스를 사용하여 AI 클라이언트를 Cal.com 일정 관리에 연결하세요.
Cal.com MCP 서버는 Cal.com API v2를 Model Context Protocol로 감싸서, MCP 호환 클라이언트에서 자연어를 통해 예약, 이벤트 유형, 일정 등을 관리할 수 있게 해줍니다.
호스팅 서버 (mcp.cal.com)
가장 빠르게 시작하는 방법은 MCP 클라이언트를 mcp.cal.com에 직접 연결하는 것입니다. 호스팅 서버는 Streamable HTTP 전송과 OAuth 2.1 인증을 사용합니다 — 클라이언트가 인증 흐름을 자동으로 처리합니다.
클라이언트 연결
MCP 클라이언트를 호스팅 서버 URL로 지정하세요:
https://mcp.cal.com/mcp
처음 연결할 때, 클라이언트가 OAuth 인증 흐름을 안내하며 서버에 Cal.com 계정 접근 권한을 부여하게 됩니다. API 키는 필요 없습니다.
다음을 `claude_desktop_config.json`에 추가하세요:* **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"
}
}
}
```
**설정 → MCP**를 열고 URL `https://mcp.cal.com/mcp`로 새 서버를 추가하거나, `.cursor/mcp.json`에 추가하세요:
```json theme={null}
{
"mcpServers": {
"calcom": {
"url": "https://mcp.cal.com/mcp"
}
}
}
```
VS Code MCP 설정에 서버를 추가하세요:
```json theme={null}
{
"mcpServers": {
"calcom": {
"url": "https://mcp.cal.com/mcp"
}
}
}
```
다음을 `~/.fx/mcp.json`에 추가하세요:
```json theme={null}
{
"mcp": {
"calcom": {
"type": "http",
"url": "https://mcp.cal.com/mcp"
}
}
}
```
그런 다음 fx에서 `/mcp auth calcom --open`을 실행하여 인증하세요. 전송 방식, 인증 옵션 및 도구 검색에 대한 자세한 내용은
[fx MCP 문서](https://fx.sh/docs/capabilities/mcp)를 참조하세요.
자체 호스팅 서버 (stdio)
서버를 로컬에서 실행하려면 API 키와 함께 stdio 전송을 사용할 수 있습니다. 개발 중이거나 서버를 완전히 제어하려는 경우 유용합니다.
사전 요구 사항
- Node.js >= 18
- Cal.com API 키 — 설정 → 개발자 → API 키에서 생성하세요
클라이언트 연결
MCP 클라이언트 구성에 다음을 추가하세요:
{
"mcpServers": {
"calcom": {
"command": "npx",
"args": ["@calcom/cal-mcp@latest"],
"env": {
"CAL_API_KEY": "cal_live_xxxx"
}
}
}
}
cal_live_xxxx를 실제 API 키로 교체하세요.
경고
API 키를 공유하거나 커밋하지 마세요. 노출된 경우 Cal.com 설정에서 즉시 교체하세요.
도구 세트
서버 URL에 toolsets 쿼리 매개변수를 추가하여 세션에 등록되는 도구를 제한할 수 있습니다:
https://mcp.cal.com/mcp?toolsets=bookings,availability
유효한 도구 세트: profile, event-types, bookings, availability, schedules, calendars, teams, organizations, routing-forms, catalog (find_api_operation / describe_api_operation / call_api_operation 메타 도구). 알 수 없는 이름은 400 invalid_request로 거부됩니다. 매개변수를 생략하면 모든 도구가 등록됩니다. 로컬 도구 get_app_link 및 search_docs은 선택과 관계없이 항상 등록됩니다. 자체 호스팅 stdio 서버의 경우 대신 MCP_TOOLSETS를 설정하세요.
사용 가능한 도구
MCP 서버는 카테고리별로 구성된 63개의 도구를 제공합니다:
앱 링크
| 도구 | 설명 |
|---|---|
get_app_link | Cal.com 웹 앱에서 예약, 이벤트 유형, 일정, 팀, 라우팅 폼 또는 설정 페이지를 여는 URL 생성 |
문서
| 도구 | 설명 |
|---|---|
search_docs | Cal.com 제품 문서 검색; 상위 결과의 발췌문과 함께 순위가 매겨진 페이지 반환 |
사용자 프로필
| 도구 | 설명 |
|---|---|
get_me | 인증된 사용자 프로필 가져오기 |
update_me | 사용자 프로필 업데이트 |
이벤트 유형
| 도구 | 설명 |
|---|---|
get_event_types | 모든 이벤트 유형 나열 |
get_event_type | ID로 특정 이벤트 유형 가져오기 |
create_event_type | 새 이벤트 유형 생성 |
update_event_type | 이벤트 유형 업데이트 |
delete_event_type | 이벤트 유형 삭제 |
get_event_type_settings | 이벤트 유형의 설정 가져오기 |
get_event_type_history | 이벤트 유형의 변경 기록 가져오기 |
get_scheduling_config | 이벤트 유형의 일정 구성 가져오기 |
get_crm_sync_errors | 이벤트 유형의 CRM 동기화 오류 가져오기 |
예약
| 도구 | 설명 |
|---|---|
get_bookings | 선택적 필터로 예약 목록 가져오기 |
get_booking | UID로 특정 예약 가져오기 |
create_booking | 새 예약 생성 |
reschedule_booking | 예약 일정 변경 |
cancel_booking | 예약 취소 |
confirm_booking | 대기 중인 예약 확인 |
mark_booking_absent | 예약 부재 표시 |
get_booking_attendees | 예약의 모든 참석자 가져오기 |
add_booking_attendee | 예약에 참석자 추가 |
get_booking_attendee | 특정 참석자 가져오기 |
get_booking_routing_trace | 예약의 라우팅 추적 가져오기 |
get_org_team_bookings | 조직 팀의 예약 가져오기 |
get_org_user_bookings | 조직 사용자의 예약 가져오기 |
일정
| 도구 | 설명 |
|---|---|
get_schedules | 모든 일정 나열 |
get_schedule | ID로 특정 일정 가져오기 |
create_schedule | 새 일정 생성 |
update_schedule | 일정 업데이트 |
delete_schedule | 일정 삭제 |
get_default_schedule | 기본 일정 가져오기 |
가용성 및 캘린더
| 도구 | 설명 |
|---|---|
get_availability | 사용 가능한 시간 슬롯 가져오기 |
get_busy_times | 캘린더에서 바쁜 시간 가져오기 |
get_connected_calendars | 연결된 캘린더 나열 |
get_conferencing_apps | 화상 회의 애플리케이션 나열 |
팀 및 멤버십
| 도구 | 설명 |
|---|---|
get_my_teams | 소속된 팀 가져오기 |
get_org_teams | 조직 팀 가져오기 |
create_team_invite | 팀에 누군가 초대 |
create_team_membership | 팀 멤버십 생성 |
get_team_memberships | 모든 팀 멤버십 가져오기 |
get_team_membership | 팀 멤버십 가져오기 |
update_team_membership | 팀 멤버십 업데이트 |
delete_team_membership | 팀 멤버십 삭제 |
조직
| 도구 | 설명 |
|---|---|
get_org_memberships | 모든 조직 멤버십 가져오기 |
create_org_membership | 조직 멤버십 생성 |
get_org_membership | 조직 멤버십 가져오기 |
update_org_membership | 조직 멤버십 업데이트 |
delete_org_membership | 조직 멤버십 삭제 |
get_org_attributes | 조직 속성 가져오기 |
get_org_attribute | 조직 속성 가져오기 |
get_attribute_options | 속성 옵션 가져오기 |
get_user_attributes | 사용자에게 할당된 속성 가져오기 |
assign_attribute_to_user | 사용자에게 속성 할당 |
update_user_attribute | 사용자에게 할당된 속성 업데이트 |
unassign_attribute_from_user | 사용자에게서 속성 할당 해제 |
get_user_attribute_history | 사용자의 속성 할당 기록 가져오기 |
라우팅 폼
| 도구 | 설명 |
|---|---|
calculate_routing_form_slots | 라우팅 폼 응답을 기반으로 슬롯 계산 |
get_org_routing_forms | 조직 라우팅 폼 가져오기 |
get_org_routing_form_responses | 라우팅 폼 응답 가져오기 |
API 카탈로그
| 도구 | 설명 |
|---|---|
find_api_operation | 전체 API v2 작업 카탈로그 검색 |
describe_api_operation | API 작업의 입력 스키마 가져오기 |
call_api_operation | 카탈로그에서 모든 API v2 작업 실행 |
예시 프롬프트
연결이 완료되면 자연어로 Cal.com과 상호작용할 수 있습니다:
- "이번 주에 어떤 예약이 있나요?"
- "'Quick Chat'이라는 30분 이벤트 유형을 만들어 줘"
- "내일 John과의 회의를 취소해 줘"
- "다음 주 월요일의 가능한 슬롯을 보여 줘"
- "오후 2시 회의를 목요일 오후 3시로 변경해 줘"
- "어떤 이벤트 유형이 있나요?"
관련 리소스
- AI 에이전트 가이드 — Cal.com API를 직접 사용하여 AI 에이전트 구축
- API v2 참조 — 전체 API 엔드포인트 문서
- GitHub 저장소 — 소스 코드
이 문서는 개발자 문서 플랫폼인 Mintlify에서 구축 및 호스팅됩니다.