naftiko: 1.0.0-alpha2 info: label: Wahoo Cloud API — Workouts description: >- Workout CRUD capability for the Wahoo Cloud API. Create, list, read, update, and delete workout records and their summaries. tags: - Wahoo - Workouts - Fitness created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: WAHOO_ACCESS_TOKEN: WAHOO_ACCESS_TOKEN capability: consumes: - type: http namespace: cloud-workouts baseUri: https://api.wahooligan.com description: Wahoo Cloud Workouts surface — self-contained OAuth bearer client. resources: - name: v1-workouts path: /v1/workouts operations: - name: listWorkouts method: GET description: List the authenticated user's workouts. - name: createWorkout method: POST description: Create a workout. inputParameters: - name: body in: body type: object required: true - name: v1-workouts-id path: /v1/workouts/{id} operations: - name: getWorkout method: GET description: Get a workout by id. inputParameters: - name: id in: path type: integer required: true - name: updateWorkout method: PUT description: Update a workout. inputParameters: - name: id in: path type: integer required: true - name: body in: body type: object required: true - name: deleteWorkout method: DELETE description: Delete a workout. inputParameters: - name: id in: path type: integer required: true - name: v1-workouts-summary path: /v1/workouts/{id}/workout_summary operations: - name: getWorkoutSummary method: GET description: Get a workout summary. inputParameters: - name: id in: path type: integer required: true authentication: type: bearer value: '{{env.WAHOO_ACCESS_TOKEN}}' placement: header exposes: - type: mcp namespace: cloud-workouts-mcp port: 9090 transport: http description: MCP adapter for Wahoo Cloud Workouts. tools: - name: wahoo-list-workouts description: List Wahoo workouts. hints: { readOnly: true, destructive: false, idempotent: true } call: cloud-workouts.listWorkouts - name: wahoo-create-workout description: Create a Wahoo workout. hints: { readOnly: false, destructive: false, idempotent: false } call: cloud-workouts.createWorkout with: { body: tools.body } - name: wahoo-get-workout description: Get a Wahoo workout by id. hints: { readOnly: true, destructive: false, idempotent: true } call: cloud-workouts.getWorkout with: { id: tools.id } - name: wahoo-update-workout description: Update a Wahoo workout. hints: { readOnly: false, destructive: false, idempotent: true } call: cloud-workouts.updateWorkout with: { id: tools.id, body: tools.body } - name: wahoo-delete-workout description: Delete a Wahoo workout. hints: { readOnly: false, destructive: true, idempotent: true } call: cloud-workouts.deleteWorkout with: { id: tools.id } - name: wahoo-get-workout-summary description: Get the workout summary for a workout. hints: { readOnly: true, destructive: false, idempotent: true } call: cloud-workouts.getWorkoutSummary with: { id: tools.id }