日历会议自动化工具

通过OAuth认证和Google Calendar API自动化创建Google日历会议邀请的工具,适用于团队协作和日程管理。

  • by arjuntheprogrammer
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 arjuntheprogrammer/google_calendar_meeting_setup

使用说明

Google日历会议设置

用于以最少的输入创建Google日历会议邀请的自动化脚本。该脚本通过OAuth进行身份验证,然后使用Google日历API在主日历上创建一个事件。

演示视频

观看上的安装演练 油管.

先决条件

  • Python 3.11(或使用提供的Conda指令)。
  • 启用日历API的谷歌云项目。
  • OAuth客户端凭据(credentials.json)已下载到此文件夹。

推荐的康达环境

conda create -n meeting_setup python=3.11
conda activate meeting_setup
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib mcp

获得 credentials.json

  1. 访问 谷歌云控制台 并登录。
  2. 创建/选择项目。
  3. 启用 谷歌日历API 在...之下 API和服务→ 图书馆.
  4. 配置OAuth同意屏幕(外部可用于测试),并添加将作为测试用户运行此脚本的Google帐户。
  5. 导航至 API和服务→ 凭证 并创建一个 OAuth客户端ID 类型 桌面应用.
  6. 下载客户端配置JSON,重命名为 credentials.json,并将其放在旁边 create_meeting_invite.py.
  7. (仅限首次运行)当脚本打开浏览器窗口时,批准访问--token.json 将保存以供后续运行。

用法

python create_meeting_invite.py \
  --meeting-time "2025-11-09 17:00" \
  --other-email "karan.xyz@gmail.com" \
  --meeting-title "Karan <> Arjun | Intro call" \
  --meeting-notes "https://example.com/agenda"
  • --meeting-time 是必需的(IST时区,格式 YYYY-MM-DD HH:MM 或 YYYY-MM-DDTHH:MM).
  • --other-email 是必需的。
  • 可选标志:
    • --meeting-title (默认值: Meeting)
    • --host-email (默认值: arjuntheprogrammer@gmail.com)
    • --meeting-notes (默认值:空)
    • --duration-minutes (默认值:60)

该脚本打印事件详细信息,包括在Google日历中查看的链接。

MCP服务器

该项目还公开了一个模型上下文协议(MCP)服务器,因此支持MCP的助手可以直接调用会议工具。

conda activate meeting_setup
python mcp_server.py

服务器当前通过stdio传输运行。连接后,呼叫 create_meeting_invite 与CLI标志使用的参数名称相同的工具(例如。 meeting_time, other_email, meeting_title, meeting_notes, duration_minutes, host_email).该工具以关键事件详细信息进行响应(summary, start, end, htmlLink等等)。

配置Codex以使用此MCP服务器

  1. 确保MCP环境处于活动状态(上述步骤)并且安装了Codex CLI。
  2. 向Codex注册服务器一次:
    codex mcp add calendar_meeting /Users/arjungupta/anaconda3/envs/meeting_setup/bin/python /Users/arjungupta/Development/extra/google_calendar_meeting_setup/mcp_server.py
    
  3. 验证注册:
    codex mcp list
    
    你应该看看 calendar_meeting 与运输 stdio 以及Python命令。
  4. 正常启动Codex(codex, codex exec等等)。当Codex需要MCP工具时,它将自动启动此服务器。
  5. 在Codex内部,调用 create_meeting_invite 通过提供与CLI标志相同的参数,例如:
    create_meeting_invite meeting_time="2025-11-16 16:00" other_email="partner@example.com" meeting_title="Strategy Sync"
    

使用以下命令随时删除或重新配置服务器 codex mcp remove calendar_meeting.

配置Claude桌面

  1. 启动Claude Desktop一次,使其生成 claude_desktop_config.json 在 ~/Library/Application Support/Claude/.
  2. 在内部添加(或合并)此条目 "mcpServers" 对象:
    {
      "calendar-meeting": {
        "command": "/Users/arjungupta/anaconda3/envs/meeting_setup/bin/python",
        "args": [
          "/Users/arjungupta/Development/extra/google_calendar_meeting_setup/mcp_server.py"
        ]
      }
    }
    
  3. 重新启动Claude Desktop(或在其设置中切换MCP服务器),以便它选择新服务器。这 create_meeting_invite 然后,该工具可以直接在Claude中使用。