项目简介
'cal2prompt' 是一个命令行工具,它可以从您的 Google 日历中获取日程安排,并使用 Jinja2 模板引擎将其转换为定制化的 Prompt 或文本片段。除了作为命令行工具使用,'cal2prompt' 还可以作为实验性的 Model Context Protocol (MCP) 服务器 运行,为支持 MCP 协议的 LLM 客户端提供日历上下文信息。
主要功能点
- Google 日历集成:利用 Google Calendar API v3 获取您的日历日程。
- 灵活的 Prompt 定制:使用 Jinja2 模板引擎,您可以根据需求自定义 Prompt 的格式和内容。
- 实验性 MCP 服务器模式:可以将 'cal2prompt' ���为一个 MCP 服务器启动,通过标准输入/输出 (stdio) 与 MCP 客户端进行 JSON-RPC 通信。
- 快速高效:基于 Rust 编写,性能优秀。
安装步骤
您可以选择使用 Brew (MacOS) 或 Cargo (git) 进行安装。
Brew (MacOS)
brew install shuntaka9576/tap/cal2prompt
Cargo (git)
git clone https://github.com/shuntaka9576/cal2prompt cd cal2prompt cargo install --path .
安装完成后,请确保 'cal2prompt' 命令在您的 PATH 环境变量中。
服务器配置
为了让 MCP 客户端(例如 Claude Desktop)连接到 'cal2prompt' MCP 服务器,您需要在客户端的配置文件中指定服务器的启动命令和参数。以下是 Claude Desktop 客户端的配置示例,您需要根据您的实际安装路径进行调整。
Claude Desktop 配置示例 ( '~/Library/Application\ Support/Claude/claude_desktop_config.json' )
{ "mcpServers": { "cal2prompt": { "command": "/Users/username/.cargo/bin/cal2prompt", "args": ["mcp"], "env": { "HOME": "/Users/username" } } } }
配置参数说明:
- '"command"': 必需。指定 'cal2prompt' 可执行文件的完整路径。您可以使用 'which cal2prompt' 命令来查找安装路径,并替换 '/Users/username/.cargo/bin/cal2prompt' 为实际路径。
- '"args": ["mcp"]': 必需。指定启动 'cal2prompt' MCP 服务器模式的参数。
- '"env": { "HOME": "/Users/username" }': 推荐。显式设置 'HOME' 环境变量,确保 'cal2prompt' 可以正确加载配置文件。将 '/Users/username' 替换为您的用户主目录路径。
注意: MCP 客户端通常只需要配置 'command' 和 'args' 即可连接到 MCP 服务器。以上 JSON 配置示例提供了 Claude Desktop 的配置参考,其他 MCP 客户端的配置方式可能略有不同,请参考相应客户端的文档。
基本使用方法
-
完成初始设置:
- 按照仓库 README 中的指引,配置 Google OAuth 2.0 客户端并获取 OAuth 令牌。
- 创建并配置 '~/.config/cal2prompt/secrets.lua' 和 '~/.config/cal2prompt/config.lua' 文件,填入您的 Google API 凭据和日历 ID 等信息。
-
启动 MCP 服务器: 打开终端,运行以下命令启动 'cal2prompt' MCP 服务器:
cal2prompt mcp服务器成功启动后,将等待 MCP 客户端的连接和请求。
-
在 MCP 客户端中配置并连接服务器: 根据您的 MCP 客户端类型(例如 Claude Desktop),按照客户端的指引配置 MCP 服务器连接信息,主要是指定 'cal2prompt' 的启动命令和参数(如上述服务器配置示例)。
-
使用 LLM 与日历信息交互: 连接成功后,您可以在 MCP 客户端中使用 LLM,并利用 'cal2prompt' 提供的日历上下文信息进行对话或完成任务。例如,您可以询问 LLM 关于您今天或未来日程安排的问题,或者让 LLM 根据日历信息生成 Prompt。
配置文件
'cal2prompt' 使用 Lua 配置文件,默认配置文件路径为 '~/.config/cal2prompt/config.lua'。您可以根据需要修改配置文件,例如更改时区、OAuth 文件路径、Google Calendar API 相关配置、Prompt 模板等。详细配置选项请参考仓库 README 文档。
信息
分类
生产力应用