自然语言日历管理服务

MCP iCal Server是一款基于自然语言处理的macOS日历管理工具,通过Model Context Protocol (MCP)实现对话式日历管理,支持事件创建、智能日程查询和事件修改等功能。

  • by Omar-V2
  • Python
  • 本地部署
  • 332 星标
  • 更新于
在 GitHub 查看 Omar-V2/mcp-ical

使用说明

MCP iCal服务器

🗓️ macOS自然语言日历管理

🌟 概述

使用自然语言转换您与macOS日历的交互方式!mcp服务器利用模型上下文协议(mcp)将您的日历管理转化为对话体验。

You: "What's my schedule for next week?"
Claude: "Let me check that for you..."
[Displays a clean overview of your upcoming week]

You: "Add a lunch meeting with Sarah tomorrow at noon"
Claude: "✨ 📅 Created: Lunch with Sarah Tomorrow, 12:00 PM"

✨ 特性

📅 事件创建

立即将自然语言转换为日历事件!

"Schedule a team lunch next Thursday at 1 PM at Bistro Garden"
↓
📎 Created: Team Lunch
   📅 Thursday, 1:00 PM
   📍 Bistro Garden

支持的功能

  • 自定义日历选择
  • 位置和注意事项
  • 智能提醒
  • 周期性事件

高级用户示例

🔄 Recurring Events:
"Set up my weekly team sync every Monday at 9 AM with a 15-minute reminder"

📝 Detailed Events:
"Schedule a product review meeting tomorrow from 2-4 PM in the Engineering calendar, 
add notes about reviewing Q1 metrics, and remind me 1 hour before"

📱 Multi-Calendar Support:
"Add a dentist appointment to my Personal calendar for next Wednesday at 3 PM"

🔍 智能日程管理和可用性

通过自然查询快速访问您的日程安排:

"What's on my calendar for next week?"
↓
📊 Shows your upcoming events with smart formatting

"When am I free to schedule a 2-hour meeting next Tuesday?"
↓
🕒 Available time slots found:
   • Tuesday 10:00 AM - 12:00 PM
   • Tuesday 2:00 PM - 4:00 PM

✏️ 智能事件更新

自然地修改事件:

Before: "Move tomorrow's team meeting to 3 PM instead"
↓
After: ✨ Meeting rescheduled to 3:00 PM

更新功能

  • 时间和日期修改
  • 日历传输
  • 位置更新
  • 注释添加
  • 提醒调整
  • 反复出现的模式变化

📊 日历管理

  • 查看所有可用日历
  • 智能日历建议
  • 使用iCloud配置时,无缝集成Google日历

💡 专业提示:由于您可以在自定义日历中创建事件,如果您的Google日历与iCloud日历同步,您也可以使用此MCP服务器在Google日历中创建活动!只需在创建/更新事件时指定谷歌日历。

🚀 快速开始

💡 备注:虽然这些说明侧重于使用Claude for Desktop设置MCP服务器,但此服务器可以与任何兼容MCP的客户端一起使用。有关使用不同客户端的更多详细信息,请参阅 MCP文件.

先决条件

安装

虽然此MCP服务器可以与任何兼容MCP的客户端一起使用,但以下说明适用于桌面版的Claude。

  1. 克隆和设置

    # Clone the repository
    git clone https://github.com/Omar-V2/mcp-ical.git
    cd mcp-ical
    
    # Install dependencies
    uv sync
    
  2. 为桌面配置Claude

    创建或编辑 ~/Library/Application\ Support/Claude/claude_desktop_config.json:

    {
        "mcpServers": {
            "mcp-ical": {
                "command": "uv",
                "args": [
                    "--directory",
                    "/ABSOLUTE/PATH/TO/PARENT/FOLDER/mcp-ical",
                    "run",
                    "mcp-ical"
                ]
            }
        }
    }
    
  3. 启动Claude以访问日历

    ⚠️ 关键的:必须从终端启动Claude才能正确请求日历权限。直接从Finder启动不会触发权限提示。

    在终端中运行以下命令。

    /Applications/Claude.app/Contents/MacOS/Claude
    

    ⚠️ 警告:或者,您可以 手动授予日历访问权限,但这涉及修改系统文件,只有在您了解所涉及的风险的情况下才能进行。

  4. 开始使用!

    Try: "What's my schedule looking like for next week?"
    

🔑 备注:当您首次使用与日历相关的命令时,macOS将提示您访问日历。只有当您按照上述规定从终端启动Claude时,才会出现此提示。

🧪 测试

⚠️ 警告:测试将创建临时日历和事件。虽然清理是自动的,但只在开发环境中运行测试。

# Install dev dependencies
uv sync --dev

# Run test suite
uv run pytest tests

🐛 已知问题

重复发生的事件

  • 非标准定期计划可能并不总是设置正确
  • 与Haiku相比,Claude 3.5 Sonnet的成绩更好
  • 全天重复事件的提醒时间可能会关闭一天

🤝 贡献

欢迎提供反馈和意见。以下是您可以提供帮助的方式:

  1. 分叉存储库
  2. 创建功能分支
  3. 提交您的更改
  4. 推到分支
  5. 打开拉取请求

📝 许可证

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

🙏 致谢