Token导航 LogoToken导航TokenDH.com
Proton Calendar MCP logo
日程管理stdio官方级别未说明来源级核验

Proton Calendar MCP

MCP Server

一个提供Proton Calendar只读访问并可选择与Trello集成的MCP服务器,通过AI助手如Claude Code访问。

工具数

7

提示词数

0

GitHub Stars

1

资源数

0
日程管理PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Hattmakaren

提供方

Hattmakaren

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

Proton日历MCP服务器

MCP(模型上下文协议)服务器,提供对Proton日历数据的只读访问,并可选择与Trello集成以进行任务管理,所有这些都可以通过Claude Code等人工智能助手访问。

特性

日历功能

  • 只读访问 通过可共享的URL访问您的Proton日历
  • 三个日历工具 用于查询事件:

- get_today_events:获取今天安排的所有活动 - get_week_events:获取未来7天的所有活动 - get_date_range_events:获取自定义日期范围的事件

Trello集成(可选)

  • 只读访问 到您的Trello板和卡
  • 四个Trello工具 对于任务管理:

- get_trello_cards_today:获取今天到期的所有卡片 - get_trello_cards_tomorrow:拿到明天到期的所有卡片 - get_trello_overdue_cards:获取过期卡片,按天数计算 - get_trello_cards_date_range:获取在指定日期范围内到期的卡片

  • 丰富的卡片详细信息:标签、清单、描述、板/列表信息
  • 自动板过滤 通过环境变量

规划代理

  • 每日摘要代理 为今天和明天提供智能准备建议
  • 周计划代理 每月概览和智能任务建议
  • 这两个代理都包括工作负载分析和智能规划提示

先决条件

  • Python 3.8或更高版本(用Python 3.13测试)
  • Proton日历帐户
  • Proton日历中的可共享日历URL(只读)
  • (可选)带有API密钥和代币的Trello帐户,用于Trello集成

安装说明

1.获取您的Proton日历共享URL

  1. 首选 日历.proton.me
  2. 选择要共享的日历
  3. 点击日历设置(三点菜单)
  4. 选择“共享”或“获取可共享链接”
  5. 生成一个 只读的 日历的URL
  6. 复制URL(它应该是.ics格式)

2.安装依赖项

cd proton-calendar-mcp
pip install -r requirements.txt

3.配置环境变量

所有配置都通过集中式管理 .env 文件在 proton-calendar-mcp 目录。

创建.env文件

创建一个名为的文件 .envproton-calendar-mcp 包含以下内容的目录:

# Proton Calendar Configuration (Required)
PROTON_CALENDAR_URL=https://calendar.proton.me/api/calendar/v1/url/YOUR_CALENDAR_ID/calendar.ics

# Trello Configuration (Optional - for task integration)
TRELLO_API_KEY=your_trello_api_key_here
TRELLO_TOKEN=your_trello_token_here

# Optional: Comma-separated list of board IDs to monitor (leave empty for all boards)
TRELLO_BOARD_IDS=

获取您的Trello凭据(可选)

要启用Trello集成:

  1. 获取您的Trello API密钥:

- 首选https://trello.com/power-ups/admin - 单击“新建”以创建新的电源 - 将显示您的API密钥

  1. 生成Trello令牌:

- 访问: https://trello.com/1/authorize?expiration=never&name=ProtonCalendarMCP&scope=read&response_type=token&key=YOUR_API_KEY - 替换 YOUR_API_KEY 使用您的实际API密钥 - 点击“允许”生成您的令牌

  1. 将凭据添加到.env文件:

- 更新 TRELLO_API_KEY 使用API密钥 - 更新 TRELLO_TOKEN 用你的代币 - 可选设置 TRELLO_BOARD_IDS 到特定的板ID(逗号分隔)

注:

  • .env 出于安全考虑,文件被忽略
  • 如果 TRELLO_BOARD_IDS 如果未设置,服务器将从您的所有板上取卡
  • 所有脚本(MCP服务器、daily_summary、trello_client)都使用这种集中式配置

4.用克劳德代码注册

使用stdio传输向Claude Code注册MCP服务器。由于所有配置都在 .env 文件,注册很简单:

