Agent skill · Workflow & Productivity

add-gcal-tool

Add Google Calendar as an MCP tool (list calendars, list/search/create events, free/busy queries) using OneCLI-managed OAuth. Multi-calendar and multi-account supported. Mirrors /add-gmail-tool's stub pattern — no raw credentials ever reach the container; OneCLI injects real tokens at request time.

NanoCo30,389★ · +78/wk · 1 repos on radarProfile →
claude-codeships scriptsMIT
Install
npx skills add nanocoai/nanoclaw --skill add-gcal-tool --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 3
SKILL.md size: 10 KB
Bundled scripts: yes
Path: .claude/skills/add-gcal-tool/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 30,426 · +37 this week
Language: TypeScript
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Add Google Calendar Tool (OneCLI-native) This skill wires [`@cocal/google-calendar-mcp`](https://github.com/cocal-com/google-calendar-mcp) into selected agent groups. The MCP server reads stub credentials containing the `onecli-managed` placeholder; the OneCLI gateway intercepts outbound calls to `calendar.googleapis.com` / `oauth2.googleapis.com` and swaps the bearer for the real OAuth token from its vault. **Why this package (and not gongrzhe's):** `@gongrzhe/server-calendar-autoauth-mcp` only supports the `primary` calendar and exposes 5 tools (no `list_calendars`). `@cocal/google-calendar-mcp` explicitly supports multi-calendar and multi-account, and is actively maintained. Tools exposed (surfaced as `mcp__calendar__<name>`, exact set depends on version — run `tools/list` against the MCP server to enumerate): `list-calendars`, `list-events`, `search-events`, `create-event`, `update-event`, `delete-event`, `get-event`, `list-colors`, `get-freebusy`, `get-current-time`, plus multi-account management tools. **Why this pattern:** v2's invariant is that containers never receive raw API keys (CHANGELOG 2.0.0). Same stub pattern `/add-gmail-tool` uses. This skill is deliberately a s

What's inside
Steps it walks through
  1. Phase 1: Pre-flight
  2. Verify OneCLI has Google Calendar connected
  3. Verify stub credentials exist
  4. Verify mount allowlist covers the path
  5. Check agent secret-mode
  6. Phase 2: Apply Code Changes
  7. Check if already applied
  8. Add MCP server to Dockerfile
  9. Install the dependency-guard test
  10. Rebuild the container image
  11. Phase 3: Wire Per-Agent-Group
  12. Register the MCP server
  13. Add the .calendar-mcp mount
  14. Phase 4: Build and Restart
Ships with 2 files
  • REMOVE.md
  • gcal-dockerfile.test.ts
Commands it runs
onecli apps get --provider google-calendar
ls -la ~/.calendar-mcp/gcp-oauth.keys.json ~/.calendar-mcp/credentials.json 2>&1
grep -l onecli-managed ~/.calendar-mcp/gcp-oauth.keys.json ~/.calendar-mcp/credentials.json
mkdir -p ~/.calendar-mcp
cat > ~/.calendar-mcp/gcp-oauth.keys.json <<'EOF'
cat > ~/.calendar-mcp/credentials.json <<'EOF'
chmod 600 ~/.calendar-mcp/*.json
cat ~/.config/nanoclaw/mount-allowlist.json
onecli agents list
grep -q 'CALENDAR_MCP_VERSION' container/Dockerfile && \
More from nanoclaw
All skills →
About this skill
What does the add-gcal-tool skill do?

Add Google Calendar as an MCP tool (list calendars, list/search/create events, free/busy queries) using OneCLI-managed OAuth. Multi-calendar and multi-account supported. Mirrors /add-gmail-tool's stub pattern — no raw credentials ever reach the container; OneCLI injects real tokens at request time.

How do I install it?

Run `npx skills add nanocoai/nanoclaw --skill add-gcal-tool --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From nanocoai/nanoclaw, a repository with 30,426 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going