Scaleway · Capability

Scaleway Networking

Unified workflow capability for managing Scaleway networking infrastructure including Virtual Private Clouds, private networks, subnets, and load balancers. Used by network engineers and cloud architects to design and manage private connectivity and traffic distribution for Scaleway resources.

Run with Naftiko Cloud ComputingLoad BalancingNetwork IsolationNetworkingScalewayVPC

What You Can Do

GET
List vpcs — List VPCs
/v1/vpcs
POST
Create vpc — Create a VPC
/v1/vpcs
GET
Get vpc — Get VPC details
/v1/vpcs/{id}
DELETE
Delete vpc — Delete a VPC
/v1/vpcs/{id}
GET
List private networks — List private networks
/v1/private-networks
POST
Create private network — Create a private network
/v1/private-networks
GET
List subnets — List subnets
/v1/subnets
GET
List load balancers — List load balancers
/v1/load-balancers
POST
Create load balancer — Create a load balancer
/v1/load-balancers
GET
Get load balancer — Get load balancer details
/v1/load-balancers/{id}
DELETE
Delete load balancer — Delete a load balancer
/v1/load-balancers/{id}
GET
List backends — List load balancer backends
/v1/load-balancers/{id}/backends

MCP Tools

list-vpcs

List Scaleway Virtual Private Clouds

read-only
create-vpc

Create a new Scaleway VPC

get-vpc

Get details of a specific VPC

read-only
list-private-networks

List private networks within VPCs

read-only
create-private-network

Create a private network within a VPC

list-subnets

List subnets in a region

read-only
list-load-balancers

List Scaleway load balancers

read-only
create-load-balancer

Create a new load balancer

get-load-balancer

Get details of a specific load balancer

read-only
list-backends

List backend server pools for a load balancer

read-only
delete-load-balancer

Delete a load balancer

idempotent

APIs Used

scaleway-vpc scaleway-lb

Capability Spec

networking.yaml Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Scaleway Networking"
  description: >-
    Unified workflow capability for managing Scaleway networking infrastructure including
    Virtual Private Clouds, private networks, subnets, and load balancers. Used by
    network engineers and cloud architects to design and manage private connectivity
    and traffic distribution for Scaleway resources.
  tags:
    - Cloud Computing
    - Load Balancing
    - Network Isolation
    - Networking
    - Scaleway
    - VPC
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      SCALEWAY_API_KEY: SCALEWAY_API_KEY

