google-calendar

Google Calendar API — list calendars, manage events, and query availability

v1.0.0Base: https://www.googleapis.com/calendar/v3Auth: oauth2
Chat with this API

Use this API

Web

Chat in the browser →

CLI (one command)

agentbridge chat google-calendar

SDK / Agents

fetch("/api/google-calendar/manifest")

MCP (Claude Desktop / Cursor / Windsurf)

{
  "mcpServers": {
    "google-calendar": {
      "command": "npx",
      "args": ["@agentbridgeai/mcp", "--api", "google-calendar"]
    }
  }
}

Add to ~/.claude/claude_desktop_config.json or Cursor/Windsurf MCP settings.

Actions (10)

GET/users/me/calendarList

list_calendars

List calendars in the authenticated account

Parameters

minAccessRolestringMinimum role: freeBusyReader, reader, writer, owner
showHiddenbooleanInclude hidden calendars
GET/calendars/{calendarId}

get_calendar

Get details for a calendar by calendar ID

Parameters

calendarIdstringrequiredCalendar ID (use primary for primary calendar)
GET/calendars/{calendarId}/events

list_events

List events in a calendar, optionally filtered by time range or text

Parameters

calendarIdstringrequiredCalendar ID
timeMinstringLower bound (RFC3339 timestamp)
timeMaxstringUpper bound (RFC3339 timestamp)
qstringFree text search query
singleEventsbooleanExpand recurring events
orderBystringSort order: startTime or updated
maxResultsintegerMaximum results (1-2500)
pageTokenstringNext page token
GET/calendars/{calendarId}/events/{eventId}

get_event

Get a calendar event by event ID

Parameters

calendarIdstringrequiredCalendar ID
eventIdstringrequiredEvent ID
POST/calendars/{calendarId}/events

create_event

Create a new calendar event

Parameters

calendarIdstringrequiredCalendar ID
summarystringrequiredEvent title
descriptionstringEvent description
locationstringEvent location
startobjectrequiredStart object, e.g. {dateTime:"...",timeZone:"..."}
endobjectrequiredEnd object, e.g. {dateTime:"...",timeZone:"..."}
attendeesarrayArray of attendee objects, e.g. [{email:"[email protected]"}]
PATCH/calendars/{calendarId}/events/{eventId}

update_event

Patch an existing calendar event

Parameters

calendarIdstringrequiredCalendar ID
eventIdstringrequiredEvent ID
summarystringUpdated event title
descriptionstringUpdated event description
locationstringUpdated location
startobjectUpdated start object
endobjectUpdated end object
attendeesarrayUpdated attendees array
DELETE/calendars/{calendarId}/events/{eventId}

delete_event

Delete an event from a calendar

Parameters

calendarIdstringrequiredCalendar ID
eventIdstringrequiredEvent ID
POST/calendars/{calendarId}/events/quickAdd

quick_add_event

Create an event from natural-language text

Parameters

calendarIdstringrequiredCalendar ID
textstringrequiredNatural language event text (e.g. Lunch with Sam tomorrow at 1pm)
POST/freeBusy

freebusy_query

Query free/busy information across one or more calendars

Parameters

timeMinstringrequiredStart of interval (RFC3339)
timeMaxstringrequiredEnd of interval (RFC3339)
itemsarrayrequiredArray of calendar objects, e.g. [{id:"primary"}]
GET/colors

list_colors

List available calendar and event color definitions