Meet NanoCo, maintainers of NanoClaw: we raised $12M to give every member of your team a professional assistant →
Skills
Email & Tools Official

Google Calendar

Add Google Calendar as an MCP tool. The agent can list calendars, search events, create events, and run free/busy queries.

What it does

  • List calendars, list/search/create/update events, check free-busy
  • Multi-account and multi-calendar support
  • OAuth managed by OneCLI — no raw credentials reach the container
  • Per-agent-group enablement via container.json
  • Pairs cleanly with /add-gmail-tool (sibling skill, same pattern)

What you'll need

  • NanoClaw installed and running
  • OneCLI Agent Vault initialized (run /init-onecli first)
  • Google Calendar connected in OneCLI
  • calendar.readonly + calendar.events scopes (minimum)

Install

/add-gcal-tool

How it works

The /add-gcal-tool skill wires @cocal/google-calendar-mcp into selected agent groups as an MCP tool. The agent gets calendar capabilities — listing calendars, searching events, creating events, free/busy queries, and so on.

The MCP server reads stub credentials at ~/.calendar-mcp/ containing the onecli-managed placeholder. OneCLI’s gateway intercepts outbound calls to calendar.googleapis.com and oauth2.googleapis.com and swaps the placeholder for the real OAuth token from its vault. Containers never receive raw API keys — that’s the v2 invariant.

Setup

Three steps, mostly automated:

  1. Connect Google Calendar in OneCLI. The skill checks onecli apps get --provider google-calendar and tells you to open the OneCLI web UI (http://127.0.0.1:10254) to authorize if it isn’t already connected.
  2. Write stub credentials at ~/.calendar-mcp/gcp-oauth.keys.json and ~/.calendar-mcp/credentials.json — both contain the onecli-managed placeholder.
  3. Wire per agent group. The skill adds the calendar MCP server to groups/<folder>/container.json and adds ~/.calendar-mcp to additionalMounts for each group that should have calendar access.

Then it pins CALENDAR_MCP_VERSION in the Dockerfile, adds mcp__calendar__* to the tool allowlist, and rebuilds.

What you get

The agent can call (tool names surface as mcp__calendar__<name>):

  • list_calendars — every calendar visible to the connected account
  • list_events, search_events, get_event — read events
  • create_event, update_event, delete_event — write events
  • get_freebusy — query availability
  • get_current_time, list_colors — utilities

Use natural language: “What’s on my work calendar next Monday?”, “Schedule a 30-minute focus block at 2pm”, “Am I free Thursday afternoon?”.

Tips

  • This skill mirrors /add-gmail-tool. If both are installed, they share the OneCLI-managed pattern and the same Dockerfile pnpm install block — the skill detects an existing gmail install and merges into it.
  • Why not the gongrzhe MCP server? The earlier @gongrzhe/server-calendar-autoauth-mcp only supports the primary calendar with 5 event-level tools. The cocal package supports multi-calendar and multi-account.
  • First call is 2–3 seconds while the MCP server boots and OneCLI does the token exchange. Subsequent calls are fast.
  • If the agent says “I don’t have calendar tools,” the most common cause is mcp__calendar__* missing from the TOOL_ALLOWLIST — re-run the skill, it’s idempotent.