日历命令行工具

一个用于与Google Calendar交互的命令行工具和MCP服务器,适用于需要高效管理日程的开发者。

  • by ghchinoy
  • Go
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 ghchinoy/calctl

使用说明

微积分

用于与Google日历交互的命令行工具和MCP服务器。

安装

您需要在系统上安装Go。

使用 go install

一旦存储库公开,您就可以安装 calctl 直接命令:

go install github.com/ghchinoy/calctl@latest

确保你的Go bin 目录在您的系统中 PATH。这通常是 $HOME/go/bin.

来源

要从源代码构建工具,您可以克隆存储库并手动构建:

git clone https://github.com/ghchinoy/calctl
cd calctl
go build ./...

配置

calctl 需要Google Cloud凭据才能访问您的日历数据。

  1. 创建Google Cloud项目: 如果您还没有,请在中创建一个项目 谷歌云控制台.
  2. 启用Google日历API:
    gcloud services enable calendar-json.googleapis.com
    
  3. 创建OAuth 2.0凭据:
    • 转到 凭证页面 在云控制台中。
    • 点击“创建凭据”并选择“OAuth客户端ID”。
    • 为应用程序类型选择“桌面应用程序”。
    • 创建后,下载JSON文件。它将被命名为类似 client_secret_xxxxxxxx.json.
  4. 为设置凭据 calctl: 您可以使用 --secret-file 标记每个命令:
    ./calctl --secret-file /path/to/your/client_secret.json week
    
    或者,您可以设置 CALENDAR_SECRETS 环境变量:
    export CALENDAR_SECRETS=/path/to/your/client_secret.json
    ./calctl week
    

用法

CLI命令

  • week [date]:显示本周的事件。可以选择在中输入日期 YYYY-MM-DD 格式。
    ./calctl week
    ./calctl week 2025-08-25
    
  • week --analyze:提供对本周事件的分析,显示重叠和您的响应状态。
    ./calctl week --analyze
    
  • get [event-id]:获取特定事件的详细信息。
    ./calctl get <event_id_from_week_command>
    

MCP服务器

你也可以跑步 calctl 作为MCP服务器,将其功能作为工具公开。

  • 要运行标准I/O:
    ./calctl --mcp
    
    默认情况下,日志将写入stderr。要将日志写入文件,请使用 --logfile 标志:
    ./calctl --mcp --logfile calctl.log
    
  • 要通过HTTP运行:
    ./calctl --mcp-http :8080
    

以下工具可用:

  • get_weekly_calendar(current_date: str):获取给定日期(YYYY-MM-DD)所在周的用户日历事件。如果省略日期,则使用当前周。此工具返回一个JSON对象,其中包含完整的事件资源列表,包括每个事件的所有详细信息。
  • get_event_details(event_id: str):通过ID获取特定事件的详细信息。