Token导航 LogoToken导航

MCP Server · 日程管理

I Calendar

一个通过CalDAV协议为iCloud Calendar提供自然语言日历管理的Model Context Protocol (MCP)服务器,支持跨平台操作并与AI助手集成。

stdio官方级别未说明来源级核验工具 4
日程管理跨平台PythonClaude事件管理Claude Desktop

快速开始

作者 / 组织
zwrong
提供方
zwrong
运行时
Python

工具数量

4

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

1 个

MCP World

选型结论

I Calendar 属于日程管理类 MCP Server,公开资料标注 4 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

日程管理

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

uv run mcp-ical

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 4 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

iCloud日历MCP服务器

一个强大的模型上下文协议(MCP)服务器,通过CalDAV协议为iCloud日历提供自然语言日历管理。此跨平台解决方案使您能够在任何兼容MCP的客户端中使用自然语言命令与iCloud日历进行交互。

✨ 特性

  • 🔍 列出日历:查看所有可用的iCloud日历
  • 📅 活动管理:创建、读取、更新和删除日历事件
  • 🔄 重复发生的事件:支持重复事件模式
  • ⏰ 智能报警:为事件设置自定义提醒
  • 🌐 交叉平台的:适用于macOS、Windows和Linux
  • 🔐 安全:使用特定于应用程序的密码进行安全的iCloud身份验证
  • 🤖 自然语言:与人工智能助手集成,实现自然日历交互
  • 🔌 符合MCP标准:完全支持模型上下文协议

📋 先决条件

  • Python 3.12或更高版本
  • icloud账号
  • Apple ID的应用程序特定密码

🚀 安装

选项1:从源代码安装

  1. 克隆此存储库:
   git clone https://github.com/zwrong/iCalendar.git
   cd iCalendar
  1. 安装依赖项:
   uv sync

⚙️ 配置

步骤1:创建配置文件

复制示例配置文件:

cp config.json.example config_private.json

步骤2:生成应用程序特定密码

  1. 登录到…… appleid.apple.com
  2. 导航到“登录和安全”
  3. 选择“应用程序特定密码”
  4. 生成新密码
  5. 将其复制到剪贴板

步骤3:配置凭据

编辑 config_private.json:

{
  "caldav": {
    "server_url": "https://caldav.icloud.com/",
    "username": "your_apple_id@icloud.com",
    "password": "your_app_specific_password"
  }
}

重要:从不承诺 config_private.json 版本控制!它包含敏感凭据。

🏃 运行服务器

启动服务器:

uv run mcp-ical

做 不 在MCP客户端中使用iCalendar时,关闭运行服务器的终端。

Claude桌面配置

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "iCalendar": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/iCalendar",
        "run",
        "mcp-ical"
      ]
    }
  }
}

故障排除

如果遇到“spawn uv ENOENT”错误:

当系统找不到 uv PATH中的命令。要解决此问题,请指定您的 uv 可执行文件:

{
  "mcpServers": {
    "ical": {
      "command": "/ABSOLUTE/PATH/TO/uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/iCalendar",
        "run",
        "mcp-ical"
      ]
    }
  }
}

找到通往你的道路 uv 可通过运行以下命令执行:

which uv
# or on Windows:
where uv

替换 /ABSOLUTE/PATH/TO/uv 命令返回的实际路径。

配置完Claude Desktop后,重新启动Claude Desktop并使用它!

📚 用法示例

示例1:检查你的计划

User: "Do I have any plans today?"

AI: I'll check your calendar for today
→ list_events("2025-11-06T00:00:00", "2025-11-06T23:59:59")

示例2:创建事件

User: "Schedule a lunch meeting with John on Friday at noon"

AI: I'll create that event for you
→ create_event({
    "title": "Lunch Meeting with John",
    "start_datetime": "2025-01-17T12:00:00",
    "end_datetime": "2025-01-17T13:00:00",
    "calendar_name": "Personal",
    "description": "Discuss project updates"
  })

示例3:删除事件

User: "Delete the lunch meeting this week"

