#+TITLE: Calendar Reference #+AUTHOR: Craig Jennings & Claude Tool recipes, authentication, and credentials for Craig's calendar setup. Three access methods, in order of preference. * Google Calendar MCP Server (preferred for all calendar operations) Craig has the =@cocal/google-calendar-mcp= MCP server configured at user scope (=~/.claude.json=). It provides full read/write access to Google Calendar via MCP tools. Two accounts are authenticated: - *personal* — craigmartinjennings@gmail.com (primary: "Craig Google") - *work* — craig.jennings@deepsat.com (primary: "Craig Deepsat") MCP tools available: - =list-events=, =search-events=, =get-event= — read events - =create-event=, =create-events= — add events - =update-event= — modify events - =delete-event= — remove events - =list-calendars=, =list-colors= — calendar metadata - =get-freebusy= — check availability - =manage-accounts= — add/remove/list authenticated accounts - =respond-to-event= — accept/decline invitations - =get-current-time= — current time in any timezone Use =account_id: "personal"= or =account_id: "work"= to specify which account. Default calendar for adding events: "Craig Google" (personal account). Calendar workflows are available alongside this reference: add-calendar-event, edit-calendar-event, delete-calendar-event, read-calendar-events. If re-authentication is needed: - Use the =manage-accounts= MCP tool with =action: "add"= and the account nickname - OAuth credentials: =~/projects/homelab/assets/gcp-oauth.keys.json= - Google Cloud app is in production mode (tokens don't expire after 7 days) - See =~/projects/homelab/.ai/gcalcli-setup.org= for Google Cloud project details * gcalcli (fallback for personal account only) Craig has =gcalcli= installed via pipx, authenticated to his personal Google account only. #+begin_src bash gcalcli agenda # upcoming events gcalcli calw # weekly view gcalcli add --title "..." --when "..." --duration "60" # add event gcalcli search "..." # search events gcalcli delete "..." # delete event #+end_src Use =--calendar "Craig Google"= when adding events. gcalcli does NOT have access to the work (DeepSat) calendar. Use the MCP server for work calendar operations. If gcalcli needs re-authentication, credentials are stored in the homelab project: =~/projects/homelab/assets/gcalcli-client-secret.json.gpg= (GPG encrypted). * Emacs org files (read-only, for viewing schedules) Craig's calendars are at: =~/.emacs.d/data/*cal.org= (gcal.org, dcal.org, pcal.org) These files are **READ-ONLY** — NEVER add anything to them. Use this to: - Check meeting times and schedules - Verify when events occurred - See what's upcoming - Note: only updated periodically when Emacs is running — may be stale