aboutsummaryrefslogtreecommitdiff
path: root/.ai/references/calendar-reference.org
blob: b44c0f1a1f59044c34e970b1aa6f3419c4a1397e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#+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