npm icloud-calendar-mcpstdioMITupdated 21d ago
An MCP server for managing iCloud Calendar.
¿Qué puedes hacer con icloud calendar?
Setup
Requirements:
- Node.js 22.13 or later
- Your Apple Account email
- An Apple app-specific password
Add the server to your MCP client:
{
"mcpServers": {
"icloud-calendar": {
"command": "npx",
"args": ["-y", "icloud-calendar-mcp"],
"env": {
"ICLOUD_USERNAME": "you@example.com",
"ICLOUD_APP_PASSWORD": "xxxx-xxxx-xxxx-xxxx"
}
}
}
}
Use an app-specific password, not your Apple Account password.
Tools
| Tool | Purpose |
|---|---|
list_calendars |
List calendars |
list_events |
List events in a time range |
get_event |
Get an event |
create_event |
Create an event |
update_event |
Update an event |
delete_event |
Delete an event |
find_conflicts |
Find overlapping events |
free_busy |
Return busy time ranges |
Events can include time zones, all-day dates, recurrence rules, alarms, locations, descriptions, URLs, and attendees.
Example requests
Once the server is connected, you can ask your MCP client:
Show my calendars.
What is on my calendar next week in Asia/Shanghai time?
Add a project review to my Work calendar tomorrow from 2:00 PM to 3:00 PM, with a reminder 15 minutes before.
Do I have any conflicts on Friday between 9:00 AM and noon?
Move the project review to 4:00 PM and change the location to Meeting Room B.
Add an all-day event called “Company holiday” on October 1.
Delete the project review event.
For ambiguous requests, include the calendar, date, time, and time zone when possible.
Behavior
- All-day event end dates are exclusive. A one-day event on August 18 uses
2026-08-18to2026-08-19. - Create, update, and delete operations accept a
request_idfor safe retries. - Concurrent changes are detected with ETags.
- Whole recurring series can be updated or deleted. Unsupported occurrence-level changes return an error instead of modifying the series.
See tool contracts for complete inputs, outputs, and error codes.
HTTP
stdio is the default transport. Streamable HTTP is optional:
ICLOUD_MCP_TRANSPORT=http \
ICLOUD_MCP_HTTP_TOKEN='replace-with-a-long-random-token' \
ICLOUD_MCP_HTTP_PORT=3000 \
npx -y icloud-calendar-mcp
HTTP mode requires a bearer token and listens on loopback by default. See security before exposing it through a proxy.
Development
pnpm install
pnpm check
See architecture, contributing, and releasing.
License
Instalación
Añade icloud calendar a tu cliente. Elige el que uses.
claude mcp add icloud-calendar-mcp -- npx -y icloud-calendar-mcpcodex mcp add icloud-calendar-mcp -- npx -y icloud-calendar-mcpamp mcp add icloud-calendar-mcp -- npx -y icloud-calendar-mcp{
"mcpServers": {
"icloud-calendar-mcp": {
"command": "npx",
"args": [
"-y",
"icloud-calendar-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"icloud-calendar-mcp": {
"command": "npx",
"args": [
"-y",
"icloud-calendar-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"icloud-calendar-mcp","command":"npx","args":["-y","icloud-calendar-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"icloud-calendar-mcp": {
"command": "npx",
"args": [
"-y",
"icloud-calendar-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"icloud-calendar-mcp": {
"command": "npx",
"args": [
"-y",
"icloud-calendar-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"icloud-calendar-mcp": {
"command": "npx",
"args": [
"-y",
"icloud-calendar-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"icloud-calendar-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"icloud-calendar-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"icloud-calendar-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"icloud-calendar-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y icloud-calendar-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
8 herramientas
icloud calendar expone 8 herramientas a un agente conectado.
- list_calendars
- List calendars
- list_events
- List events in a time range
- get_event
- Get an event
- create_event
- Create an event
- update_event
- Update an event
- delete_event
- Delete an event
- find_conflicts
- Find overlapping events
- free_busy
- Return busy time ranges
Puntuación
72 / 100
Buena
- Documentación22/25
- Mantenimiento19/25
- Confianza13/20
- Capacidad6/15
- Instalación12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 14 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 8 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Historial de versiones
| Versiones | Publicada |
|---|---|
| 0.1.3Última | 18 ago 2026 |