naftiko: 1.0.0-alpha2
info:
label: Fastly Load Balancing — Server Pools
description: Manage Fastly dynamic server pools and their member servers. Pools allow servers to be added or removed without activating a new service version.
tags: [Fastly, Load Balancing, Server Pools]
created: '2026-05-22'
modified: '2026-05-22'
binds:
- namespace: env
keys: { FASTLY_API_KEY: FASTLY_API_KEY }
capability:
consumes:
- type: http
namespace: load-balancing-pools
baseUri: https://api.fastly.com
description: Dynamic server pools and pool servers.
resources:
- name: pools
path: /service/{service_id}/pool
operations:
- { name: listpools, method: GET, description: List server pools, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] }
- { name: createpool, method: POST, description: Create server pool, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] }
- name: pool
path: /service/{service_id}/pool/{pool_id}
operations:
- { name: getpool, method: GET, description: Get server pool, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] }
- { name: updatepool, method: PATCH, description: Update server pool, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] }
- { name: deletepool, method: DELETE, description: Delete server pool, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] }
- name: pool-servers
path: /service/{service_id}/pool/{pool_id}/server
operations:
- { name: listservers, method: GET, description: List pool servers, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] }
- { name: createserver, method: POST, description: Create pool server, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] }
- name: pool-server
path: /service/{service_id}/pool/{pool_id}/server/{server_id}
operations:
- { name: getserver, method: GET, description: Get pool server, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] }
- { name: updateserver, method: PATCH, description: Update pool server, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] }
- { name: deleteserver, method: DELETE, description: Delete pool server, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] }
authentication: { type: apikey, key: Fastly-Key, value: '{{env.FASTLY_API_KEY}}', placement: header }
exposes:
- type: rest
namespace: load-balancing-pools-rest
port: 8080
description: REST adapter.
resources:
- path: /v1/services/{service-id}/pools
name: pools
description: Pools collection.
operations:
- { method: GET, name: listpools, description: List pools, call: load-balancing-pools.listpools, outputParameters: [ { type: object, mapping: $. } ] }
- { method: POST, name: createpool, description: Create pool, call: load-balancing-pools.createpool, outputParameters: [ { type: object, mapping: $. } ] }
- path: /v1/services/{service-id}/pools/{pool-id}
name: pool
description: Single pool.
operations:
- { method: GET, name: getpool, description: Get pool, call: load-balancing-pools.getpool, outputParameters: [ { type: object, mapping: $. } ] }
- { method: PATCH, name: updatepool, description: Update pool, call: load-balancing-pools.updatepool, outputParameters: [ { type: object, mapping: $. } ] }
- { method: DELETE, name: deletepool, description: Delete pool, call: load-balancing-pools.deletepool, outputParameters: [ { type: object, mapping: $. } ] }
- path: /v1/services/{service-id}/pools/{pool-id}/servers
name: pool-servers
description: Pool servers collection.
operations:
- { method: GET, name: listservers, description: List pool servers, call: load-balancing-pools.listservers, outputParameters: [ { type: object, mapping: $. } ] }
- { method: POST, name: createserver, description: Create pool server, call: load-balancing-pools.createserver, outputParameters: [ { type: object, mapping: $. } ] }
- path: /v1/services/{service-id}/pools/{pool-id}/servers/{server-id}
name: pool-server
description: Single pool server.
operations:
- { method: GET, name: getserver, description: Get pool server, call: load-balancing-pools.getserver, outputParameters: [ { type: object, mapping: $. } ] }
- { method: PATCH, name: updateserver, description: Update pool server, call: load-balancing-pools.updateserver, outputParameters: [ { type: object, mapping: $. } ] }
- { method: DELETE, name: deleteserver, description: Delete pool server, call: load-balancing-pools.deleteserver, outputParameters: [ { type: object, mapping: $. } ] }
- type: mcp
namespace: load-balancing-pools-mcp
port: 9090
transport: http
description: MCP adapter.
tools:
- { name: list-pools, description: List Fastly server pools, hints: { readOnly: true, destructive: false, idempotent: true }, call: load-balancing-pools.listpools, outputParameters: [ { type: object, mapping: $. } ] }
- { name: create-pool, description: Create a Fastly server pool, hints: { readOnly: false, destructive: false, idempotent: false }, call: load-balancing-pools.createpool, outputParameters: [ { type: object, mapping: $. } ] }
- { name: get-pool, description: Get a Fastly server pool, hints: { readOnly: true, destructive: false, idempotent: true }, call: load-balancing-pools.getpool, outputParameters: [ { type: object, mapping: $. } ] }
- { name: update-pool, description: Update a Fastly server pool, hints: { readOnly: false, destructive: false, idempotent: true }, call: load-balancing-pools.updatepool, outputParameters: [ { type: object, mapping: $. } ] }
- { name: delete-pool, description: Delete a Fastly server pool, hints: { readOnly: false, destructive: true, idempotent: true }, call: load-balancing-pools.deletepool, outputParameters: [ { type: object, mapping: $. } ] }
- { name: list-pool-servers, description: List servers in a Fastly server pool, hints: { readOnly: true, destructive: false, idempotent: true }, call: load-balancing-pools.listservers, outputParameters: [ { type: object, mapping: $. } ] }
- { name: create-pool-server, description: Add a server to a Fastly server pool, hints: { readOnly: false, destructive: false, idempotent: false }, call: load-balancing-pools.createserver, outputParameters: [ { type: object, mapping: $. } ] }
- { name: get-pool-server, description: Get a server in a Fastly server pool, hints: { readOnly: true, destructive: false, idempotent: true }, call: load-balancing-pools.getserver, outputParameters: [ { type: object, mapping: $. } ] }
- { name: update-pool-server, description: Update a server in a Fastly server pool, hints: { readOnly: false, destructive: false, idempotent: true }, call: load-balancing-pools.updateserver, outputParameters: [ { type: object, mapping: $. } ] }
- { name: delete-pool-server, description: Remove a server from a Fastly server pool, hints: { readOnly: false, destructive: true, idempotent: true }, call: load-balancing-pools.deleteserver, outputParameters: [ { type: object, mapping: $. } ] }