这是一个 MCP(模型上下文协议)服务器,可提供对 macOS Calendar.app 事件和提醒事项的访问,适用于与 Claude 及其他 AI 助手集成,帮助用户更便捷地管理和利用日历数据。
此包可作为 MCP 服务器运行,与 Claude 及支持 MCP 协议的其他 AI 助手集成,让它们能够访问和交互您的 macOS 日历数据。
# 作为 MCP 服务器为 AI 助手集成运行
uvx calendar-app-mcp # 自动作为 MCP 服务器运行且无参数
uvx calendar-app-mcp mcp # 显式运行 MCP 服务器
运行后,Claude 可通过 MCP 协议与您的日历数据交互,实现以下功能:
# 从 PyPI 安装
pip install calendar-app-mcp
# 使用 uv
uv pip install calendar-app-mcp
# 使用 uvx(无需安装直接执行)
uvx calendar-app-mcp calendars
uvx calendar-app-mcp mcp
安装后,该包提供两个命令行可执行文件:
# 通用日历应用工具 - 无参数运行时显示帮助
calendar-app
# 以 MCP 为中心的变体 - 默认情况下无参数运行时启动 MCP 服务器
calendar-app-mcp
两者支持相同的子命令,但 calendar-app-mcp
更适合用作 MCP 服务器。
# 克隆仓库
git clone https://github.com/rygwdn/calendar-app-mcp.git
cd calendar-app-mcp
# 如果尚未安装,请安装 uv 包管理器
# https://github.com/astral-sh/uv
# 以开发模式安装包
uv install -e .
# 使用测试依赖项进行安装(可选)
uv install -e .[tests]
# 作为 MCP 服务器为 AI 助手集成运行
uvx calendar-app-mcp # 自动作为 MCP 服务器运行且无参数
uvx calendar-app-mcp mcp # 显式运行 MCP 服务器
# 运行特定测试文件
python -m pytest tests/unit/utils/test_date_utils.py
# 运行特定测试
python -m pytest tests/unit/utils/test_date_utils.py::TestParseDate::test_valid_date
此包提供了多个 MCP 工具和资源:
get_events
:检索特定日期范围的事件get_reminders
:检索特定日期范围的提醒事项list_calendars
:列出所有可用日历get_today_summary
:获取今天事件和提醒事项的摘要search
:搜索包含特定术语的事件和提醒事项get_current_time
:获取指定时区的当前日期和时间convert_time
:将一个时区的时间转换为另一个时区list_timezones
:列出所有可用时区,可选按区域过滤calendar://events/{date}
:访问特定日期的事件calendar://calendars
:访问可用日历列表datetime://current/{timezone}
:获取指定时区的当前时间daily_agenda
:生成查看每日日程的提示要发布新版本到 PyPI,可按以下步骤操作:
pyproject.toml
中的版本号。uv run pytest --black --ruff
。UV_NO_CONFIG=1 uv run python -m build
。UV_NO_CONFIG=1 uv run twine upload dist/calendar_app_mcp-X.Y.Z*
将 X.Y.Z 替换为实际版本号。
5. 验证包是否可以安装:uvx calendar-app-mcp@latest --version
。
6. 创建并推送版本标签:git tag vX.Y.Z && git push origin vX.Y.Z
。
有关详细说明,请参阅 CLAUDE.md
文件。
运行测试相关的技术细节:
python -m pytest
。python -m pytest --cov=calendar_app
。python -m pytest tests/unit/utils/test_date_utils.py
。python -m pytest tests/unit/utils/test_date_utils.py::TestParseDate::test_valid_date
。