claude mcp add --transport stdio proton-calendar -- python /path/to/proton-calendar-mcp/server.py

Windows示例:

claude mcp add --transport stdio proton-calendar -- python C:\Users\YourName\proton-calendar-mcp\server.py

Linux/Mac示例:

claude mcp add --transport stdio proton-calendar -- python /home/yourname/proton-calendar-mcp/server.py

重要提示:

  • 更新路径以匹配您保存项目的位置
  • 服务器将自动从以下位置加载配置 .env 文件
  • 无需通过传递环境变量 --env 旗帜

5.验证安装

检查服务器是否已注册并连接:

claude mcp list

您应该看到:

proton-calendar: python /path/to/server.py - ✓ Connected

用法

使用Claude代码

配置后,您可以向Claude Code询问有关日历和Trello板的问题:

日历查询:

  • “今天我的日历上有什么?”
  • “显示我下周的日程安排”
  • “1月15日至1月20日期间,我有什么活动?”

Trello查询(如果已配置):

  • “今天有什么Trello卡到期?”
  • “显示我过期的Trello任务”
  • “我明天要交什么卡?”
  • “给我看本周到期的Trello卡”

组合查询:

  • “我今天的日程表上有什么,包括Trello任务?”
  • “给我看明天到期的所有东西——日历和特雷罗”

Claude Code将自动使用适当的工具来获取和显示您的数据。

每日摘要代理

该项目包括 每日摘要代理 它提供了一个结合日历事件和Trello任务的智能概览:

cd proton-calendar-mcp
python daily_summary.py

特征:

  • ⚠️ 显示逾期的Trello任务(逾期天数)
  • 📅 显示今天的完整日程安排(日历+Trello任务)
  • 🔮 预览明天的活动和任务
  • 🎯 建议为明天的会议做准备
  • 💡 提供有用的提示(清晨提醒、连续会议警告)
  • ⏰ 强调重要的日程安排考虑因素

注: 每日摘要会自动从以下位置加载配置 .env 文件,包括Trello集成(如果已配置)。

输出示例:

============================================================
📅 DAILY SUMMARY
🗓️  Friday, November 14, 2025
============================================================

⚠️  OVERDUE TASKS
------------------------------------------------------------
• Ring om Gästhuset hyresgäst
  📋 Quest log → Weekly commitment
  ⏰ Due: 2025-11-07 01:03 PM (7 days overdue)
  🔗 https://trello.com/c/UYSzpJhy/...

📊 You have 1 overdue task(s) - prioritize these!

============================================================

🌟 TODAY'S SCHEDULE
------------------------------------------------------------
• Team Meeting
  ⏰ 02:00 PM - 03:00 PM
  📍 Conference Room A
  📝 Weekly sync meeting

📊 You have 1 event(s) scheduled today

------------------------------------------------------------
📝 TODAY'S TASKS (Trello)
------------------------------------------------------------
• Review pull request
  📋 Quest log → Weekly commitment
  ⏰ Due: 04:00 PM
  🏷️  Development
  🔗 https://trello.com/c/abc123/...

📊 You have 1 task(s) due today

============================================================
🔮 PREPARE FOR TOMORROW
📆 Saturday, November 15, 2025
------------------------------------------------------------
• Product Demo
  ⏰ 10:00 AM - 11:00 AM
  📍 Main Office
  📝 Demo new features to stakeholders
  🎯 Preparation needed:
     - Prepare slides and test equipment
     - Practice presentation
     - Review agenda and prepare talking points

📊 You have 1 event(s) tomorrow

============================================================
💡 TIPS
------------------------------------------------------------
🚨 You have overdue tasks - prioritize completing these first!
📋 Review tomorrow's schedule tonight
💧 Stay hydrated and take breaks!
============================================================

智能准备建议:

代理会分析您的事件,并提供情境感知的准备建议:

  • 会议 → 审查议程并准备谈话要点
  • 演示 → 准备幻灯片、测试设备、练习
  • 访谈 → 审阅简历,准备问题
  • 训练 → 复习材料,准备问题
  • 所需差旅 → 查看路线,预订房间

自动化提示: 您可以将其安排为自动运行:

  • 窗户: 使用任务计划程序
  • Linux/Mac: 使用cron作业

