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
- 访问 谷歌云控制台 并登录。
- 创建/选择项目。
- 启用 谷歌日历API 在...之下 API和服务→ 图书馆.
- 配置OAuth同意屏幕(外部可用于测试),并添加将作为测试用户运行此脚本的Google帐户。
- 导航至 API和服务→ 凭证 并创建一个 OAuth客户端ID 类型 桌面应用.
- 下载客户端配置JSON,重命名为
credentials.json,并将其放在旁边create_meeting_invite.py. - (仅限首次运行)当脚本打开浏览器窗口时,批准访问--
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服务器
- 确保MCP环境处于活动状态(上述步骤)并且安装了Codex CLI。
- 向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- 验证注册:
codex mcp list你应该看看 calendar_meeting 与运输 stdio 以及Python命令。
- 正常启动Codex(
codex,codex exec等等)。当Codex需要MCP工具时,它将自动启动此服务器。 - 在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桌面
- 启动Claude Desktop一次,使其生成
claude_desktop_config.json在~/Library/Application Support/Claude/. - 在内部添加(或合并)此条目
"mcpServers"对象:
{
"calendar-meeting": {
"command": "/Users/arjungupta/anaconda3/envs/meeting_setup/bin/python",
"args": [
"/Users/arjungupta/Development/extra/google_calendar_meeting_setup/mcp_server.py"
]
}
}- 重新启动Claude Desktop(或在其设置中切换MCP服务器),以便它选择新服务器。这
create_meeting_invite然后,该工具可以直接在Claude中使用。