capability:
  consumes:
    - import: scaleway-vpc
      location: ./shared/vpc.yaml
    - import: scaleway-lb
      location: ./shared/load-balancer.yaml

  exposes:
    - type: rest
      port: 8081
      namespace: scaleway-networking-api
      description: "Unified REST API for Scaleway network infrastructure management."
      resources:
        - path: /v1/vpcs
          name: vpcs
          description: "Virtual Private Cloud management"
          operations:
            - method: GET
              name: list-vpcs
              description: "List VPCs"
              call: "scaleway-vpc.list-vpcs"
              with:
                region: "rest.region"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-vpc
              description: "Create a VPC"
              call: "scaleway-vpc.create-vpc"
              with:
                region: "rest.region"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/vpcs/{id}
          name: vpc
          description: "Manage a specific VPC"
          operations:
            - method: GET
              name: get-vpc
              description: "Get VPC details"
              call: "scaleway-vpc.get-vpc"
              with:
                region: "rest.region"
                vpc_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: delete-vpc
              description: "Delete a VPC"
              call: "scaleway-vpc.delete-vpc"
              with:
                region: "rest.region"
                vpc_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/private-networks
          name: private-networks
          description: "Private network management"
          operations:
            - method: GET
              name: list-private-networks
              description: "List private networks"
              call: "scaleway-vpc.list-private-networks"
              with:
                region: "rest.region"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-private-network
              description: "Create a private network"
              call: "scaleway-vpc.create-private-network"
              with:
                region: "rest.region"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/subnets
          name: subnets
          description: "Subnet management"
          operations:
            - method: GET
              name: list-subnets
              description: "List subnets"
              call: "scaleway-vpc.list-subnets"
              with:
                region: "rest.region"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/load-balancers
          name: load-balancers
          description: "Load balancer management"
          operations:
            - method: GET
              name: list-load-balancers
              description: "List load balancers"
              call: "scaleway-lb.list-load-balancers"
              with:
                zone: "rest.zone"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-load-balancer
              description: "Create a load balancer"
              call: "scaleway-lb.create-load-balancer"
              with:
                zone: "rest.zone"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/load-balancers/{id}
          name: load-balancer
          description: "Manage a specific load balancer"
          operations:
            - method: GET
              name: get-load-balancer
              description: "Get load balancer details"
              call: "scaleway-lb.get-load-balancer"
              with:
                zone: "rest.zone"
                lb_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: delete-load-balancer
              description: "Delete a load balancer"
              call: "scaleway-lb.delete-load-balancer"
              with:
                zone: "rest.zone"
                lb_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/load-balancers/{id}/backends
          name: lb-backends
          description: "Load balancer backend management"
          operations:
            - method: GET
              name: list-backends
              description: "List load balancer backends"
              call: "scaleway-lb.list-backends"
              with:
                zone: "rest.zone"
                lb_id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9091
      namespace: scaleway-networking-mcp
      transport: http
      description: "MCP server for AI-assisted Scaleway network infrastructure management."
      tools:
        - name: list-vpcs
          description: "List Scaleway Virtual Private Clouds"
          hints:
            readOnly: true
            openWorld: true
          call: "scaleway-vpc.list-vpcs"
          with:
            region: "tools.region"
          outputParameters:
            - type: object
              mapping: "$."
        - name: create-vpc
          description: "Create a new Scaleway VPC"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "scaleway-vpc.create-vpc"
          with:
            region: "tools.region"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-vpc
          description: "Get details of a specific VPC"
          hints:
            readOnly: true
            openWorld: false
          call: "scaleway-vpc.get-vpc"
          with:
            region: "tools.region"
            vpc_id: "tools.vpc_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-private-networks
          description: "List private networks within VPCs"
          hints:
            readOnly: true
            openWorld: true
          call: "scaleway-vpc.list-private-networks"
          with:
            region: "tools.region"
          outputParameters:
            - type: object
              mapping: "$."
        - name: create-private-network
          description: "Create a private network within a VPC"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "scaleway-vpc.create-private-network"
          with:
            region: "tools.region"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-subnets
          description: "List subnets in a region"
          hints:
            readOnly: true
            openWorld: true
          call: "scaleway-vpc.list-subnets"
          with:
            region: "tools.region"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-load-balancers
          description: "List Scaleway load balancers"
          hints:
            readOnly: true
            openWorld: true
          call: "scaleway-lb.list-load-balancers"
          with:
            zone: "tools.zone"
          outputParameters:
            - type: object
              mapping: "$."
        - name: create-load-balancer
          description: "Create a new load balancer"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "scaleway-lb.create-load-balancer"
          with:
            zone: "tools.zone"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-load-balancer
          description: "Get details of a specific load balancer"
          hints:
            readOnly: true
            openWorld: false
          call: "scaleway-lb.get-load-balancer"
          with:
            zone: "tools.zone"
            lb_id: "tools.lb_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-backends
          description: "List backend server pools for a load balancer"
          hints:
            readOnly: true
            openWorld: false
          call: "scaleway-lb.list-backends"
          with:
            zone: "tools.zone"
            lb_id: "tools.lb_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: delete-load-balancer
          description: "Delete a load balancer"
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: "scaleway-lb.delete-load-balancer"
          with:
            zone: "tools.zone"
            lb_id: "tools.lb_id"
          outputParameters:
            - type: object
              mapping: "$."