naftiko: 1.0.0-alpha2 info: label: Google Calendar API — User Calendars description: 'Google Calendar API — User Calendars. 7 operations. Lead operation: Google Insert Calendar On List. Self-contained Naftiko capability covering one Google business surface.' tags: - Google - User Calendars created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GOOGLE_API_KEY: GOOGLE_API_KEY capability: consumes: - type: http namespace: calendar-user-calendars baseUri: https://www.googleapis.com/calendar/v3 description: Google Calendar API — User Calendars business capability. Self-contained, no shared references. resources: - name: users-me-calendarList path: /users/me/calendarList operations: - name: googleinsertcalendaronlist method: POST description: Google Insert Calendar On List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string - name: Accept in: header type: string - name: Authorization in: header type: string - name: body in: body type: object description: Request body (JSON). required: false - name: users-me-calendarList-watch path: /users/me/calendarList/watch operations: - name: googlewatchcalendarlist method: POST description: Google Watch Calendar List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string - name: Accept in: header type: string - name: Authorization in: header type: string - name: body in: body type: object description: Request body (JSON). required: false - name: users-me-calendarList-calendarId path: /users/me/calendarList/{calendarId} operations: - name: googlegetcalendarlist method: GET description: Google Get Calendar List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Accept in: header type: string - name: calendarId in: path type: string required: true - name: Authorization in: header type: string - name: googleupdatecalendarlist method: PUT description: Google Update Calendar List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string - name: Accept in: header type: string - name: calendarId in: path type: string required: true - name: Authorization in: header type: string - name: body in: body type: object description: Request body (JSON). required: false - name: googlepatchcalendarlist method: PATCH description: Google Patch Calendar List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string - name: Accept in: header type: string - name: calendarId in: path type: string required: true - name: Authorization in: header type: string - name: body in: body type: object description: Request body (JSON). required: false - name: googleremovecalendaronlist method: DELETE description: Google Remove Calendar On List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: calendarId in: path type: string required: true - name: Authorization in: header type: string - name: users-userId-calendarList path: /users/{userId}/calendarList operations: - name: googlelistcalendars method: GET description: Google List Calendars outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Accept in: header type: string - name: userId in: path type: string description: (Required) required: true - name: Authorization in: header type: string exposes: - type: rest namespace: calendar-user-calendars-rest port: 8080 description: REST adapter for Google Calendar API — User Calendars. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/users/me/calendarlist name: users-me-calendarlist description: REST surface for users-me-calendarList. operations: - method: POST name: googleinsertcalendaronlist description: Google Insert Calendar On List call: calendar-user-calendars.googleinsertcalendaronlist with: Content-Type: rest.Content-Type Accept: rest.Accept Authorization: rest.Authorization body: rest.body outputParameters: - type: object mapping: $. - path: /v1/users/me/calendarlist/watch name: users-me-calendarlist-watch description: REST surface for users-me-calendarList-watch. operations: - method: POST name: googlewatchcalendarlist description: Google Watch Calendar List call: calendar-user-calendars.googlewatchcalendarlist with: Content-Type: rest.Content-Type Accept: rest.Accept Authorization: rest.Authorization body: rest.body outputParameters: - type: object mapping: $. - path: /v1/users/me/calendarlist/{calendarid} name: users-me-calendarlist-calendarid description: REST surface for users-me-calendarList-calendarId. operations: - method: GET name: googlegetcalendarlist description: Google Get Calendar List call: calendar-user-calendars.googlegetcalendarlist with: Accept: rest.Accept calendarId: rest.calendarId Authorization: rest.Authorization outputParameters: - type: object mapping: $. - method: PUT name: googleupdatecalendarlist description: Google Update Calendar List call: calendar-user-calendars.googleupdatecalendarlist with: Content-Type: rest.Content-Type Accept: rest.Accept calendarId: rest.calendarId Authorization: rest.Authorization body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: googlepatchcalendarlist description: Google Patch Calendar List call: calendar-user-calendars.googlepatchcalendarlist with: Content-Type: rest.Content-Type Accept: rest.Accept calendarId: rest.calendarId Authorization: rest.Authorization body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: googleremovecalendaronlist description: Google Remove Calendar On List call: calendar-user-calendars.googleremovecalendaronlist with: calendarId: rest.calendarId Authorization: rest.Authorization outputParameters: - type: object mapping: $. - path: /v1/users/{userid}/calendarlist name: users-userid-calendarlist description: REST surface for users-userId-calendarList. operations: - method: GET name: googlelistcalendars description: Google List Calendars call: calendar-user-calendars.googlelistcalendars with: Accept: rest.Accept userId: rest.userId Authorization: rest.Authorization outputParameters: - type: object mapping: $. - type: mcp namespace: calendar-user-calendars-mcp port: 9090 transport: http description: MCP adapter for Google Calendar API — User Calendars. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: google-insert-calendar-list description: Google Insert Calendar On List hints: readOnly: false destructive: false idempotent: false call: calendar-user-calendars.googleinsertcalendaronlist with: Content-Type: tools.Content-Type Accept: tools.Accept Authorization: tools.Authorization body: tools.body outputParameters: - type: object mapping: $. - name: google-watch-calendar-list description: Google Watch Calendar List hints: readOnly: false destructive: false idempotent: false call: calendar-user-calendars.googlewatchcalendarlist with: Content-Type: tools.Content-Type Accept: tools.Accept Authorization: tools.Authorization body: tools.body outputParameters: - type: object mapping: $. - name: google-get-calendar-list description: Google Get Calendar List hints: readOnly: true destructive: false idempotent: true call: calendar-user-calendars.googlegetcalendarlist with: Accept: tools.Accept calendarId: tools.calendarId Authorization: tools.Authorization outputParameters: - type: object mapping: $. - name: google-update-calendar-list description: Google Update Calendar List hints: readOnly: false destructive: false idempotent: true call: calendar-user-calendars.googleupdatecalendarlist with: Content-Type: tools.Content-Type Accept: tools.Accept calendarId: tools.calendarId Authorization: tools.Authorization body: tools.body outputParameters: - type: object mapping: $. - name: google-patch-calendar-list description: Google Patch Calendar List hints: readOnly: false destructive: false idempotent: true call: calendar-user-calendars.googlepatchcalendarlist with: Content-Type: tools.Content-Type Accept: tools.Accept calendarId: tools.calendarId Authorization: tools.Authorization body: tools.body outputParameters: - type: object mapping: $. - name: google-remove-calendar-list description: Google Remove Calendar On List hints: readOnly: false destructive: true idempotent: true call: calendar-user-calendars.googleremovecalendaronlist with: calendarId: tools.calendarId Authorization: tools.Authorization outputParameters: - type: object mapping: $. - name: google-list-calendars description: Google List Calendars hints: readOnly: true destructive: false idempotent: true call: calendar-user-calendars.googlelistcalendars with: Accept: tools.Accept userId: tools.userId Authorization: tools.Authorization outputParameters: - type: object mapping: $.