Google Drive + Docs MCP Setup
Google Docs and Drive folders for specific festivals live in each project folder in the coalition cPALSs monorepo — not in the public festival repo. Cursor agents read and write via workspace-cpalss / workspace-cpalss — see Google Workspace MCP.
Drive registries (per festival)
Festival Network holds an index only: drive-registry.json
| Festival | Registry file (coalition monorepo) |
|---|---|
| MAF 2026 | Programs/Mid-Autumn Festival/2026/drive-registry.json |
| LNY 2026 | Programs/Lunar New Year/2026/drive-registry.json |
Project scripts (export PDF, sync sheets, etc.) live under each project’s scripts/ folder and import shared OAuth helpers from Operations/Festival Network/scripts/lib/ in the monorepo.
Generic templates (Festival Network monorepo)
Reusable across festivals — copy or upload to Drive from project setup scripts:
| Template | Path (coalition monorepo) |
|---|---|
| Sponsorship packet standard (cash PDF) | Operations/Festival Network/scripts/content/sponsorship-packet-standard.md |
| Sponsorship PDF generation (portrait, margins) | Operations/Festival Network/scripts/content/sponsorship-pdf-generation.md |
| Media sponsor brief standard | Operations/Festival Network/scripts/content/media-sponsor-brief-standard.md |
| Online sponsorship & crowdfunding | Operations/Festival Network/scripts/content/online-sponsorship-crowdfunding-standard.md |
| Post-event sponsor report | Operations/Festival Network/scripts/content/post-event-sponsor-report-template.md |
| Post-event metrics inventory | Operations/Festival Network/scripts/content/post-event-metrics-inventory.md |
Festival-specific seeds (packet copy, debrief templates, staff directory) belong in the project repo, not the public festival site.
Auth
MCP auth: Google Workspace MCP (Cursor servers workspace-cpalss, workspace-cpalss, …).
Script OAuth (PDF export, publish pipelines) still uses .google-workspace-oauth.json at the cPALSs root:
npm run mcp:oauth -w festival
Agent tools (Drive / Docs)
Via workspace-cpalss and workspace-cpalss. Discover exact tool names with Cursor’s MCP tool list (GetMcpTools) — official Google Workspace MCP names differ from the retired @dguido/google-workspace-mcp tools.
Policy docs: Repo markdown is draft source; publish formatted copies with:
node "Governance/People/scripts/publish-volunteer-policy-docs.mjs"
Do not upload raw .md via Drive text/markdown — it renders as unformatted markdown in Docs.
Markdown import gotchas
When pushing .md to Google Docs via Drive (media: text/markdown):
~(tilde) — paired tildes become strikethrough. Useabout 2,000instead of~2,000.*/_— mid-word emphasis can become bold/italic unintentionally.- Tables — native import does not set readable column widths. After every Markdown→Doc sync, run
optimizeDocumentTablesfromscripts/lib/markdown-to-google-doc.mjs. If preferred width exceeds the body content column, ask before switching to landscape / wider page.
Operating rules
- Google Doc = source of truth for live sponsorship packet copy in each festival project
- Festival Network = OAuth tooling, generic templates, market landscape sheets — not festival-specific copy or Drive IDs
- Sheets for market landscape research — see google-sheets-mcp.html (same Workspace MCP)
Example: MAF 2026 project scripts
From Programs/Mid-Autumn Festival/2026/ in the coalition monorepo:
npm run export-sponsorship-pdf # after Google Doc edits
npm run sponsor-setup # pipeline, templates, packet seed → Doc
npm run export-budget-sheet
npm run vendor-quotes
npm run staff-directory
See that project’s drive-registry.json for Doc/Sheet IDs and folder links.