示例cron条目(每天早上7点运行):

0 7 * * * cd /path/to/proton-calendar-mcp && python daily_summary.py

每周计划代理

该项目包括 周计划代理 它分析下个月的情况,并建议下周的任务:

cd proton-calendar-mcp
python weekly_planner.py

特征:

  • 📅 每月概览,包括4周的即将发生的事件和按周分组的截止日期
  • ⚠️ 需要紧急关注的逾期任务
  • 📆 本周的完整日程安排及准备建议
  • ✅ 基于以下内容的智能任务建议:

- 到期日期和优先事项 - 日历事件之间的可用时间 - 本周工作量平衡

  • 💡 工作量评估的计划技巧(繁忙/中等/轻松周)
  • 🎯 重要活动(会议、演示等)的准备建议

注: 每周计划器会自动从以下位置加载配置 .env 文件,包括Trello集成(如果已配置)。

输出部分:

  1. 月度概览(4周):

- 按周分组的事件和任务 - 快速计数和亮点 - 帮助识别未来几周的繁忙与轻松

  1. 本周焦点:

- 需要紧急关注的逾期任务 - 完整的日程安排,包括活动详情 - 会议/演示文稿的准备建议 - 智能建议具有优先级的任务(🔴 紧急,🟠 高,🟡 中等,🟢 正常)

  1. 规划提示:

- 本周工作量评估 - 可用于集中工作的自由日 - 提醒查看和更新任务

自动化提示: 将此设置为每周运行一次(例如,周日晚上或周一早上):

# Run weekly on Sunday at 8 PM
0 20 * * 0 cd /path/to/proton-calendar-mcp && python weekly_planner.py

可用工具

日历工具

get_today_events

返回今天安排的所有事件。

无需参数

输出示例:

Events for Today:

• Test Meeting
  Time: 02:00 PM
  Location: Conference Room A
  Description: This is a test meeting

• Team Standup
  Time: 10:00 AM
  Location: Office

get_week_events

返回按日期分组的未来7天计划的所有事件。

无需参数

输出示例:

Events for the Next Week:

Wednesday, November 13, 2025:
  • Test Meeting (02:00 PM)
    Location: Conference Room A

Thursday, November 14, 2025:
  • Team Standup (10:00 AM)
    Location: Office

get_date_range_events

返回指定日期范围内的事件。

参数:

  • start_date (字符串):YYYY-MM-DD格式的开始日期
  • end_date (字符串):YYYY-MM-DD格式的结束日期

输出示例:

Events from 2025-11-13 to 2025-11-20:

Wednesday, November 13, 2025:
  • Test Meeting (02:00 PM)
    Location: Conference Room A
    Description: This is a test meeting

Trello工具

注: 只有配置了Trello凭据,Trello工具才可用。

get_trello_cards_today

归还今天到期的所有Trello卡。

无需参数

输出示例:

Trello Cards Due Today:

• Fix authentication bug
  Board: Development → In Progress
  Due: 02:00 PM
  Labels: High Priority, Bug
  Checklist: 2/5 completed
  URL: https://trello.com/c/abc123

• Review pull request
  Board: Development → Review
  Due: 04:00 PM
  Labels: Review
  URL: https://trello.com/c/def456

get_trello_cards_明天

归还明天到期的所有Trello卡。

无需参数

输出格式:get_trello_cards_today

获取标签

退回所有逾期的Trello卡,并计算逾期天数。

无需参数

输出示例:

Overdue Trello Cards (3 total):

• Update documentation
  Board: Documentation → To Do
  Due: 2025-11-10 09:00 AM (3 days overdue)
  Labels: Documentation
  Checklist: 0/3 completed
  URL: https://trello.com/c/ghi789

get_trello_cards_date_range

返回在指定日期范围内到期的Trello卡。

参数:

  • start_date (字符串):YYYY-MM-DD格式的开始日期
  • end_date (字符串):YYYY-MM-DD格式的结束日期

输出示例:

Trello Cards Due 2025-11-13 to 2025-11-20:

Wednesday, November 13, 2025:
  • Deploy to production
    Board: Operations → Scheduled
    Due: 02:00 PM
    Labels: Deploy, Critical
    Checklist: 5/7 completed
    URL: https://trello.com/c/jkl012

