AGENTS.md
+1 −200
https://raw.githubusercontent.com/chrischall/gogcli-mcp/HEAD/AGENTS.md
− # gogcli-mcp− Monorepo of MCP servers wrapping [gogcli](https://github.com/openclaw/gogcli) — gives Claude read/write access to Google Workspace (Sheets, Docs, Gmail, Calendar, Drive, Slides, Classroom, Tasks, Contacts). Each package is a standalone MCP server using stdio transport.− ## Packages− All under `packages/*` as an npm workspace. Single source of truth for version: root `package.json` (all packages share it).− | Package | Path | Scope |− |---------|------|-------|− | `gogcli-mcp` | `packages/gogcli-mcp` | Base — common subset of every service, plus `gog_<service>_run` escape hatches |− | `gogcli-mcp-sheets` | `packages/gogcli-mcp-sheets` | Auth + Sheets (base + extras: tabs, formatting, named ranges, …) |− | `gogcli-mcp-docs` | `packages/gogcli-mcp-docs` | Auth + Docs (base + extras: insert, export, sed, comments, …) |− | `gogcli-mcp-drive` | `packages/gogcli-mcp-drive` | Auth + Drive (base + extras: upload, permissions, shared drives, …) |− | `gogcli-mcp-slides` | `packages/gogcli-mcp-slides` | Auth + Slides (base + authoring extras) |− | `gogcli-mcp-classroom` | `packages/gogcli-mcp-classroom` | Auth + Classroom (base + CRUD/admin extras) |− | `gogcli-mcp-gmail` | `packages/gogcli-mcp-gmail` | Auth + Gmail (base + threads, labels, drafts, bulk ops) |− | `gogcli-mcp-contacts` | `packages/gogcli-mcp-contacts` | Auth + Contacts (base + People API extras) |− | `gogcli-mcp-calendar` | `packages/gogcli-mcp-calendar` | Auth + Calendar (base + Meet space management) |− ## Commands− ```bash− npm install # install all workspaces− npm run build # tsc --noEmit + esbuild bundle for every package− npm test # vitest across all packages (100% coverage gate)− npm run typecheck # tsc --noEmit across all packages− # Single package− npm run build --workspace=packages/gogcli-mcp-sheets− npm test --workspace=packages/gogcli-mcp-docs− ```− Run locally (requires a built bundle and `gog` on PATH):− ```bash− GOG_ACCOUNT=you@gmail.com node packages/gogcli-mcp/dist/index.js− ```− ## Tool naming− All tools are prefixed `gog_` and namespaced by service (e.g. `gog_sheets_read`, `gog_gmail_send`, `gog_drive_list`). Each service also exposes `gog_<service>_run` as an escape hatch for unmapped subcommands.− ## Architecture− ```− packages/gogcli-mcp/− src/− index.ts # bin entry — runMcp({ name, version, tools: BASE_TOOL_REGISTRARS }) from @chrischall/mcp-utils− server.ts # BASE_TOOL_REGISTRARS list + VERSION constant (injected by esbuild)− runner.ts # only module touching child_process; exports run() with Spawner DI− lib.ts # barrel export consumed by sub-packages− tools/+ CLAUDE.md
Showing the first 40 of each.