naftiko: "1.0.0-alpha1" info: label: "Scaleway Serverless" description: >- Unified workflow capability for deploying and managing serverless workloads on Scaleway, combining Serverless Containers and Serverless Functions. Used by developers and DevOps teams to deploy event-driven applications with pay-per-use pricing, CRON scheduling, and custom domain support on European cloud infrastructure. tags: - Cloud Computing - Containers - Event-Driven - FaaS - Functions - Scaleway - Serverless created: "2026-05-02" modified: "2026-05-02" binds: - namespace: env keys: SCALEWAY_API_KEY: SCALEWAY_API_KEY capability: consumes: - import: scaleway-containers location: ./shared/serverless-containers.yaml - import: scaleway-functions location: ./shared/serverless-functions.yaml exposes: - type: rest port: 8082 namespace: scaleway-serverless-api description: "Unified REST API for Scaleway serverless workload management." resources: - path: /v1/container-namespaces name: container-namespaces description: "Container namespace management" operations: - method: GET name: list-container-namespaces description: "List serverless container namespaces" call: "scaleway-containers.list-container-namespaces" with: region: "rest.region" outputParameters: - type: object mapping: "$." - method: POST name: create-container-namespace description: "Create a container namespace" call: "scaleway-containers.create-container-namespace" with: region: "rest.region" outputParameters: - type: object mapping: "$." - path: /v1/containers name: containers description: "Serverless container management" operations: - method: GET name: list-containers description: "List serverless containers" call: "scaleway-containers.list-containers" with: region: "rest.region" outputParameters: - type: object mapping: "$." - method: POST name: create-container description: "Deploy a serverless container" call: "scaleway-containers.create-container" with: region: "rest.region" outputParameters: - type: object mapping: "$." - path: /v1/containers/{id} name: container description: "Manage a specific serverless container" operations: - method: GET name: get-container description: "Get container details" call: "scaleway-containers.get-container" with: region: "rest.region" container_id: "rest.id" outputParameters: - type: object mapping: "$." - method: DELETE name: delete-container description: "Delete a serverless container" call: "scaleway-containers.delete-container" with: region: "rest.region" container_id: "rest.id" outputParameters: - type: object mapping: "$." - path: /v1/container-triggers name: container-triggers description: "Container trigger management" operations: - method: GET name: list-container-triggers description: "List container triggers" call: "scaleway-containers.list-container-triggers" with: region: "rest.region" outputParameters: - type: object mapping: "$." - path: /v1/function-namespaces name: function-namespaces description: "Function namespace management" operations: - method: GET name: list-function-namespaces description: "List function namespaces" call: "scaleway-functions.list-function-namespaces" with: region: "rest.region" outputParameters: - type: object mapping: "$." - path: /v1/functions name: functions description: "Serverless function management" operations: - method: GET name: list-functions description: "List serverless functions" call: "scaleway-functions.list-functions" with: region: "rest.region" outputParameters: - type: object mapping: "$." - method: POST name: create-function description: "Create a serverless function" call: "scaleway-functions.create-function" with: region: "rest.region" outputParameters: - type: object mapping: "$." - path: /v1/functions/{id} name: function description: "Manage a specific function" operations: - method: GET name: get-function description: "Get function details" call: "scaleway-functions.get-function" with: region: "rest.region" function_id: "rest.id" outputParameters: - type: object mapping: "$." - method: DELETE name: delete-function description: "Delete a serverless function" call: "scaleway-functions.delete-function" with: region: "rest.region" function_id: "rest.id" outputParameters: - type: object mapping: "$." - path: /v1/crons name: crons description: "CRON schedule management" operations: - method: GET name: list-crons description: "List CRON triggers" call: "scaleway-functions.list-crons" with: region: "rest.region" outputParameters: - type: object mapping: "$." - method: POST name: create-cron description: "Create a CRON trigger" call: "scaleway-functions.create-cron" with: region: "rest.region" outputParameters: - type: object mapping: "$." - type: mcp port: 9092 namespace: scaleway-serverless-mcp transport: http description: "MCP server for AI-assisted Scaleway serverless workload management." tools: - name: list-container-namespaces description: "List serverless container namespaces" hints: readOnly: true openWorld: true call: "scaleway-containers.list-container-namespaces" with: region: "tools.region" outputParameters: - type: object mapping: "$." - name: list-containers description: "List deployed serverless containers" hints: readOnly: true openWorld: true call: "scaleway-containers.list-containers" with: region: "tools.region" outputParameters: - type: object mapping: "$." - name: create-container description: "Deploy a new serverless container" hints: readOnly: false destructive: false idempotent: false call: "scaleway-containers.create-container" with: region: "tools.region" outputParameters: - type: object mapping: "$." - name: get-container description: "Get details of a serverless container" hints: readOnly: true openWorld: false call: "scaleway-containers.get-container" with: region: "tools.region" container_id: "tools.container_id" outputParameters: - type: object mapping: "$." - name: delete-container description: "Delete a serverless container" hints: readOnly: false destructive: true idempotent: true call: "scaleway-containers.delete-container" with: region: "tools.region" container_id: "tools.container_id" outputParameters: - type: object mapping: "$." - name: list-container-triggers description: "List triggers for serverless containers" hints: readOnly: true openWorld: true call: "scaleway-containers.list-container-triggers" with: region: "tools.region" outputParameters: - type: object mapping: "$." - name: list-function-namespaces description: "List serverless function namespaces" hints: readOnly: true openWorld: true call: "scaleway-functions.list-function-namespaces" with: region: "tools.region" outputParameters: - type: object mapping: "$." - name: list-functions description: "List serverless functions" hints: readOnly: true openWorld: true call: "scaleway-functions.list-functions" with: region: "tools.region" outputParameters: - type: object mapping: "$." - name: create-function description: "Create a new serverless function" hints: readOnly: false destructive: false idempotent: false call: "scaleway-functions.create-function" with: region: "tools.region" outputParameters: - type: object mapping: "$." - name: get-function description: "Get details of a serverless function" hints: readOnly: true openWorld: false call: "scaleway-functions.get-function" with: region: "tools.region" function_id: "tools.function_id" outputParameters: - type: object mapping: "$." - name: delete-function description: "Delete a serverless function" hints: readOnly: false destructive: true idempotent: true call: "scaleway-functions.delete-function" with: region: "tools.region" function_id: "tools.function_id" outputParameters: - type: object mapping: "$." - name: list-crons description: "List CRON triggers for serverless functions" hints: readOnly: true openWorld: true call: "scaleway-functions.list-crons" with: region: "tools.region" outputParameters: - type: object mapping: "$." - name: create-cron description: "Create a CRON schedule for a serverless function" hints: readOnly: false destructive: false idempotent: false call: "scaleway-functions.create-cron" with: region: "tools.region" outputParameters: - type: object mapping: "$."