AI: I'll create that event for you
→ create_event({
    "title": "Lunch Meeting with John",
    "start_datetime": "2025-01-17T12:00:00",
    "end_datetime": "2025-01-17T13:00:00",
    "calendar_name": "Personal",
    "description": "Discuss project updates"
  })

示例4:设置提醒

User: "Remind me about the presentation tomorrow at 9 AM, set the reminder for 30 minutes before"

AI: I'll create the event with a 30-minute reminder
→ create_event({
    "title": "Presentation",
    "start_datetime": "2025-01-06T09:00:00",
    "end_datetime": "2025-01-06T10:00:00",
    "alarm": 30
  })

🏗️ 建筑

核心组件

  • server.py:使用FastMCP定义工具的MCP服务器入口点
  • caldav_client.py:用于iCloud CalDAV访问和CRUD操作的CalDAVManager类
  • ical.py:CalendarManager包装器提供兼容层
  • models.py:用于请求/响应验证的Pydantic模型
  • config.py:具有优先级处理的配置管理

依赖项

  • mcp\[cli\]:模型上下文协议框架
  • 卡尔达夫:用于iCloud访问的CalDAV客户端库
  • vobject:iCalendar文件格式解析
  • 请求::用于CalDAV操作的HTTP客户端
  • 日志记录器:结构化日志记录
  • 皮丹提克:数据验证和序列化

🤝 与AI客户端集成

此MCP服务器可与任何兼容MCP的客户端配合使用,包括:

  • 克劳德桌面
  • 克劳德代码
  • 自定义MCP客户端

🐛 故障排除

身份验证问题

  • 验证您的Apple ID电子邮件是否正确
  • 确保您使用的是特定于应用程序的密码(而不是常规密码)
  • 检查应用程序特定密码是否未过期
  • 如果需要,请确认您的Apple ID已启用2FA

连接问题

  • 验证您的互联网连接
  • 检查您的Apple ID设置中是否启用了iCloud日历
  • 确保防火墙允许出站HTTPS连接

事件创建/更新失败

  • 验证事件时间是否为ISO格式(YYYY-MM-DDTHH:MM:SS)
  • 确保开始时间早于结束时间
  • 检查日历名称是否存在

📝 发展

项目结构

mcp-ical/
├── src/
│   └── mcp_ical/
│       ├── server.py          # MCP server entry point
│       ├── caldav_client.py   # CalDAV operations
│       ├── ical.py           # Calendar manager wrapper
│       ├── models.py         # Data models
│       └── config.py         # Configuration
├── tests/                    # Test suite
├── config.json.example       # Configuration template
├── pyproject.toml           # Project metadata
└── README.md                # This file

📖 已知问题和解决方案

最近修复(v0.1.0)

  • 固定的: update_event 和 delete_event 现在可以正确处理URL编码的事件ID
  • 固定的:事件标识现在检查两者 event.id 和 event.url 属性
  • 固定的:事件数据的稳健类型检查(字符串vs vobject)

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

📞 支持

  • 📧 电子邮件:zwrong@me.com
  • 🐛 问题:
  • 💬 讨论:

______________________________________________________________________

由以下材料制成❤️ 对于MCP社区

工具与能力

工具数量

4

资源数量

0

提示词数量

0

能力标签

日历管理Python本地部署自然语言处理跨平台CalDAViCloud集成事件管理

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

安排与改期

用自然语言创建会议、调整时间,冲突时先提示。

提醒与待办

把任务写进清单,到点提醒。

多日历合并

把几个日历的行程放在一起看,避免撞期。

选择建议

值得选的地方

  • 只提供 4 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在日程管理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
I Calendar

MCP World · 本页

4stdio有1 个2026-05-17
MCP Server Apple Events

MCP World

5stdio有2 个2026-05-17
Google Calendar

MCP World

0HTTP有3 个2026-05-17
Todoist MCP Server 79e800d2

MCP World

35stdio有3 个2026-05-17
Google Calendar Streamable MCP Server

MCP World

0stdio有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

I Calendar 怎么安装?

公开资料给出的安装命令是 uv run mcp-ical,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

I Calendar 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

I Calendar 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

I Calendar 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

I Calendar 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP