
cal2prompt

2025.04.08
11
Rust日历服务提示生成日程管理
cal2prompt是一个命令行工具,用于从Google Calendar等日历服务中获取日程安排,并通过模板引擎将其转换为自定义提示或文本片段。它可以作为命令行工具直接输出到stdout,也可以作为实验性的MCP(Model Context Protocol)服务器运行。
View on GitHub
Overview
基本能力
产品定位
cal2prompt是一个将日历日程转换为自定义提示的工具,支持Google Calendar API集成,并可作为MCP服务器运行。
核心功能
- Google Calendar集成:使用Google Calendar API v3获取日程安排。
- 灵活的LLM提示定制:使用Jinja2模板引擎自定义生成的提示。
- 高性能:基于Rust生态系统实现高速处理。
- 实验性MCP模式:可作为Model Context Protocol服务器运行。
适用场景
- 将日历日程转换为LLM提示,用于自动化任务或提醒。
- 作为MCP服务器集成到其他工具(如Claude Desktop)中。
工具列表
- cal2prompt CLI:命令行工具,用于获取和转换日历日程。
- cal2prompt MCP:实验性MCP服务器,用于与其他工具集成。
常见问题解答
- 需要自行创建和管理Google Calendar API的OAuth2.0客户端。
- 配置通过Lua文件进行,支持自定义模板和时区设置。
使用教程
使用依赖
- 需要安装Google Calendar API的OAuth2.0客户端。
- 需要Rust环境(如果通过Cargo安装)。
安装教程
Brew (MacOS)
brew install shuntaka9576/tap/cal2prompt
Cargo (git)
git clone https://github.com/shuntaka9576/cal2prompt
cd cal2prompt
cargo install --path .
调试方式
初始设置
- 设置Google OAuth2.0客户端:
- 按照docs/setup-oauth创建Google项目并获取OAuth令牌。
- 配置Lua文件:
- 创建
~/.config/cal2prompt/secrets.lua
和~/.config/cal2prompt/config.lua
文件。 - CLI认证:
cal2prompt
集成Claude Desktop与MCP
- 在
~/Library/Application\ Support/Claude/claude_desktop_config.json
中添加MCP配置。
配置
配置选项
变量名 | 必填 | 描述 | 默认值 |
---|---|---|---|
settings.TZ |
是 | IANA时区格式 | UTC |
source.google.oauth2.clientID |
是 | Google OAuth2客户端ID | 无默认值 |
source.google.oauth2.clientSecret |
是 | Google OAuth2客户端密钥 | 无默认值 |
source.google.calendar.getEvents.calendarIDs |
是 | Google Calendar ID列表 | 无默认值 |
output.template |
是 | 定义日程输出格式的模板 | 无默认值 |
环境变量
变量名 | 描述 | 默认值 |
---|---|---|
CAL2_PROMPT_CONFIG_FILE_PATH |
自定义Lua配置文件路径 | ~/.config/cal2prompt/config.lua |