naftiko: 1.0.0-alpha2 info: label: Google Calendar API description: The Google Calendar API provides RESTful access to Google Calendar data. It enables managing calendars, events, access control lists, settings, and free/busy information. tags: - Google - Calendar - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: google-calendar baseUri: https://www.googleapis.com/calendar/v3 description: Google Calendar API HTTP API. resources: - name: calendars path: /calendars operations: - name: createcalendar method: POST description: Google Calendar Create calendar outputRawFormat: json outputParameters: - name: result type: object value: $. - name: calendars-calendarid path: /calendars/{calendarId} operations: - name: getcalendar method: GET description: Google Calendar Get calendar inputParameters: - name: calendarId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatecalendar method: PUT description: Google Calendar Update calendar inputParameters: - name: calendarId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletecalendar method: DELETE description: Google Calendar Delete calendar inputParameters: - name: calendarId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: calendars-calendarid-events path: /calendars/{calendarId}/events operations: - name: listevents method: GET description: Google Calendar List events inputParameters: - name: calendarId in: path type: string required: true - name: maxResults in: query type: integer - name: pageToken in: query type: string - name: timeMin in: query type: string - name: timeMax in: query type: string - name: q in: query type: string - name: singleEvents in: query type: boolean - name: orderBy in: query type: string outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createevent method: POST description: Google Calendar Create event inputParameters: - name: calendarId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: calendars-calendarid-events-eventid path: /calendars/{calendarId}/events/{eventId} operations: - name: getevent method: GET description: Google Calendar Get event inputParameters: - name: calendarId in: path type: string required: true - name: eventId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateevent method: PUT description: Google Calendar Update event inputParameters: - name: calendarId in: path type: string required: true - name: eventId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: patchevent method: PATCH description: Google Calendar Patch event inputParameters: - name: calendarId in: path type: string required: true - name: eventId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteevent method: DELETE description: Google Calendar Delete event inputParameters: - name: calendarId in: path type: string required: true - name: eventId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: calendars-calendarid-events-quickadd path: /calendars/{calendarId}/events/quickAdd operations: - name: quickaddevent method: POST description: Google Calendar Quick add event inputParameters: - name: calendarId in: path type: string required: true - name: text in: query type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: calendars-calendarid-acl path: /calendars/{calendarId}/acl operations: - name: listacl method: GET description: Google Calendar List ACL rules inputParameters: - name: calendarId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: insertacl method: POST description: Google Calendar Insert ACL rule inputParameters: - name: calendarId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-me-calendarlist path: /users/me/calendarList operations: - name: listcalendarlist method: GET description: Google Calendar List calendar list outputRawFormat: json outputParameters: - name: result type: object value: $. - name: insertcalendarlist method: POST description: Google Calendar Insert calendar to list outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-me-settings path: /users/me/settings operations: - name: listsettings method: GET description: Google Calendar List settings outputRawFormat: json outputParameters: - name: result type: object value: $. - name: freebusy path: /freeBusy operations: - name: queryfreebusy method: POST description: Google Calendar Query free/busy outputRawFormat: json outputParameters: - name: result type: object value: $. - name: colors path: /colors operations: - name: getcolors method: GET description: Google Calendar Get colors outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: google-calendar-rest description: REST adapter for Google Calendar API. resources: - path: /calendars name: createcalendar operations: - method: POST name: createcalendar description: Google Calendar Create calendar call: google-calendar.createcalendar outputParameters: - type: object mapping: $. - path: /calendars/{calendarId} name: getcalendar operations: - method: GET name: getcalendar description: Google Calendar Get calendar call: google-calendar.getcalendar with: calendarId: rest.calendarId outputParameters: - type: object mapping: $. - path: /calendars/{calendarId} name: updatecalendar operations: - method: PUT name: updatecalendar description: Google Calendar Update calendar call: google-calendar.updatecalendar with: calendarId: rest.calendarId outputParameters: - type: object mapping: $. - path: /calendars/{calendarId} name: deletecalendar operations: - method: DELETE name: deletecalendar description: Google Calendar Delete calendar call: google-calendar.deletecalendar with: calendarId: rest.calendarId outputParameters: - type: object mapping: $. - path: /calendars/{calendarId}/events name: listevents operations: - method: GET name: listevents description: Google Calendar List events call: google-calendar.listevents with: calendarId: rest.calendarId outputParameters: - type: object mapping: $. - path: /calendars/{calendarId}/events name: createevent operations: - method: POST name: createevent description: Google Calendar Create event call: google-calendar.createevent with: calendarId: rest.calendarId outputParameters: - type: object mapping: $. - path: /calendars/{calendarId}/events/{eventId} name: getevent operations: - method: GET name: getevent description: Google Calendar Get event call: google-calendar.getevent with: calendarId: rest.calendarId eventId: rest.eventId outputParameters: - type: object mapping: $. - path: /calendars/{calendarId}/events/{eventId} name: updateevent operations: - method: PUT name: updateevent description: Google Calendar Update event call: google-calendar.updateevent with: calendarId: rest.calendarId eventId: rest.eventId outputParameters: - type: object mapping: $. - path: /calendars/{calendarId}/events/{eventId} name: patchevent operations: - method: PATCH name: patchevent description: Google Calendar Patch event call: google-calendar.patchevent with: calendarId: rest.calendarId eventId: rest.eventId outputParameters: - type: object mapping: $. - path: /calendars/{calendarId}/events/{eventId} name: deleteevent operations: - method: DELETE name: deleteevent description: Google Calendar Delete event call: google-calendar.deleteevent with: calendarId: rest.calendarId eventId: rest.eventId outputParameters: - type: object mapping: $. - path: /calendars/{calendarId}/events/quickAdd name: quickaddevent operations: - method: POST name: quickaddevent description: Google Calendar Quick add event call: google-calendar.quickaddevent with: calendarId: rest.calendarId outputParameters: - type: object mapping: $. - path: /calendars/{calendarId}/acl name: listacl operations: - method: GET name: listacl description: Google Calendar List ACL rules call: google-calendar.listacl with: calendarId: rest.calendarId outputParameters: - type: object mapping: $. - path: /calendars/{calendarId}/acl name: insertacl operations: - method: POST name: insertacl description: Google Calendar Insert ACL rule call: google-calendar.insertacl with: calendarId: rest.calendarId outputParameters: - type: object mapping: $. - path: /users/me/calendarList name: listcalendarlist operations: - method: GET name: listcalendarlist description: Google Calendar List calendar list call: google-calendar.listcalendarlist outputParameters: - type: object mapping: $. - path: /users/me/calendarList name: insertcalendarlist operations: - method: POST name: insertcalendarlist description: Google Calendar Insert calendar to list call: google-calendar.insertcalendarlist outputParameters: - type: object mapping: $. - path: /users/me/settings name: listsettings operations: - method: GET name: listsettings description: Google Calendar List settings call: google-calendar.listsettings outputParameters: - type: object mapping: $. - path: /freeBusy name: queryfreebusy operations: - method: POST name: queryfreebusy description: Google Calendar Query free/busy call: google-calendar.queryfreebusy outputParameters: - type: object mapping: $. - path: /colors name: getcolors operations: - method: GET name: getcolors description: Google Calendar Get colors call: google-calendar.getcolors outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: google-calendar-mcp transport: http description: MCP adapter for Google Calendar API for AI agent use. tools: - name: createcalendar description: Google Calendar Create calendar hints: readOnly: false destructive: false idempotent: false call: google-calendar.createcalendar outputParameters: - type: object mapping: $. - name: getcalendar description: Google Calendar Get calendar hints: readOnly: true destructive: false idempotent: true call: google-calendar.getcalendar with: calendarId: tools.calendarId inputParameters: - name: calendarId type: string description: calendarId required: true outputParameters: - type: object mapping: $. - name: updatecalendar description: Google Calendar Update calendar hints: readOnly: false destructive: false idempotent: true call: google-calendar.updatecalendar with: calendarId: tools.calendarId inputParameters: - name: calendarId type: string description: calendarId required: true outputParameters: - type: object mapping: $. - name: deletecalendar description: Google Calendar Delete calendar hints: readOnly: false destructive: true idempotent: true call: google-calendar.deletecalendar with: calendarId: tools.calendarId inputParameters: - name: calendarId type: string description: calendarId required: true outputParameters: - type: object mapping: $. - name: listevents description: Google Calendar List events hints: readOnly: true destructive: false idempotent: true call: google-calendar.listevents with: calendarId: tools.calendarId maxResults: tools.maxResults pageToken: tools.pageToken timeMin: tools.timeMin timeMax: tools.timeMax q: tools.q singleEvents: tools.singleEvents orderBy: tools.orderBy inputParameters: - name: calendarId type: string description: calendarId required: true - name: maxResults type: integer description: maxResults - name: pageToken type: string description: pageToken - name: timeMin type: string description: timeMin - name: timeMax type: string description: timeMax - name: q type: string description: q - name: singleEvents type: boolean description: singleEvents - name: orderBy type: string description: orderBy outputParameters: - type: object mapping: $. - name: createevent description: Google Calendar Create event hints: readOnly: false destructive: false idempotent: false call: google-calendar.createevent with: calendarId: tools.calendarId inputParameters: - name: calendarId type: string description: calendarId required: true outputParameters: - type: object mapping: $. - name: getevent description: Google Calendar Get event hints: readOnly: true destructive: false idempotent: true call: google-calendar.getevent with: calendarId: tools.calendarId eventId: tools.eventId inputParameters: - name: calendarId type: string description: calendarId required: true - name: eventId type: string description: eventId required: true outputParameters: - type: object mapping: $. - name: updateevent description: Google Calendar Update event hints: readOnly: false destructive: false idempotent: true call: google-calendar.updateevent with: calendarId: tools.calendarId eventId: tools.eventId inputParameters: - name: calendarId type: string description: calendarId required: true - name: eventId type: string description: eventId required: true outputParameters: - type: object mapping: $. - name: patchevent description: Google Calendar Patch event hints: readOnly: false destructive: false idempotent: false call: google-calendar.patchevent with: calendarId: tools.calendarId eventId: tools.eventId inputParameters: - name: calendarId type: string description: calendarId required: true - name: eventId type: string description: eventId required: true outputParameters: - type: object mapping: $. - name: deleteevent description: Google Calendar Delete event hints: readOnly: false destructive: true idempotent: true call: google-calendar.deleteevent with: calendarId: tools.calendarId eventId: tools.eventId inputParameters: - name: calendarId type: string description: calendarId required: true - name: eventId type: string description: eventId required: true outputParameters: - type: object mapping: $. - name: quickaddevent description: Google Calendar Quick add event hints: readOnly: false destructive: false idempotent: false call: google-calendar.quickaddevent with: calendarId: tools.calendarId text: tools.text inputParameters: - name: calendarId type: string description: calendarId required: true - name: text type: string description: text required: true outputParameters: - type: object mapping: $. - name: listacl description: Google Calendar List ACL rules hints: readOnly: true destructive: false idempotent: true call: google-calendar.listacl with: calendarId: tools.calendarId inputParameters: - name: calendarId type: string description: calendarId required: true outputParameters: - type: object mapping: $. - name: insertacl description: Google Calendar Insert ACL rule hints: readOnly: false destructive: false idempotent: false call: google-calendar.insertacl with: calendarId: tools.calendarId inputParameters: - name: calendarId type: string description: calendarId required: true outputParameters: - type: object mapping: $. - name: listcalendarlist description: Google Calendar List calendar list hints: readOnly: true destructive: false idempotent: true call: google-calendar.listcalendarlist outputParameters: - type: object mapping: $. - name: insertcalendarlist description: Google Calendar Insert calendar to list hints: readOnly: false destructive: false idempotent: false call: google-calendar.insertcalendarlist outputParameters: - type: object mapping: $. - name: listsettings description: Google Calendar List settings hints: readOnly: true destructive: false idempotent: true call: google-calendar.listsettings outputParameters: - type: object mapping: $. - name: queryfreebusy description: Google Calendar Query free/busy hints: readOnly: false destructive: false idempotent: false call: google-calendar.queryfreebusy outputParameters: - type: object mapping: $. - name: getcolors description: Google Calendar Get colors hints: readOnly: true destructive: false idempotent: true call: google-calendar.getcolors outputParameters: - type: object mapping: $.