返回市场
麦普日历服务

麦普日历服务

作者:Omar-V2203 星标更新:2025-04-22

项目介绍

MCP iCal Server

<div align="center">

📅 macOS上的自然语言日历管理

MIT License Python 3.12+ MCP Compatible

</div>

🌟 概述

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

您:"下周我的日程是什么?"
Claude:"让我为您检查一下……"
[显示您即将到来的一周的清晰概览]

您:"明天中午与Sarah安排午餐会议"
Claude:"✨ 📅 创建:明天中午与Sarah的午餐会议"

✨ 特性

📅 事件创建

即时将自然语言转化为日历事件!

"安排下个星期四下午1点在Bistro Garden举行的团队午餐"
↓
📎 创建:团队午餐
   📅 星期四,下午1点
   📍 Bistro Garden

支持的功能

  • 自定义日历选择
  • 地点和备注
  • 智能提醒
  • 周期性事件

高级用户示例

🔄 周期性事件:
"每周一上午9点设置我的团队同步会议,并提前15分钟提醒"

📝 详细事件:
"在工程日历中安排明天下午2点到4点的产品评审会议,
添加关于审查第一季度指标的备注,并提前1小时提醒我"

📱 多日历支持:
"在我的个人日历中添加下周三下午3点的牙医预约"

🔍 智能日程管理和可用性

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

"下周我的日历上有什么?"
↓
📊 显示您即将到来的事件,带有智能格式

"下周二我可以安排一个两小时的会议吗?"
↓
🕒 找到可用时间:
   • 星期二上午10点至中午12点
   • 星期二下午2点至4点

✏️ 智能事件更新

自然地修改事件:

之前:"把明天的团队会议改为下午3点"
↓
之后:✨ 会议已重新安排到下午3点

更新功能

  • 时间和日期修改
  • 日历转移
  • 地点更新
  • 备注添加
  • 提醒调整
  • 周期模式更改

📊 日历管理

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

💡 小贴士:由于您可以创建自定义日历中的事件,如果您将Google日历与iCloud日历同步,也可以使用此MCP服务器来创建Google日历中的事件!只需在创建或更新事件时指定Google日历即可。

🚀 快速开始

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

先决条件

安装

尽管这个MCP服务器可以与任何兼容MCP的客户端一起使用,下面的说明是针对Claude for desktop的使用。

  1. 克隆并设置

    # 克隆仓库
    git clone https://github.com/Omar-V2/mcp--ical.git
    cd mcp-ical
    
    # 安装依赖项
    uv sync
    
  2. 配置Claude for Desktop

    创建或编辑 ~/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. 开始使用!

    尝试:"下周我的日程看起来怎么样?"
    

🔑 注意:当您首次使用与日历相关的命令时,macOS会提示您授予日历访问权限。此提示仅会在您按照上述说明从终端启动Claude时出现。

🧪 测试

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

# 安装开发依赖项
uv sync --dev

# 运行测试套件
uv run pytest tests

🐛 已知问题

周期性事件

  • 非标准周期性计划可能无法总是正确设置
  • 使用Claude 3.5 Sonnet比Haiku有更好的结果
  • 对于全天周期性事件,提醒时间可能会错一天

🤝 贡献

欢迎反馈和贡献。以下是您可以帮助的方式:

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

📝 许可证

本项目采用MIT许可证 - 详情见LICENSE文件。

🙏 致谢