MCP Apple Calendars
MCP 애플 캘린더
macOS에서 Apple 캘린더와 상호 작용하기 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 모듈을 사용하면 AI 모델이 표준화된 인터페이스를 통해 캘린더 데이터에 접근하고 조작할 수 있습니다.
필수 조건
macOS 12.0 이상
Node.js 16.0 이상
로컬에서 실행되는 Calendar API Bridge
Related MCP server: macOS Calendar MCP Server
설치
이 저장소를 복제하세요
종속성 설치:
지엑스피1
TypeScript 코드를 작성합니다.
npm run build
용법
Calendar API Bridge가 포트 8080에서 실행 중인지 확인하세요.
MCP 서버를 시작합니다.
npm start
사용 가능한 도구
MCP 서버는 AI 모델에 대해 다음과 같은 도구를 제공합니다.
getCalendars: 사용 가능한 모든 캘린더를 나열합니다.getCalendarEvents: 특정 캘린더에서 이벤트 가져오기createCalendarEvent: 캘린더에 새 이벤트를 만듭니다.updateCalendarEvent: 기존 이벤트 업데이트deleteCalendarEvent: 캘린더에서 이벤트를 삭제합니다.
날짜 형식
이벤트를 만들거나 업데이트할 때 다음 날짜 형식을 사용할 수 있습니다.
밀리초와 Z 시간대를 사용한 ISO8601(권장):
2025-03-09T10:00:00.000Z밀리초 없는 ISO8601:
2025-03-09T10:00:00T 대신 공백이 있는 ISO8601:
2025-03-09 10:00:00슬래시를 포함한 ISO8601:
2025/03/09 10:00:00
Calendar API Bridge가 업데이트되어 이러한 날짜 형식을 자동으로 처리합니다.
개발
자동 재로딩을 사용하여 개발 모드에서 서버를 실행하려면:
npm run dev특허
MIT
Available Tools
7 toolscreateCalendarD
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| color | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
createCalendarEventD
| Name | Required | Description | Default |
|---|---|---|---|
| calendarId | Yes | ||
| title | Yes | ||
| startDate | Yes | ||
| endDate | Yes | ||
| location | No | ||
| notes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteCalendarD
| Name | Required | Description | Default |
|---|---|---|---|
| calendarId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteCalendarEventD
| Name | Required | Description | Default |
|---|---|---|---|
| calendarId | Yes | ||
| eventId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCalendarEventsD
| Name | Required | Description | Default |
|---|---|---|---|
| calendarId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getCalendarsD
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateCalendarEventD
| Name | Required | Description | Default |
|---|---|---|---|
| calendarId | Yes | ||
| eventId | Yes | ||
| title | No | ||
| startDate | No | ||
| endDate | No | ||
| location | No | ||
| notes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- Changed
getCalendars1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
7 tool updates
- First observed
createCalendar - First observed
createCalendarEvent - First observed
deleteCalendar - First observed
deleteCalendarEvent - First observed
getCalendarEvents - First observed
getCalendars - First observed
updateCalendarEvent
TDQS
Scored across 7 tools
Every tool has a clearly distinct purpose targeting either calendars or calendar events with specific CRUD operations. The naming makes it obvious whether a tool works on calendars (createCalendar, deleteCalendar, getCalendars) or calendar events (createCalendarEvent, deleteCalendarEvent, getCalendarEvents, updateCalendarEvent), with no ambiguity between them.
All tools follow a consistent verb_noun pattern with camelCase styling throughout. The naming is perfectly predictable: create/delete/get/update + Calendar/CalendarEvent, making it easy to understand what each tool does at a glance.
With 7 tools, this is well-scoped for a calendar management server. Each tool earns its place by covering essential CRUD operations for both calendars and calendar events, providing a complete yet manageable interface without being overwhelming or insufficient.
The tool set provides complete CRUD coverage for both calendars (create, delete, get) and calendar events (create, delete, get, update). There are no obvious gaps—agents can fully manage the calendar lifecycle, from creating calendars to handling events within them, with no dead ends.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
GDPR-compliant calendar access for AI assistants: read, create, edit, RSVP. Google, MS 365, Apple.
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables natural language interaction with Google Calendar, allowing users to view, create, update, and delete calendar events through context-aware operations.118 npm1MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables direct integration with macOS Calendar application using AppleScript, allowing users to create, list, and search calendar events without requiring OAuth setup.86MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server for Google Calendar integration, enabling AI assistants to manage events, check availability, and work with multiple accounts and calendars.118 npmMIT
- AlicenseNot gradedqualityFmaintenanceA comprehensive MCP server that provides AI assistants with natural language access to Apple Calendar, enabling reading, searching, creating, and managing calendar events.3MIT