mcpField
G
google-calendar

google-calendar

github.com/aws-samplesProductivity19743 installsUpdated 3w ago
Repository

About google-calendar

google-calendar is a skill for managing Google Calendar schedules. It supports natural-language event creation and free/busy checks across calendars.

Key features

  1. 01List calendars and events
  2. 02Retrieve event details
  3. 03Create, update, and delete events
  4. 04Add events from natural language
  5. 05Check calendar availability

Use cases

  1. 01Find meetings within a date range
  2. 02Check free time before scheduling
  3. 03Create an event from a natural-language request

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/aws-samples/sample-strands-agent-with-agentcore --skill google-calendar

After installing, type/google-calendarin Claude Code to confirm it loaded.

Details

From the project README

Google Calendar

Available Tools

  • list_calendars(): List all user's calendars (primary, shared, subscribed).

  • list_events(calendar_id?, max_results?, time_min?, time_max?, query?, show_deleted?): List calendar events.

    • calendar_id (string, optional, default: "primary"): Calendar ID
    • max_results (integer, optional, default: 10, max: 100): Maximum events
    • time_min (string, optional, default: now): Start time in RFC3339 format (e.g., "2024-01-01T00:00:00Z")
    • time_max (string, optional): End time in RFC3339 format
    • query (string, optional): Free text search
    • show_deleted (boolean, optional, default: false): Include deleted events
  • get_event(event_id, calendar_id?): Get detailed information about a specific event.

    • event_id (string, required): Event ID (from list_events)
    • calendar_id (string, optional, default: "primary")
  • create_event(summary, start_time, end_time, calendar_id?, description?, location?, attendees?, timezone?, all_day?, reminder_minutes?): Create a new event.

    • summary (string, required): Event title
    • start_time (string, required): RFC3339 format (e.g., "2024-01-15T09:00:00") or date "YYYY-MM-DD" for all-day
    • end_time (string, required): RFC3339 format or date for all-day
    • calendar_id (string, optional, default: "primary")
    • description (string, optional): Event description/notes
    • location (string, optional): Event location
    • attendees (string, optional): Comma-separated email addresses
    • timezone (string, optional, default: "UTC"): Timezone (e.g., "Asia/Seoul", "America/New_York")
    • all_day (boolean, optional, default: false): Create all-day event (use YYYY-MM-DD for times)
    • reminder_minutes (string, optional): Comma-separated reminder times in minutes (e.g., "10,30,60")
  • update_event(event_id, calendar_id?, summary?, start_time?, end_time?, description?, location?, attendees?, timezone?): Update an existing event. Only specified fields are changed.

    • event_id (string, required)
    • calendar_id (string, optional, default: "primary")
    • Other parameters are optional — only provide fields to change
  • delete_event(event_id, calendar_id?, send_notifications?): Delete an event.

    • event_id (string, required)
    • calendar_id (string, optional, default: "primary")
    • send_notifications (boolean, optional, default: false): Send cancellation to attendees
  • quick_add_event(text, calendar_id?): Create event from natural language text.

    • text (string, required): Natural language description (e.g., "Meeting with John tomorrow at 3pm", "Team standup every Monday at 9am")
    • calendar_id (string, optional, default: "primary")
  • check_availability(time_min, time_max, calendars?, timezone?): Check free/busy status.

    • time_min (string, required): Start of range in RFC3339 format
    • time_max (string, required): End of range in RFC3339 format
    • calendars (string, optional): Comma-separated calendar IDs (default: primary)
    • timezone (string, optional, default: "UTC")

Usage Guidelines

  • Time format: RFC3339 — 2024-01-15T09:00:00Z (UTC) or 2024-01-15T09:00:00+09:00 (with timezone).
  • All-day events: use date format YYYY-MM-DD with all_day=true.
  • Default calendar is "primary".

Common Operations

Schedule a meeting: Use create_event with attendees parameter for full control over time, description, and reminders.

Find available time: Call check_availability with the relevant calendar IDs and time range before creating events to avoid conflicts.

Quick scheduling: quick_add_event accepts natural language (e.g., "Lunch with Sarah tomorrow at noon"). Convenient but less precise than create_event.

Reschedule: Use update_event with new start_time and end_time. Only the fields you provide will be changed.

UI Guidance (from tools-config)

Google Calendar Tool Usage:

  • list_calendars: Get all user's calendars (primary, shared, subscribed)
  • list_events: List upcoming events with date range filters and search
  • get_event: Get detailed event information
  • create_event: Create new calendar events with attendees and reminders
  • update_event: Modify existing events (time, title, description, attendees)
  • delete_event: Remove events with optional notification to attendees
  • quick_add_event: Create event from natural language (e.g., 'Meeting with John tomorrow at 3pm')
  • check_availability: Query free/busy status for scheduling

Time Format:

  • RFC3339 format: 2024-01-15T09:00:00Z (UTC) or 2024-01-15T09:00:00+09:00 (with timezone)
  • All-day events: use date format YYYY-MM-DD

Common Operations:

  • Schedule meeting: create_event with attendees parameter
  • Find available time: check_availability before creating events
  • Quick scheduling: quick_add_event for natural language input
  • Reschedule: update_event with new start_time and end_time

Comments

Markdown supported