Thursday, November 14, 2025:
  • Team retrospective
    Board: Team → Meetings
    Due: 10:00 AM
    URL: https://trello.com/c/mno345

测试

运行测试套件以验证所有功能:

cd proton-calendar-mcp
pytest tests/ -v

所有测试均应通过:

37 passed in 2.5s

测试覆盖率

测试套件包括:

日历提取测试(11个测试):

  • ✅ 成功获取日历
  • ✅ HTTP错误处理
  • ✅ 数据处理无效
  • ✅ 超时处理
  • ✅ 事件格式
  • ✅ 日期范围过滤
  • ✅ 今天的事件过滤
  • ✅ 事件排序
  • ✅ 全天事件处理

每日总结试剂测试(12次测试):

  • ✅ 会议准备分析
  • ✅ 演示文稿的准备分析
  • ✅ 面试准备分析
  • ✅ 基于位置的准备
  • ✅ 培训活动准备
  • ✅ 时间格式
  • ✅ 事件摘要格式
  • ✅ 长描述处理
  • ✅ 多行描述处理

Trello客户端测试(14项测试):

  • ✅ 客户端初始化和凭据
  • ✅ 具有所有属性的卡片格式化
  • ✅ 检查表进度跟踪
  • ✅ 标签和附件处理
  • ✅ 日期筛选(今天、明天、过期)
  • ✅ 日期范围过滤
  • ✅ 按到期日分类卡片
  • ✅ 边缘案例(无截止日期,时区处理)

建筑

组件

MCP服务器(Server.py):

  1. fetch_calendar():异步函数,用于从URL获取和解析iCalendar数据
  2. format_event():从日历事件中提取相关信息
  3. filter_events_by_date_range():按日期筛选和排序事件
  4. Trello集成:用于任务管理的可选Trello客户端
  5. MCP服务器:通过MCP显示3个日历工具+4个Trello工具(如果已配置)

Trello客户端(Trello_Client.py):

  1. TrelloCardFetcher:Trello API交互的主要客户端类
  2. get_cards_from_boards():从指定的板上获取卡片
  3. filter_cards_by_due_date():按截止日期过滤和排序卡片
  4. get_cards_due_today/tomorrow():常见查询的便利方法
  5. get_overdue_card():识别并退回逾期卡
  6. \_format_card():提取全面的卡片详细信息(标签、清单等)

每日摘要代理(Daily_Summary.py):

  1. generate_daily_summary():创建全面的每日概览
  2. 分析_准备_需求():智能准备建议
  3. format_event_summary():用户友好的事件格式
  4. 智能提示:清晨警报、连续会议警告

周计划代理(Weekly_Planner.py):

  1. generate_weekly_planner():创建全面的每周/每月概览
  2. 计算周工作负荷():分析日历密度和空闲时间
  3. 建议_周_任务():基于优先级和工作量的智能任务选择
  4. group_by_week():将事件和任务分组到每周的桶中
  5. format_monthly_overview():创建4周展望摘要
  6. 计划智能:工作量评估和任务分配建议

依赖项

  • mcp>=1.0.0 -官方模型上下文协议SDK
  • icalendar>=6.0.0 -符合RFC 5545的iCalendar解析器
  • httpx>=0.27.0 -现代异步HTTP客户端
  • py-trello>=0.19.0 -Trello API客户端库
  • python-dotenv>=1.0.0 -从.env文件管理环境变量
  • pytest>=8.0.0 -测试框架
  • pytest-asyncio>=0.23.0 -pytest异步支持

安全与隐私

  • 此服务器仅具有 只读的 访问您的日历和Trello板
  • 您的日历URL和Trello凭据应保密
  • MCP服务器在您的计算机上本地运行
  • 除以下情况外,不会向第三方服务发送任何数据:

- Proton的服务器用于获取您的日历 - Trello的API获取您的卡(如果已配置)

  • 为了安全起见,所有凭据都通过环境变量传递
  • Trello集成是可选的-没有它也能正常工作

故障排除

日历问题

“未设置PROTON_CALENDAR_URL环境变量”

  • 确保您已创建 .env 文件在 proton-calendar-mcp 目录
  • 验证 .env 文件包含 PROTON_CALENDAR_URL 设置
  • 检查一下 .env 文件与位于同一目录中 server.py

“获取日历时出错:\[HTTP错误\]”

  • 验证您的日历URL是否正确
  • 检查URL是否可公开访问(在浏览器中测试)
  • 确保您有互联网连接
  • 确保日历URL未过期

事件未显示

  • 验证您的Proton日历中是否存在查询日期范围内的事件
  • 检查事件是否在您共享的日历中(而不是其他日历)
  • 确保可共享链接仍处于活动状态

Trello问题

Trello工具未出现

  • 验证 TRELLO_API_KEYTRELLO_TOKEN 设置在您的 .env 文件
  • 检查凭据是否正确
  • 重新启动MCP服务器: claude mcp remove proton-calendar -s local 然后重新添加

“错误:Trello未配置”

  • 这意味着Trello凭据在中丢失或无效 .env 文件
  • 在中双击您的API密钥和令牌 .env
  • 确保 .env 文件位于正确的位置(proton-calendar-mcp 目录)

Trello未归还任何卡片

  • 确认你的卡片上有到期日
  • 检查一下 TRELLO_BOARD_IDS (如果设置)包含有效的板ID
  • 确保您的API令牌具有对板的读取访问权限

如何查找Trello板ID:

  1. 在浏览器中打开Trello板
  2. 添加 .json 在URL的末尾: https://trello.com/b/BOARD_ID/board-name.json
  3. 寻找 id JSON响应中的字段
  4. 在中使用此ID TRELLO_BOARD_IDS 环境变量

一般问题

测试失败 如果测试失败:

  1. 确保安装了所有依赖项: pip install -r requirements.txt
  2. 检查Python版本: python --version (应为3.8+)
  3. 运行具有详细输出的测试: pytest tests/ -v -s

服务器未响应

  • 检查服务器进程是否正在运行
  • 验证克劳德代码是否正确连接: claude mcp list
  • 在服务器日志中查找错误消息

发展

要手动测试服务器,请执行以下操作:

python server.py

服务器将启动并等待stdin上的MCP协议消息。

项目结构

proton-calendar-mcp/
├── server.py                          # Main MCP server implementation
├── trello_client.py                   # Trello API client module
├── daily_summary.py                   # Daily summary agent with intelligent prep suggestions
├── weekly_planner.py                  # Weekly planner agent with monthly overview
├── requirements.txt                   # Python dependencies
├── pytest.ini                         # Pytest configuration
├── .env                               # Centralized configuration file (create this, gitignored)
├── .env.example                       # Example configuration template
├── .gitignore                         # Git ignore rules
├── README.md                          # This file
└── tests/
    ├── test_calendar_fetch.py         # Calendar MCP server test suite
    ├── test_daily_summary.py          # Daily summary agent test suite
    ├── test_trello_client.py          # Trello client test suite
    └── test_server_trello_integration.py  # Trello MCP integration tests

局限性

日历限制

  • 只读:此服务器只能读取日历数据,不能创建或修改事件
  • 无CalDAV:Proton Calendar不支持CalDAV,因此我们使用可共享的URL
  • 无API:Proton不提供公共API,因此这依赖于.ics导出
  • 单一日历:每个服务器实例只能访问一个共享日历

Trello限制

  • 只读:此服务器只能读取Trello卡,不能创建或修改它们
  • 仅截止日期:过滤功能只返回有到期日期的卡片
  • 没有webhooks:服务器在每次请求时轮询Trello(没有实时更新)
  • 速率限制:Trello API有速率限制(每个令牌每10秒300个请求)

未来的增强功能

潜在改进:

  • 支持多个Proton日历
  • 缓存以减少对两个服务的API调用
  • 按关键字搜索事件/卡片
  • 支持重复事件
  • Trello的写入功能(创建/更新卡片)
  • Trello卡评论和活动
  • 将数据导出为不同格式
  • 与其他任务管理系统集成

许可证

麻省理工学院

贡献

欢迎投稿!请随时提交问题或拉取请求。

鸣谢

内置:

目录标签

目录标签

日程管理PythonClaude日历管理本地部署任务集成AI助手日程规划Trello集成

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP