cal2prompt

cal2prompt

site icon
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 .

调试方式

初始设置

  1. 设置Google OAuth2.0客户端:
  2. 按照docs/setup-oauth创建Google项目并获取OAuth令牌。
  3. 配置Lua文件:
  4. 创建~/.config/cal2prompt/secrets.lua~/.config/cal2prompt/config.lua文件。
  5. 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

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。