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: $. } ] }