Scaleway · Capability

Scaleway Serverless

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.

Run with Naftiko Cloud ComputingContainersEvent-DrivenFaaSFunctionsScalewayServerless

What You Can Do

GET
List container namespaces — List serverless container namespaces
/v1/container-namespaces
POST
Create container namespace — Create a container namespace
/v1/container-namespaces
GET
List containers — List serverless containers
/v1/containers
POST
Create container — Deploy a serverless container
/v1/containers
GET
Get container — Get container details
/v1/containers/{id}
DELETE
Delete container — Delete a serverless container
/v1/containers/{id}
GET
List container triggers — List container triggers
/v1/container-triggers
GET
List function namespaces — List function namespaces
/v1/function-namespaces
GET
List functions — List serverless functions
/v1/functions
POST
Create function — Create a serverless function
/v1/functions
GET
Get function — Get function details
/v1/functions/{id}
DELETE
Delete function — Delete a serverless function
/v1/functions/{id}
GET
List crons — List CRON triggers
/v1/crons
POST
Create cron — Create a CRON trigger
/v1/crons

MCP Tools

list-container-namespaces

List serverless container namespaces

read-only
list-containers

List deployed serverless containers

read-only
create-container

Deploy a new serverless container

get-container

Get details of a serverless container

read-only
delete-container

Delete a serverless container

idempotent
list-container-triggers

List triggers for serverless containers

read-only
list-function-namespaces

List serverless function namespaces

read-only
list-functions

List serverless functions

read-only
create-function

Create a new serverless function

get-function

Get details of a serverless function

read-only
delete-function

Delete a serverless function

idempotent
list-crons

List CRON triggers for serverless functions

read-only
create-cron

Create a CRON schedule for a serverless function

APIs Used

scaleway-containers scaleway-functions

Capability Spec

serverless.yaml Raw ↑
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: "$."