mcp-scaleway 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1287 -0
- package/dist/index.js +15566 -0
- package/package.json +39 -0
- package/src/server.ts +20 -0
package/README.md
ADDED
|
@@ -0,0 +1,1287 @@
|
|
|
1
|
+
# mcp-scaleway
|
|
2
|
+
|
|
3
|
+
[](https://github.com/feedback-loop-ai/mcp-scaleway/actions/workflows/ci.yml)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
[](https://modelcontextprotocol.io/)
|
|
6
|
+
|
|
7
|
+
An MCP (Model Context Protocol) server that gives AI assistants like Claude full access to the Scaleway cloud platform. Manage compute instances, databases, Kubernetes clusters, serverless functions, object storage, and 30+ more Scaleway services through natural language.
|
|
8
|
+
|
|
9
|
+
## Table of Contents
|
|
10
|
+
|
|
11
|
+
- [Overview](#overview)
|
|
12
|
+
- [Features](#features)
|
|
13
|
+
- [Quick Start](#quick-start)
|
|
14
|
+
- [Installation](#installation)
|
|
15
|
+
- [Authentication](#authentication)
|
|
16
|
+
- [Configuration](#configuration)
|
|
17
|
+
- [Claude Desktop](#claude-desktop)
|
|
18
|
+
- [Claude Code](#claude-code)
|
|
19
|
+
- [Other MCP Clients](#other-mcp-clients)
|
|
20
|
+
- [Usage Examples](#usage-examples)
|
|
21
|
+
- [Tool Reference](#tool-reference)
|
|
22
|
+
- [Compute](#compute)
|
|
23
|
+
- [Storage & Databases](#storage--databases)
|
|
24
|
+
- [Networking](#networking)
|
|
25
|
+
- [Serverless & Containers](#serverless--containers)
|
|
26
|
+
- [AI & Machine Learning](#ai--machine-learning)
|
|
27
|
+
- [Security & Identity](#security--identity)
|
|
28
|
+
- [Managed Services](#managed-services)
|
|
29
|
+
- [Account & Billing](#account--billing)
|
|
30
|
+
- [Managing Tool Access](#managing-tool-access)
|
|
31
|
+
- [Development](#development)
|
|
32
|
+
- [Architecture](#architecture)
|
|
33
|
+
- [Troubleshooting](#troubleshooting)
|
|
34
|
+
- [Contributing](#contributing)
|
|
35
|
+
- [Support](#support)
|
|
36
|
+
- [License](#license)
|
|
37
|
+
|
|
38
|
+
## Overview
|
|
39
|
+
|
|
40
|
+
**mcp-scaleway** is a stateless MCP server that acts as a bridge between AI assistants and the [Scaleway](https://www.scaleway.com) cloud platform. It exposes 539 tools across 36 Scaleway services, enabling AI agents to provision infrastructure, manage databases, deploy applications, and operate cloud resources on your behalf.
|
|
41
|
+
|
|
42
|
+
**Why use this?**
|
|
43
|
+
|
|
44
|
+
- **Natural language cloud management** - Ask your AI assistant to "create a Kubernetes cluster with 3 nodes" instead of writing API calls
|
|
45
|
+
- **Full Scaleway coverage** - 36 services, 539 operations, from compute to AI to networking
|
|
46
|
+
- **Zero state** - Pure proxy to Scaleway APIs; no data stored, no side effects beyond what you request
|
|
47
|
+
- **Type-safe** - Every input validated with Zod schemas before reaching Scaleway
|
|
48
|
+
|
|
49
|
+
## Features
|
|
50
|
+
|
|
51
|
+
Supports 36 Scaleway service areas organized across 8 categories:
|
|
52
|
+
|
|
53
|
+
| Category | Services |
|
|
54
|
+
|----------|----------|
|
|
55
|
+
| **Compute** | Instances, Elastic Metal, Apple Silicon |
|
|
56
|
+
| **Storage & Databases** | Block Storage, Object Storage, RDB (PostgreSQL/MySQL), MongoDB, Redis, Serverless SQL DB |
|
|
57
|
+
| **Networking** | VPC, Load Balancer, Public Gateway, DNS, Domain Registrar, IPAM, Edge Services |
|
|
58
|
+
| **Serverless & Containers** | Containers, Functions, Jobs, Kubernetes (K8s) |
|
|
59
|
+
| **AI & Machine Learning** | Inference, Generative APIs, Cockpit (Observability) |
|
|
60
|
+
| **Security & Identity** | IAM, Secret Manager, Key Manager |
|
|
61
|
+
| **Managed Services** | NATS, SQS, SNS, TEM (Transactional Email), IoT Hub, Container Registry, Marketplace |
|
|
62
|
+
| **Account & Billing** | Account, Billing, Web Hosting |
|
|
63
|
+
|
|
64
|
+
## Quick Start
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# 1. Clone and install
|
|
68
|
+
git clone https://github.com/feedback-loop-ai/mcp-scaleway.git
|
|
69
|
+
cd mcp-scaleway
|
|
70
|
+
bun install
|
|
71
|
+
|
|
72
|
+
# 2. Set your Scaleway credentials
|
|
73
|
+
export SCW_ACCESS_KEY="SCWxxxxxxxxxxxxxxxxx"
|
|
74
|
+
export SCW_SECRET_KEY="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
|
75
|
+
export SCW_DEFAULT_PROJECT_ID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
|
76
|
+
|
|
77
|
+
# 3. Start the server
|
|
78
|
+
bun run start
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Then configure your MCP client (see [Configuration](#configuration) below).
|
|
82
|
+
|
|
83
|
+
## Installation
|
|
84
|
+
|
|
85
|
+
### Prerequisites
|
|
86
|
+
|
|
87
|
+
- [Bun](https://bun.sh) 1.x or later
|
|
88
|
+
- A [Scaleway account](https://console.scaleway.com) with API credentials
|
|
89
|
+
|
|
90
|
+
### Install
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
git clone https://github.com/feedback-loop-ai/mcp-scaleway.git
|
|
94
|
+
cd mcp-scaleway
|
|
95
|
+
bun install
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Verify
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
bun run start
|
|
102
|
+
# Server starts and listens on stdio
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Authentication
|
|
106
|
+
|
|
107
|
+
The server authenticates with Scaleway using environment variables. You can generate API keys from the [Scaleway console](https://console.scaleway.com/iam/api-keys).
|
|
108
|
+
|
|
109
|
+
### Required
|
|
110
|
+
|
|
111
|
+
| Variable | Description |
|
|
112
|
+
|----------|-------------|
|
|
113
|
+
| `SCW_ACCESS_KEY` | Your Scaleway API access key (starts with `SCW`) |
|
|
114
|
+
| `SCW_SECRET_KEY` | Your Scaleway API secret key (UUID format) |
|
|
115
|
+
| `SCW_DEFAULT_PROJECT_ID` | Default project UUID for operations |
|
|
116
|
+
|
|
117
|
+
### Optional
|
|
118
|
+
|
|
119
|
+
| Variable | Description | Default |
|
|
120
|
+
|----------|-------------|---------|
|
|
121
|
+
| `SCW_DEFAULT_ORGANIZATION_ID` | Organization UUID (for multi-org accounts) | _(none)_ |
|
|
122
|
+
| `SCW_DEFAULT_REGION` | Default region for regional resources | `fr-par` |
|
|
123
|
+
| `SCW_DEFAULT_ZONE` | Default availability zone for zonal resources | `fr-par-1` |
|
|
124
|
+
|
|
125
|
+
### Available Regions
|
|
126
|
+
|
|
127
|
+
| Region | Location |
|
|
128
|
+
|--------|----------|
|
|
129
|
+
| `fr-par` | Paris, France |
|
|
130
|
+
| `nl-ams` | Amsterdam, Netherlands |
|
|
131
|
+
| `pl-waw` | Warsaw, Poland |
|
|
132
|
+
|
|
133
|
+
Each region has multiple zones (e.g., `fr-par-1`, `fr-par-2`, `fr-par-3`).
|
|
134
|
+
|
|
135
|
+
## Configuration
|
|
136
|
+
|
|
137
|
+
### Claude Desktop
|
|
138
|
+
|
|
139
|
+
Add the server to your Claude Desktop configuration file:
|
|
140
|
+
|
|
141
|
+
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
142
|
+
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
143
|
+
**Linux**: `~/.config/Claude/claude_desktop_config.json`
|
|
144
|
+
|
|
145
|
+
```json
|
|
146
|
+
{
|
|
147
|
+
"mcpServers": {
|
|
148
|
+
"scaleway": {
|
|
149
|
+
"command": "bun",
|
|
150
|
+
"args": ["run", "start"],
|
|
151
|
+
"cwd": "/path/to/mcp-scaleway",
|
|
152
|
+
"env": {
|
|
153
|
+
"SCW_ACCESS_KEY": "SCWxxxxxxxxxxxxxxxxx",
|
|
154
|
+
"SCW_SECRET_KEY": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
155
|
+
"SCW_DEFAULT_PROJECT_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Claude Code
|
|
163
|
+
|
|
164
|
+
Add to your project's `.mcp.json` file (or `~/.claude/mcp.json` for global access):
|
|
165
|
+
|
|
166
|
+
```json
|
|
167
|
+
{
|
|
168
|
+
"mcpServers": {
|
|
169
|
+
"scaleway": {
|
|
170
|
+
"command": "bun",
|
|
171
|
+
"args": ["run", "start"],
|
|
172
|
+
"cwd": "/path/to/mcp-scaleway",
|
|
173
|
+
"env": {
|
|
174
|
+
"SCW_ACCESS_KEY": "SCWxxxxxxxxxxxxxxxxx",
|
|
175
|
+
"SCW_SECRET_KEY": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
176
|
+
"SCW_DEFAULT_PROJECT_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Other MCP Clients
|
|
184
|
+
|
|
185
|
+
The server uses **stdio transport** (reads from stdin, writes to stdout). Any MCP-compatible client can connect by running:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
SCW_ACCESS_KEY=... SCW_SECRET_KEY=... SCW_DEFAULT_PROJECT_ID=... bun run start
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
The server follows the [MCP specification](https://modelcontextprotocol.io) and works with any client that supports the protocol.
|
|
192
|
+
|
|
193
|
+
## Usage Examples
|
|
194
|
+
|
|
195
|
+
Once configured, you can ask your AI assistant to manage Scaleway resources using natural language:
|
|
196
|
+
|
|
197
|
+
### Compute - Managing Instances
|
|
198
|
+
|
|
199
|
+
> "List all my running instances in the fr-par-1 zone"
|
|
200
|
+
|
|
201
|
+
> "Create a DEV1-S instance named 'web-server' with an Ubuntu image in fr-par-1"
|
|
202
|
+
|
|
203
|
+
> "Stop the instance with ID xxx and then create a snapshot of its volume"
|
|
204
|
+
|
|
205
|
+
### Storage - Object Storage
|
|
206
|
+
|
|
207
|
+
> "List all my S3 buckets and show how many objects are in each one"
|
|
208
|
+
|
|
209
|
+
> "Create a new bucket called 'app-backups' in the fr-par region"
|
|
210
|
+
|
|
211
|
+
> "Set a lifecycle policy on the 'logs' bucket to expire objects after 30 days"
|
|
212
|
+
|
|
213
|
+
### Kubernetes - Cluster Management
|
|
214
|
+
|
|
215
|
+
> "Create a Kubernetes cluster named 'production' with version 1.28 and a pool of 3 PRO2-S nodes"
|
|
216
|
+
|
|
217
|
+
> "Get the kubeconfig for my 'staging' cluster"
|
|
218
|
+
|
|
219
|
+
> "List all node pools and their autoscaling status"
|
|
220
|
+
|
|
221
|
+
### Serverless - Functions & Containers
|
|
222
|
+
|
|
223
|
+
> "List all function namespaces in the fr-par region"
|
|
224
|
+
|
|
225
|
+
> "Deploy the container 'api-gateway' in namespace 'prod' and set up a cron trigger for every hour"
|
|
226
|
+
|
|
227
|
+
> "Create a new serverless job definition with 2 vCPUs and 2GB memory"
|
|
228
|
+
|
|
229
|
+
### AI - Inference & Generative APIs
|
|
230
|
+
|
|
231
|
+
> "List available inference models in fr-par"
|
|
232
|
+
|
|
233
|
+
> "Create an inference deployment using Llama 3 on a GPU-3070-S node"
|
|
234
|
+
|
|
235
|
+
> "Send a chat completion request using the Scaleway generative API"
|
|
236
|
+
|
|
237
|
+
### Security - Secrets & IAM
|
|
238
|
+
|
|
239
|
+
> "List all secrets in the default project"
|
|
240
|
+
|
|
241
|
+
> "Create a new secret called 'database-password' and add a version with the value 'supersecure'"
|
|
242
|
+
|
|
243
|
+
> "List all IAM users and show which groups they belong to"
|
|
244
|
+
|
|
245
|
+
## Tool Reference
|
|
246
|
+
|
|
247
|
+
### Compute
|
|
248
|
+
|
|
249
|
+
<details>
|
|
250
|
+
<summary><strong>Instances</strong> (20 tools) - Virtual machine instances</summary>
|
|
251
|
+
|
|
252
|
+
| Tool | Description |
|
|
253
|
+
|------|-------------|
|
|
254
|
+
| `scaleway_instances_list_servers` | List Instance servers in a zone with optional filtering by name, tags, state, and project |
|
|
255
|
+
| `scaleway_instances_get_server` | Get details of a specific Instance server by its ID and zone |
|
|
256
|
+
| `scaleway_instances_create_server` | Create a new Instance server with the specified type, image, and configuration |
|
|
257
|
+
| `scaleway_instances_delete_server` | Delete an Instance server (must be stopped first) |
|
|
258
|
+
| `scaleway_instances_server_action` | Perform an action: poweron, poweroff, reboot, terminate, stop_in_place, or backup |
|
|
259
|
+
| `scaleway_instances_list_volumes` | List Instance volumes in a zone with optional filtering |
|
|
260
|
+
| `scaleway_instances_get_volume` | Get details of a specific Instance volume |
|
|
261
|
+
| `scaleway_instances_create_volume` | Create a new Instance volume (l_ssd or b_ssd) |
|
|
262
|
+
| `scaleway_instances_delete_volume` | Delete an Instance volume (must not be attached) |
|
|
263
|
+
| `scaleway_instances_list_security_groups` | List Instance security groups in a zone |
|
|
264
|
+
| `scaleway_instances_get_security_group` | Get details of a specific security group |
|
|
265
|
+
| `scaleway_instances_create_security_group` | Create a new security group with inbound/outbound policies |
|
|
266
|
+
| `scaleway_instances_delete_security_group` | Delete a security group |
|
|
267
|
+
| `scaleway_instances_list_ips` | List Instance IPs in a zone |
|
|
268
|
+
| `scaleway_instances_create_ip` | Reserve a new IP address (routed_ipv4 or routed_ipv6) |
|
|
269
|
+
| `scaleway_instances_delete_ip` | Release an IP address |
|
|
270
|
+
| `scaleway_instances_attach_ip` | Attach an IP address to a server |
|
|
271
|
+
| `scaleway_instances_list_snapshots` | List Instance snapshots in a zone |
|
|
272
|
+
| `scaleway_instances_create_snapshot` | Create a snapshot from a volume |
|
|
273
|
+
| `scaleway_instances_delete_snapshot` | Delete a snapshot |
|
|
274
|
+
|
|
275
|
+
</details>
|
|
276
|
+
|
|
277
|
+
<details>
|
|
278
|
+
<summary><strong>Elastic Metal</strong> (14 tools) - Dedicated bare metal servers</summary>
|
|
279
|
+
|
|
280
|
+
| Tool | Description |
|
|
281
|
+
|------|-------------|
|
|
282
|
+
| `scaleway_elastic_metal_list_servers` | List Elastic Metal servers in a zone |
|
|
283
|
+
| `scaleway_elastic_metal_get_server` | Get detailed information about a specific server |
|
|
284
|
+
| `scaleway_elastic_metal_create_server` | Create a new Elastic Metal dedicated server |
|
|
285
|
+
| `scaleway_elastic_metal_delete_server` | Delete an Elastic Metal server |
|
|
286
|
+
| `scaleway_elastic_metal_install_server` | Install an operating system on a server |
|
|
287
|
+
| `scaleway_elastic_metal_reboot_server` | Reboot a server |
|
|
288
|
+
| `scaleway_elastic_metal_start_server` | Start a stopped server |
|
|
289
|
+
| `scaleway_elastic_metal_stop_server` | Stop a running server |
|
|
290
|
+
| `scaleway_elastic_metal_list_offers` | List available server offers in a zone |
|
|
291
|
+
| `scaleway_elastic_metal_list_oss` | List available operating systems |
|
|
292
|
+
| `scaleway_elastic_metal_get_bmc_access` | Get BMC access credentials (time-limited) |
|
|
293
|
+
| `scaleway_elastic_metal_list_ips` | List flexible IPs for Elastic Metal |
|
|
294
|
+
| `scaleway_elastic_metal_create_ip` | Create a new flexible IP |
|
|
295
|
+
| `scaleway_elastic_metal_delete_ip` | Delete a flexible IP |
|
|
296
|
+
|
|
297
|
+
</details>
|
|
298
|
+
|
|
299
|
+
<details>
|
|
300
|
+
<summary><strong>Apple Silicon</strong> (8 tools) - Mac mini as-a-Service</summary>
|
|
301
|
+
|
|
302
|
+
| Tool | Description |
|
|
303
|
+
|------|-------------|
|
|
304
|
+
| `scaleway_apple_silicon_list_servers` | List Apple Silicon servers |
|
|
305
|
+
| `scaleway_apple_silicon_get_server` | Get details of a specific server |
|
|
306
|
+
| `scaleway_apple_silicon_create_server` | Create a new Apple Silicon server (24h minimum lease) |
|
|
307
|
+
| `scaleway_apple_silicon_delete_server` | Delete a server (after 24h minimum period) |
|
|
308
|
+
| `scaleway_apple_silicon_reboot_server` | Reboot a server |
|
|
309
|
+
| `scaleway_apple_silicon_reinstall_server` | Reinstall the OS (all data erased) |
|
|
310
|
+
| `scaleway_apple_silicon_list_server_types` | List available server types with specs |
|
|
311
|
+
| `scaleway_apple_silicon_list_os` | List available macOS versions |
|
|
312
|
+
|
|
313
|
+
</details>
|
|
314
|
+
|
|
315
|
+
### Storage & Databases
|
|
316
|
+
|
|
317
|
+
<details>
|
|
318
|
+
<summary><strong>Block Storage</strong> (11 tools) - Managed block volumes</summary>
|
|
319
|
+
|
|
320
|
+
| Tool | Description |
|
|
321
|
+
|------|-------------|
|
|
322
|
+
| `scaleway_block_storage_list_volumes` | List block storage volumes in a zone |
|
|
323
|
+
| `scaleway_block_storage_get_volume` | Get details of a specific volume |
|
|
324
|
+
| `scaleway_block_storage_create_volume` | Create a new volume from scratch or from a snapshot |
|
|
325
|
+
| `scaleway_block_storage_update_volume` | Update a volume (name, size, IOPS, or tags) |
|
|
326
|
+
| `scaleway_block_storage_delete_volume` | Delete a volume |
|
|
327
|
+
| `scaleway_block_storage_list_snapshots` | List block storage snapshots in a zone |
|
|
328
|
+
| `scaleway_block_storage_get_snapshot` | Get details of a specific snapshot |
|
|
329
|
+
| `scaleway_block_storage_create_snapshot` | Create a snapshot from a volume |
|
|
330
|
+
| `scaleway_block_storage_update_snapshot` | Update a snapshot (name or tags) |
|
|
331
|
+
| `scaleway_block_storage_delete_snapshot` | Delete a snapshot |
|
|
332
|
+
| `scaleway_block_storage_list_volume_types` | List available volume types and specs |
|
|
333
|
+
|
|
334
|
+
</details>
|
|
335
|
+
|
|
336
|
+
<details>
|
|
337
|
+
<summary><strong>Object Storage</strong> (14 tools) - S3-compatible object storage</summary>
|
|
338
|
+
|
|
339
|
+
| Tool | Description |
|
|
340
|
+
|------|-------------|
|
|
341
|
+
| `scaleway_object_storage_list_buckets` | List all S3 buckets in a region |
|
|
342
|
+
| `scaleway_object_storage_create_bucket` | Create a new S3 bucket |
|
|
343
|
+
| `scaleway_object_storage_delete_bucket` | Delete a bucket (must be empty) |
|
|
344
|
+
| `scaleway_object_storage_get_bucket_info` | Get bucket details including versioning and object count |
|
|
345
|
+
| `scaleway_object_storage_list_objects` | List objects with optional prefix filtering and pagination |
|
|
346
|
+
| `scaleway_object_storage_get_object_info` | Get metadata for a specific object |
|
|
347
|
+
| `scaleway_object_storage_put_object` | Upload a small object (base64-encoded) |
|
|
348
|
+
| `scaleway_object_storage_delete_object` | Delete an object |
|
|
349
|
+
| `scaleway_object_storage_get_bucket_policy` | Get the bucket policy (JSON) |
|
|
350
|
+
| `scaleway_object_storage_set_bucket_policy` | Set or replace the bucket policy |
|
|
351
|
+
| `scaleway_object_storage_get_bucket_lifecycle` | Get lifecycle rules |
|
|
352
|
+
| `scaleway_object_storage_set_bucket_lifecycle` | Set lifecycle rules (expiration, transitions) |
|
|
353
|
+
| `scaleway_object_storage_get_bucket_versioning` | Get versioning status |
|
|
354
|
+
| `scaleway_object_storage_set_bucket_versioning` | Enable or suspend versioning |
|
|
355
|
+
|
|
356
|
+
</details>
|
|
357
|
+
|
|
358
|
+
<details>
|
|
359
|
+
<summary><strong>RDB</strong> (27 tools) - Managed PostgreSQL & MySQL</summary>
|
|
360
|
+
|
|
361
|
+
| Tool | Description |
|
|
362
|
+
|------|-------------|
|
|
363
|
+
| `scaleway_rdb_list_instances` | List RDB instances in a region |
|
|
364
|
+
| `scaleway_rdb_get_instance` | Get details of an RDB instance |
|
|
365
|
+
| `scaleway_rdb_create_instance` | Create a new RDB instance (PostgreSQL or MySQL) |
|
|
366
|
+
| `scaleway_rdb_update_instance` | Update an RDB instance |
|
|
367
|
+
| `scaleway_rdb_delete_instance` | Delete an RDB instance |
|
|
368
|
+
| `scaleway_rdb_upgrade_instance` | Upgrade node type, volume, or engine version |
|
|
369
|
+
| `scaleway_rdb_list_databases` | List databases within an instance |
|
|
370
|
+
| `scaleway_rdb_create_database` | Create a new database |
|
|
371
|
+
| `scaleway_rdb_delete_database` | Delete a database |
|
|
372
|
+
| `scaleway_rdb_list_users` | List users of an instance |
|
|
373
|
+
| `scaleway_rdb_create_user` | Create a new user with optional admin privileges |
|
|
374
|
+
| `scaleway_rdb_update_user` | Update a user's password or admin status |
|
|
375
|
+
| `scaleway_rdb_delete_user` | Delete a user |
|
|
376
|
+
| `scaleway_rdb_list_backups` | List database backups |
|
|
377
|
+
| `scaleway_rdb_create_backup` | Create a manual backup |
|
|
378
|
+
| `scaleway_rdb_restore_backup` | Restore a backup |
|
|
379
|
+
| `scaleway_rdb_list_endpoints` | List endpoints (public, private network, load balancer) |
|
|
380
|
+
| `scaleway_rdb_create_endpoint` | Create a new endpoint |
|
|
381
|
+
| `scaleway_rdb_delete_endpoint` | Delete an endpoint |
|
|
382
|
+
| `scaleway_rdb_list_acl_rules` | List ACL rules |
|
|
383
|
+
| `scaleway_rdb_add_acl_rules` | Add ACL rules for network access |
|
|
384
|
+
| `scaleway_rdb_delete_acl_rules` | Delete ACL rules |
|
|
385
|
+
| `scaleway_rdb_list_snapshots` | List snapshots |
|
|
386
|
+
| `scaleway_rdb_create_snapshot` | Create a snapshot |
|
|
387
|
+
| `scaleway_rdb_restore_snapshot` | Restore from a snapshot |
|
|
388
|
+
| `scaleway_rdb_list_node_types` | List available node types |
|
|
389
|
+
| `scaleway_rdb_list_database_engines` | List available database engines and versions |
|
|
390
|
+
|
|
391
|
+
</details>
|
|
392
|
+
|
|
393
|
+
<details>
|
|
394
|
+
<summary><strong>MongoDB</strong> (15 tools) - Managed MongoDB</summary>
|
|
395
|
+
|
|
396
|
+
| Tool | Description |
|
|
397
|
+
|------|-------------|
|
|
398
|
+
| `scaleway_mongodb_list_instances` | List MongoDB instances |
|
|
399
|
+
| `scaleway_mongodb_get_instance` | Get details of a MongoDB instance |
|
|
400
|
+
| `scaleway_mongodb_create_instance` | Create a new MongoDB instance |
|
|
401
|
+
| `scaleway_mongodb_update_instance` | Update a MongoDB instance |
|
|
402
|
+
| `scaleway_mongodb_delete_instance` | Delete a MongoDB instance |
|
|
403
|
+
| `scaleway_mongodb_list_users` | List users of an instance |
|
|
404
|
+
| `scaleway_mongodb_create_user` | Create a new user |
|
|
405
|
+
| `scaleway_mongodb_update_user` | Update a user's password |
|
|
406
|
+
| `scaleway_mongodb_delete_user` | Delete a user |
|
|
407
|
+
| `scaleway_mongodb_list_snapshots` | List MongoDB snapshots |
|
|
408
|
+
| `scaleway_mongodb_create_snapshot` | Create a snapshot |
|
|
409
|
+
| `scaleway_mongodb_restore_snapshot` | Restore a snapshot to a new instance |
|
|
410
|
+
| `scaleway_mongodb_delete_snapshot` | Delete a snapshot |
|
|
411
|
+
| `scaleway_mongodb_list_node_types` | List available node types |
|
|
412
|
+
| `scaleway_mongodb_list_versions` | List available MongoDB versions |
|
|
413
|
+
|
|
414
|
+
</details>
|
|
415
|
+
|
|
416
|
+
<details>
|
|
417
|
+
<summary><strong>Redis</strong> (16 tools) - Managed Redis cache</summary>
|
|
418
|
+
|
|
419
|
+
| Tool | Description |
|
|
420
|
+
|------|-------------|
|
|
421
|
+
| `scaleway_redis_list_clusters` | List Redis clusters |
|
|
422
|
+
| `scaleway_redis_get_cluster` | Get details of a Redis cluster |
|
|
423
|
+
| `scaleway_redis_create_cluster` | Create a new Redis cluster |
|
|
424
|
+
| `scaleway_redis_update_cluster` | Update a Redis cluster |
|
|
425
|
+
| `scaleway_redis_delete_cluster` | Delete a Redis cluster |
|
|
426
|
+
| `scaleway_redis_list_cluster_metrics` | Get cluster metrics (CPU, memory, connections) |
|
|
427
|
+
| `scaleway_redis_get_cluster_certificate` | Get the TLS certificate |
|
|
428
|
+
| `scaleway_redis_renew_cluster_certificate` | Renew the TLS certificate |
|
|
429
|
+
| `scaleway_redis_add_acl_rules` | Add ACL rules |
|
|
430
|
+
| `scaleway_redis_delete_acl_rules` | Delete ACL rules |
|
|
431
|
+
| `scaleway_redis_set_acl_rules` | Replace all ACL rules |
|
|
432
|
+
| `scaleway_redis_add_endpoints` | Add endpoints |
|
|
433
|
+
| `scaleway_redis_delete_endpoints` | Delete an endpoint |
|
|
434
|
+
| `scaleway_redis_set_endpoints` | Replace all endpoints |
|
|
435
|
+
| `scaleway_redis_list_node_types` | List available node types |
|
|
436
|
+
| `scaleway_redis_list_cluster_versions` | List available Redis versions |
|
|
437
|
+
|
|
438
|
+
</details>
|
|
439
|
+
|
|
440
|
+
<details>
|
|
441
|
+
<summary><strong>Serverless SQL DB</strong> (9 tools) - Serverless PostgreSQL</summary>
|
|
442
|
+
|
|
443
|
+
| Tool | Description |
|
|
444
|
+
|------|-------------|
|
|
445
|
+
| `scaleway_serverless_sqldb_list_databases` | List Serverless SQL Databases |
|
|
446
|
+
| `scaleway_serverless_sqldb_get_database` | Get details of a database |
|
|
447
|
+
| `scaleway_serverless_sqldb_create_database` | Create a new database with auto-scaling CPU |
|
|
448
|
+
| `scaleway_serverless_sqldb_update_database` | Update CPU scaling limits |
|
|
449
|
+
| `scaleway_serverless_sqldb_delete_database` | Delete a database |
|
|
450
|
+
| `scaleway_serverless_sqldb_list_database_backups` | List backups |
|
|
451
|
+
| `scaleway_serverless_sqldb_get_database_backup` | Get backup details |
|
|
452
|
+
| `scaleway_serverless_sqldb_export_database_backup` | Export a backup (download URL) |
|
|
453
|
+
| `scaleway_serverless_sqldb_restore_database` | Restore from a backup |
|
|
454
|
+
|
|
455
|
+
</details>
|
|
456
|
+
|
|
457
|
+
### Networking
|
|
458
|
+
|
|
459
|
+
<details>
|
|
460
|
+
<summary><strong>VPC</strong> (10 tools) - Virtual Private Cloud</summary>
|
|
461
|
+
|
|
462
|
+
| Tool | Description |
|
|
463
|
+
|------|-------------|
|
|
464
|
+
| `scaleway_vpc_list_vpcs` | List all VPCs in a region |
|
|
465
|
+
| `scaleway_vpc_get_vpc` | Get details of a specific VPC |
|
|
466
|
+
| `scaleway_vpc_create_vpc` | Create a new VPC |
|
|
467
|
+
| `scaleway_vpc_update_vpc` | Update a VPC's name or tags |
|
|
468
|
+
| `scaleway_vpc_delete_vpc` | Delete a VPC (must have no private networks) |
|
|
469
|
+
| `scaleway_vpc_list_private_networks` | List private networks |
|
|
470
|
+
| `scaleway_vpc_get_private_network` | Get details of a private network |
|
|
471
|
+
| `scaleway_vpc_create_private_network` | Create a new private network within a VPC |
|
|
472
|
+
| `scaleway_vpc_update_private_network` | Update a private network |
|
|
473
|
+
| `scaleway_vpc_delete_private_network` | Delete a private network |
|
|
474
|
+
|
|
475
|
+
</details>
|
|
476
|
+
|
|
477
|
+
<details>
|
|
478
|
+
<summary><strong>Load Balancer</strong> (31 tools) - Managed load balancing</summary>
|
|
479
|
+
|
|
480
|
+
| Tool | Description |
|
|
481
|
+
|------|-------------|
|
|
482
|
+
| `scaleway_lb_list_lbs` | List load balancers in a zone |
|
|
483
|
+
| `scaleway_lb_get_lb` | Get a specific load balancer |
|
|
484
|
+
| `scaleway_lb_create_lb` | Create a new load balancer |
|
|
485
|
+
| `scaleway_lb_update_lb` | Update a load balancer |
|
|
486
|
+
| `scaleway_lb_delete_lb` | Delete a load balancer |
|
|
487
|
+
| `scaleway_lb_migrate_lb` | Migrate to a different type |
|
|
488
|
+
| `scaleway_lb_list_frontends` | List frontends |
|
|
489
|
+
| `scaleway_lb_get_frontend` | Get a specific frontend |
|
|
490
|
+
| `scaleway_lb_create_frontend` | Create a frontend |
|
|
491
|
+
| `scaleway_lb_update_frontend` | Update a frontend |
|
|
492
|
+
| `scaleway_lb_delete_frontend` | Delete a frontend |
|
|
493
|
+
| `scaleway_lb_list_backends` | List backends |
|
|
494
|
+
| `scaleway_lb_get_backend` | Get a specific backend |
|
|
495
|
+
| `scaleway_lb_create_backend` | Create a backend |
|
|
496
|
+
| `scaleway_lb_update_backend` | Update a backend |
|
|
497
|
+
| `scaleway_lb_delete_backend` | Delete a backend |
|
|
498
|
+
| `scaleway_lb_add_backend_servers` | Add server IPs to a backend |
|
|
499
|
+
| `scaleway_lb_remove_backend_servers` | Remove server IPs from a backend |
|
|
500
|
+
| `scaleway_lb_set_backend_servers` | Set the complete server IP list |
|
|
501
|
+
| `scaleway_lb_list_routes` | List routes |
|
|
502
|
+
| `scaleway_lb_get_route` | Get a specific route |
|
|
503
|
+
| `scaleway_lb_create_route` | Create a route |
|
|
504
|
+
| `scaleway_lb_update_route` | Update a route |
|
|
505
|
+
| `scaleway_lb_delete_route` | Delete a route |
|
|
506
|
+
| `scaleway_lb_list_certificates` | List certificates |
|
|
507
|
+
| `scaleway_lb_get_certificate` | Get a specific certificate |
|
|
508
|
+
| `scaleway_lb_create_certificate` | Create a certificate |
|
|
509
|
+
| `scaleway_lb_update_certificate` | Update a certificate |
|
|
510
|
+
| `scaleway_lb_delete_certificate` | Delete a certificate |
|
|
511
|
+
| `scaleway_lb_get_lb_stats` | Get load balancer statistics |
|
|
512
|
+
| `scaleway_lb_list_lb_types` | List available load balancer types |
|
|
513
|
+
|
|
514
|
+
</details>
|
|
515
|
+
|
|
516
|
+
<details>
|
|
517
|
+
<summary><strong>Public Gateway</strong> (26 tools) - NAT gateway for private networks</summary>
|
|
518
|
+
|
|
519
|
+
| Tool | Description |
|
|
520
|
+
|------|-------------|
|
|
521
|
+
| `scaleway_public_gateway_list_gateways` | List Public Gateways |
|
|
522
|
+
| `scaleway_public_gateway_get_gateway` | Get details of a gateway |
|
|
523
|
+
| `scaleway_public_gateway_create_gateway` | Create a new gateway |
|
|
524
|
+
| `scaleway_public_gateway_update_gateway` | Update a gateway |
|
|
525
|
+
| `scaleway_public_gateway_delete_gateway` | Delete a gateway |
|
|
526
|
+
| `scaleway_public_gateway_list_gateway_networks` | List gateway-to-private-network connections |
|
|
527
|
+
| `scaleway_public_gateway_get_gateway_network` | Get a gateway network connection |
|
|
528
|
+
| `scaleway_public_gateway_create_gateway_network` | Attach a gateway to a private network |
|
|
529
|
+
| `scaleway_public_gateway_update_gateway_network` | Update a gateway network connection |
|
|
530
|
+
| `scaleway_public_gateway_delete_gateway_network` | Detach a gateway from a private network |
|
|
531
|
+
| `scaleway_public_gateway_list_dhcps` | List DHCP configurations |
|
|
532
|
+
| `scaleway_public_gateway_get_dhcp` | Get a DHCP configuration |
|
|
533
|
+
| `scaleway_public_gateway_create_dhcp` | Create a DHCP configuration |
|
|
534
|
+
| `scaleway_public_gateway_update_dhcp` | Update a DHCP configuration |
|
|
535
|
+
| `scaleway_public_gateway_delete_dhcp` | Delete a DHCP configuration |
|
|
536
|
+
| `scaleway_public_gateway_list_pat_rules` | List PAT (port forwarding) rules |
|
|
537
|
+
| `scaleway_public_gateway_get_pat_rule` | Get a PAT rule |
|
|
538
|
+
| `scaleway_public_gateway_create_pat_rule` | Create a PAT rule |
|
|
539
|
+
| `scaleway_public_gateway_update_pat_rule` | Update a PAT rule |
|
|
540
|
+
| `scaleway_public_gateway_delete_pat_rule` | Delete a PAT rule |
|
|
541
|
+
| `scaleway_public_gateway_list_ips` | List flexible IPs |
|
|
542
|
+
| `scaleway_public_gateway_get_ip` | Get a flexible IP |
|
|
543
|
+
| `scaleway_public_gateway_create_ip` | Reserve a new flexible IP |
|
|
544
|
+
| `scaleway_public_gateway_update_ip` | Update a flexible IP |
|
|
545
|
+
| `scaleway_public_gateway_delete_ip` | Release a flexible IP |
|
|
546
|
+
| `scaleway_public_gateway_list_gateway_types` | List available gateway types |
|
|
547
|
+
|
|
548
|
+
</details>
|
|
549
|
+
|
|
550
|
+
<details>
|
|
551
|
+
<summary><strong>DNS</strong> (18 tools) - DNS zone management</summary>
|
|
552
|
+
|
|
553
|
+
| Tool | Description |
|
|
554
|
+
|------|-------------|
|
|
555
|
+
| `scaleway_dns_list_zones` | List DNS zones with optional filtering |
|
|
556
|
+
| `scaleway_dns_create_zone` | Create a new DNS zone |
|
|
557
|
+
| `scaleway_dns_update_zone` | Update a DNS zone |
|
|
558
|
+
| `scaleway_dns_delete_zone` | Delete a DNS zone and all records |
|
|
559
|
+
| `scaleway_dns_clone_zone` | Clone a zone to a new destination |
|
|
560
|
+
| `scaleway_dns_refresh_zone` | Refresh a DNS zone |
|
|
561
|
+
| `scaleway_dns_list_records` | List DNS records in a zone |
|
|
562
|
+
| `scaleway_dns_update_records` | Batch update DNS records |
|
|
563
|
+
| `scaleway_dns_clear_records` | Clear all records from a zone |
|
|
564
|
+
| `scaleway_dns_export_raw_zone` | Export as BIND zone file |
|
|
565
|
+
| `scaleway_dns_import_raw_zone` | Import from BIND zone file |
|
|
566
|
+
| `scaleway_dns_list_nameservers` | List nameservers |
|
|
567
|
+
| `scaleway_dns_update_nameservers` | Update nameservers |
|
|
568
|
+
| `scaleway_dns_get_ssl_certificate` | Get SSL certificate |
|
|
569
|
+
| `scaleway_dns_create_ssl_certificate` | Create SSL certificate |
|
|
570
|
+
| `scaleway_dns_delete_ssl_certificate` | Delete SSL certificate |
|
|
571
|
+
| `scaleway_dns_get_tsig_key` | Get TSIG key |
|
|
572
|
+
| `scaleway_dns_delete_tsig_key` | Delete TSIG key |
|
|
573
|
+
|
|
574
|
+
</details>
|
|
575
|
+
|
|
576
|
+
<details>
|
|
577
|
+
<summary><strong>Domain Registrar</strong> (15 tools) - Domain registration</summary>
|
|
578
|
+
|
|
579
|
+
| Tool | Description |
|
|
580
|
+
|------|-------------|
|
|
581
|
+
| `scaleway_domain_registrar_list_domains` | List all domains |
|
|
582
|
+
| `scaleway_domain_registrar_get_domain` | Get domain details |
|
|
583
|
+
| `scaleway_domain_registrar_register_domain` | Register a new domain |
|
|
584
|
+
| `scaleway_domain_registrar_renew_domain` | Renew a domain |
|
|
585
|
+
| `scaleway_domain_registrar_transfer_domain` | Transfer a domain from another registrar |
|
|
586
|
+
| `scaleway_domain_registrar_update_domain` | Update domain contacts |
|
|
587
|
+
| `scaleway_domain_registrar_enable_auto_renew` | Enable auto-renewal |
|
|
588
|
+
| `scaleway_domain_registrar_disable_auto_renew` | Disable auto-renewal |
|
|
589
|
+
| `scaleway_domain_registrar_check_domain_availability` | Check domain availability |
|
|
590
|
+
| `scaleway_domain_registrar_list_contacts` | List registration contacts |
|
|
591
|
+
| `scaleway_domain_registrar_get_contact` | Get contact details |
|
|
592
|
+
| `scaleway_domain_registrar_create_contact` | Create a new contact |
|
|
593
|
+
| `scaleway_domain_registrar_update_contact` | Update a contact |
|
|
594
|
+
| `scaleway_domain_registrar_list_tlds` | List available TLDs with pricing |
|
|
595
|
+
| `scaleway_domain_registrar_get_tld` | Get TLD details |
|
|
596
|
+
|
|
597
|
+
</details>
|
|
598
|
+
|
|
599
|
+
<details>
|
|
600
|
+
<summary><strong>IPAM</strong> (5 tools) - IP Address Management</summary>
|
|
601
|
+
|
|
602
|
+
| Tool | Description |
|
|
603
|
+
|------|-------------|
|
|
604
|
+
| `scaleway_ipam_list_ips` | List IP addresses managed by IPAM |
|
|
605
|
+
| `scaleway_ipam_get_ip` | Get details of a specific IP |
|
|
606
|
+
| `scaleway_ipam_book_ip` | Book (reserve) a new IP address |
|
|
607
|
+
| `scaleway_ipam_release_ip` | Release an IP reservation |
|
|
608
|
+
| `scaleway_ipam_update_ip` | Update an IP (tags, reverse DNS) |
|
|
609
|
+
|
|
610
|
+
</details>
|
|
611
|
+
|
|
612
|
+
<details>
|
|
613
|
+
<summary><strong>Edge Services</strong> (28 tools) - CDN and edge computing</summary>
|
|
614
|
+
|
|
615
|
+
| Tool | Description |
|
|
616
|
+
|------|-------------|
|
|
617
|
+
| `scaleway_edge_services_list_pipelines` | List Edge Services pipelines |
|
|
618
|
+
| `scaleway_edge_services_get_pipeline` | Get pipeline details |
|
|
619
|
+
| `scaleway_edge_services_create_pipeline` | Create a new pipeline |
|
|
620
|
+
| `scaleway_edge_services_update_pipeline` | Update a pipeline |
|
|
621
|
+
| `scaleway_edge_services_delete_pipeline` | Delete a pipeline |
|
|
622
|
+
| `scaleway_edge_services_list_dns_stages` | List DNS stages |
|
|
623
|
+
| `scaleway_edge_services_get_dns_stage` | Get DNS stage details |
|
|
624
|
+
| `scaleway_edge_services_create_dns_stage` | Create a DNS stage |
|
|
625
|
+
| `scaleway_edge_services_update_dns_stage` | Update a DNS stage |
|
|
626
|
+
| `scaleway_edge_services_delete_dns_stage` | Delete a DNS stage |
|
|
627
|
+
| `scaleway_edge_services_list_tls_stages` | List TLS stages |
|
|
628
|
+
| `scaleway_edge_services_get_tls_stage` | Get TLS stage details |
|
|
629
|
+
| `scaleway_edge_services_create_tls_stage` | Create a TLS stage |
|
|
630
|
+
| `scaleway_edge_services_update_tls_stage` | Update a TLS stage |
|
|
631
|
+
| `scaleway_edge_services_delete_tls_stage` | Delete a TLS stage |
|
|
632
|
+
| `scaleway_edge_services_list_cache_stages` | List cache stages |
|
|
633
|
+
| `scaleway_edge_services_get_cache_stage` | Get cache stage details |
|
|
634
|
+
| `scaleway_edge_services_create_cache_stage` | Create a cache stage |
|
|
635
|
+
| `scaleway_edge_services_update_cache_stage` | Update a cache stage |
|
|
636
|
+
| `scaleway_edge_services_delete_cache_stage` | Delete a cache stage |
|
|
637
|
+
| `scaleway_edge_services_list_backend_stages` | List backend stages |
|
|
638
|
+
| `scaleway_edge_services_get_backend_stage` | Get backend stage details |
|
|
639
|
+
| `scaleway_edge_services_create_backend_stage` | Create a backend stage (S3 or LB origin) |
|
|
640
|
+
| `scaleway_edge_services_update_backend_stage` | Update a backend stage |
|
|
641
|
+
| `scaleway_edge_services_delete_backend_stage` | Delete a backend stage |
|
|
642
|
+
| `scaleway_edge_services_purge_cache` | Purge cached content |
|
|
643
|
+
| `scaleway_edge_services_list_purge_requests` | List purge requests |
|
|
644
|
+
| `scaleway_edge_services_get_purge_request` | Get purge request details |
|
|
645
|
+
|
|
646
|
+
</details>
|
|
647
|
+
|
|
648
|
+
### Serverless & Containers
|
|
649
|
+
|
|
650
|
+
<details>
|
|
651
|
+
<summary><strong>Containers</strong> (20 tools) - Serverless containers</summary>
|
|
652
|
+
|
|
653
|
+
| Tool | Description |
|
|
654
|
+
|------|-------------|
|
|
655
|
+
| `scaleway_containers_list_namespaces` | List container namespaces |
|
|
656
|
+
| `scaleway_containers_get_namespace` | Get namespace details |
|
|
657
|
+
| `scaleway_containers_create_namespace` | Create a new namespace |
|
|
658
|
+
| `scaleway_containers_update_namespace` | Update a namespace |
|
|
659
|
+
| `scaleway_containers_delete_namespace` | Delete a namespace |
|
|
660
|
+
| `scaleway_containers_list_containers` | List containers in a namespace |
|
|
661
|
+
| `scaleway_containers_get_container` | Get container details |
|
|
662
|
+
| `scaleway_containers_create_container` | Create a new container |
|
|
663
|
+
| `scaleway_containers_update_container` | Update container configuration |
|
|
664
|
+
| `scaleway_containers_delete_container` | Delete a container |
|
|
665
|
+
| `scaleway_containers_deploy_container` | Deploy a container |
|
|
666
|
+
| `scaleway_containers_list_crons` | List cron triggers |
|
|
667
|
+
| `scaleway_containers_create_cron` | Create a cron trigger |
|
|
668
|
+
| `scaleway_containers_update_cron` | Update a cron trigger |
|
|
669
|
+
| `scaleway_containers_delete_cron` | Delete a cron trigger |
|
|
670
|
+
| `scaleway_containers_list_domains` | List custom domains |
|
|
671
|
+
| `scaleway_containers_create_domain` | Map a custom domain |
|
|
672
|
+
| `scaleway_containers_delete_domain` | Remove a custom domain |
|
|
673
|
+
| `scaleway_containers_create_token` | Create an auth token |
|
|
674
|
+
| `scaleway_containers_delete_token` | Delete an auth token |
|
|
675
|
+
|
|
676
|
+
</details>
|
|
677
|
+
|
|
678
|
+
<details>
|
|
679
|
+
<summary><strong>Functions</strong> (20 tools) - Serverless functions</summary>
|
|
680
|
+
|
|
681
|
+
| Tool | Description |
|
|
682
|
+
|------|-------------|
|
|
683
|
+
| `scaleway_functions_list_namespaces` | List function namespaces |
|
|
684
|
+
| `scaleway_functions_get_namespace` | Get namespace details |
|
|
685
|
+
| `scaleway_functions_create_namespace` | Create a new namespace |
|
|
686
|
+
| `scaleway_functions_update_namespace` | Update a namespace |
|
|
687
|
+
| `scaleway_functions_delete_namespace` | Delete a namespace |
|
|
688
|
+
| `scaleway_functions_list_functions` | List functions in a namespace |
|
|
689
|
+
| `scaleway_functions_get_function` | Get function details |
|
|
690
|
+
| `scaleway_functions_create_function` | Create a new function |
|
|
691
|
+
| `scaleway_functions_update_function` | Update a function |
|
|
692
|
+
| `scaleway_functions_delete_function` | Delete a function |
|
|
693
|
+
| `scaleway_functions_deploy_function` | Deploy a function (trigger build) |
|
|
694
|
+
| `scaleway_functions_list_crons` | List cron triggers |
|
|
695
|
+
| `scaleway_functions_create_cron` | Create a cron trigger |
|
|
696
|
+
| `scaleway_functions_update_cron` | Update a cron trigger |
|
|
697
|
+
| `scaleway_functions_delete_cron` | Delete a cron trigger |
|
|
698
|
+
| `scaleway_functions_list_domains` | List custom domains |
|
|
699
|
+
| `scaleway_functions_create_domain` | Attach a custom domain |
|
|
700
|
+
| `scaleway_functions_delete_domain` | Remove a custom domain |
|
|
701
|
+
| `scaleway_functions_create_token` | Create an access token |
|
|
702
|
+
| `scaleway_functions_delete_token` | Delete an access token |
|
|
703
|
+
|
|
704
|
+
</details>
|
|
705
|
+
|
|
706
|
+
<details>
|
|
707
|
+
<summary><strong>Jobs</strong> (9 tools) - Serverless batch jobs</summary>
|
|
708
|
+
|
|
709
|
+
| Tool | Description |
|
|
710
|
+
|------|-------------|
|
|
711
|
+
| `scaleway_jobs_list_definitions` | List job definitions |
|
|
712
|
+
| `scaleway_jobs_get_definition` | Get job definition details |
|
|
713
|
+
| `scaleway_jobs_create_definition` | Create a new job definition |
|
|
714
|
+
| `scaleway_jobs_update_definition` | Update a job definition |
|
|
715
|
+
| `scaleway_jobs_delete_definition` | Delete a job definition |
|
|
716
|
+
| `scaleway_jobs_start` | Start a new job run |
|
|
717
|
+
| `scaleway_jobs_list_runs` | List job runs |
|
|
718
|
+
| `scaleway_jobs_get_run` | Get job run details |
|
|
719
|
+
| `scaleway_jobs_stop_run` | Stop a running job |
|
|
720
|
+
|
|
721
|
+
</details>
|
|
722
|
+
|
|
723
|
+
<details>
|
|
724
|
+
<summary><strong>Kubernetes</strong> (13 tools) - Managed Kubernetes (Kapsule & Kosmos)</summary>
|
|
725
|
+
|
|
726
|
+
| Tool | Description |
|
|
727
|
+
|------|-------------|
|
|
728
|
+
| `scaleway_k8s_list_clusters` | List Kubernetes clusters |
|
|
729
|
+
| `scaleway_k8s_get_cluster` | Get cluster details |
|
|
730
|
+
| `scaleway_k8s_create_cluster` | Create a new cluster (Kapsule or Kosmos) |
|
|
731
|
+
| `scaleway_k8s_delete_cluster` | Delete a cluster |
|
|
732
|
+
| `scaleway_k8s_upgrade_cluster` | Upgrade cluster version |
|
|
733
|
+
| `scaleway_k8s_list_cluster_available_versions` | List available upgrade versions |
|
|
734
|
+
| `scaleway_k8s_get_cluster_kubeconfig` | Get the kubeconfig file |
|
|
735
|
+
| `scaleway_k8s_list_pools` | List node pools |
|
|
736
|
+
| `scaleway_k8s_get_pool` | Get node pool details |
|
|
737
|
+
| `scaleway_k8s_create_pool` | Create a node pool |
|
|
738
|
+
| `scaleway_k8s_update_pool` | Update a node pool |
|
|
739
|
+
| `scaleway_k8s_delete_pool` | Delete a node pool |
|
|
740
|
+
| `scaleway_k8s_upgrade_pool` | Upgrade a node pool version |
|
|
741
|
+
|
|
742
|
+
</details>
|
|
743
|
+
|
|
744
|
+
### AI & Machine Learning
|
|
745
|
+
|
|
746
|
+
<details>
|
|
747
|
+
<summary><strong>Inference</strong> (15 tools) - ML model deployment</summary>
|
|
748
|
+
|
|
749
|
+
| Tool | Description |
|
|
750
|
+
|------|-------------|
|
|
751
|
+
| `scaleway_inference_list_deployments` | List inference deployments |
|
|
752
|
+
| `scaleway_inference_get_deployment` | Get deployment details |
|
|
753
|
+
| `scaleway_inference_create_deployment` | Create a new deployment |
|
|
754
|
+
| `scaleway_inference_update_deployment` | Update a deployment |
|
|
755
|
+
| `scaleway_inference_delete_deployment` | Delete a deployment |
|
|
756
|
+
| `scaleway_inference_list_deployment_events` | List deployment events |
|
|
757
|
+
| `scaleway_inference_list_endpoints` | List inference endpoints |
|
|
758
|
+
| `scaleway_inference_create_endpoint` | Create an endpoint |
|
|
759
|
+
| `scaleway_inference_update_endpoint` | Update an endpoint |
|
|
760
|
+
| `scaleway_inference_delete_endpoint` | Delete an endpoint |
|
|
761
|
+
| `scaleway_inference_list_models` | List available models |
|
|
762
|
+
| `scaleway_inference_get_model` | Get model details |
|
|
763
|
+
| `scaleway_inference_list_node_types` | List available node types |
|
|
764
|
+
| `scaleway_inference_get_eula` | Get model EULA |
|
|
765
|
+
| `scaleway_inference_accept_eula` | Accept model EULA |
|
|
766
|
+
|
|
767
|
+
</details>
|
|
768
|
+
|
|
769
|
+
<details>
|
|
770
|
+
<summary><strong>Generative APIs</strong> (4 tools) - OpenAI-compatible LLM APIs</summary>
|
|
771
|
+
|
|
772
|
+
| Tool | Description |
|
|
773
|
+
|------|-------------|
|
|
774
|
+
| `scaleway_generative_apis_list_models` | List available generative AI models |
|
|
775
|
+
| `scaleway_generative_apis_get_model` | Get model details |
|
|
776
|
+
| `scaleway_generative_apis_chat_completion` | Create a chat completion (OpenAI-compatible) |
|
|
777
|
+
| `scaleway_generative_apis_create_embedding` | Create text embeddings |
|
|
778
|
+
|
|
779
|
+
</details>
|
|
780
|
+
|
|
781
|
+
<details>
|
|
782
|
+
<summary><strong>Cockpit</strong> (22 tools) - Observability & monitoring</summary>
|
|
783
|
+
|
|
784
|
+
| Tool | Description |
|
|
785
|
+
|------|-------------|
|
|
786
|
+
| `scaleway_cockpit_get_cockpit` | Get Cockpit info for a project |
|
|
787
|
+
| `scaleway_cockpit_activate_cockpit` | Activate Cockpit |
|
|
788
|
+
| `scaleway_cockpit_deactivate_cockpit` | Deactivate Cockpit |
|
|
789
|
+
| `scaleway_cockpit_list_data_sources` | List data sources |
|
|
790
|
+
| `scaleway_cockpit_create_data_source` | Create a data source |
|
|
791
|
+
| `scaleway_cockpit_delete_data_source` | Delete a data source |
|
|
792
|
+
| `scaleway_cockpit_list_tokens` | List tokens |
|
|
793
|
+
| `scaleway_cockpit_create_token` | Create a token |
|
|
794
|
+
| `scaleway_cockpit_delete_token` | Delete a token |
|
|
795
|
+
| `scaleway_cockpit_list_grafana_users` | List Grafana users |
|
|
796
|
+
| `scaleway_cockpit_create_grafana_user` | Create a Grafana user |
|
|
797
|
+
| `scaleway_cockpit_delete_grafana_user` | Delete a Grafana user |
|
|
798
|
+
| `scaleway_cockpit_reset_grafana_user_password` | Reset a Grafana user's password |
|
|
799
|
+
| `scaleway_cockpit_get_alert_manager` | Get alert manager info |
|
|
800
|
+
| `scaleway_cockpit_enable_alert_manager` | Enable alert manager |
|
|
801
|
+
| `scaleway_cockpit_disable_alert_manager` | Disable alert manager |
|
|
802
|
+
| `scaleway_cockpit_list_contact_points` | List alert contact points |
|
|
803
|
+
| `scaleway_cockpit_create_contact_point` | Create a contact point |
|
|
804
|
+
| `scaleway_cockpit_delete_contact_point` | Delete a contact point |
|
|
805
|
+
| `scaleway_cockpit_list_managed_alerts_contact_points` | List managed alerts contact points |
|
|
806
|
+
| `scaleway_cockpit_enable_managed_alerts` | Enable managed alerts |
|
|
807
|
+
| `scaleway_cockpit_disable_managed_alerts` | Disable managed alerts |
|
|
808
|
+
|
|
809
|
+
</details>
|
|
810
|
+
|
|
811
|
+
### Security & Identity
|
|
812
|
+
|
|
813
|
+
<details>
|
|
814
|
+
<summary><strong>IAM</strong> (32 tools) - Identity & Access Management</summary>
|
|
815
|
+
|
|
816
|
+
| Tool | Description |
|
|
817
|
+
|------|-------------|
|
|
818
|
+
| `scaleway_iam_list_users` | List IAM users |
|
|
819
|
+
| `scaleway_iam_get_user` | Get user details |
|
|
820
|
+
| `scaleway_iam_create_user` | Invite a new user |
|
|
821
|
+
| `scaleway_iam_update_user` | Update a user |
|
|
822
|
+
| `scaleway_iam_delete_user` | Remove a user |
|
|
823
|
+
| `scaleway_iam_list_applications` | List IAM applications |
|
|
824
|
+
| `scaleway_iam_get_application` | Get application details |
|
|
825
|
+
| `scaleway_iam_create_application` | Create a new application |
|
|
826
|
+
| `scaleway_iam_update_application` | Update an application |
|
|
827
|
+
| `scaleway_iam_delete_application` | Delete an application |
|
|
828
|
+
| `scaleway_iam_list_api_keys` | List API keys |
|
|
829
|
+
| `scaleway_iam_get_api_key` | Get API key details |
|
|
830
|
+
| `scaleway_iam_create_api_key` | Create a new API key |
|
|
831
|
+
| `scaleway_iam_update_api_key` | Update an API key |
|
|
832
|
+
| `scaleway_iam_delete_api_key` | Delete an API key |
|
|
833
|
+
| `scaleway_iam_list_policies` | List policies |
|
|
834
|
+
| `scaleway_iam_get_policy` | Get policy details |
|
|
835
|
+
| `scaleway_iam_create_policy` | Create a new policy |
|
|
836
|
+
| `scaleway_iam_update_policy` | Update a policy |
|
|
837
|
+
| `scaleway_iam_delete_policy` | Delete a policy |
|
|
838
|
+
| `scaleway_iam_list_rules` | List rules for a policy |
|
|
839
|
+
| `scaleway_iam_create_rule` | Create a new rule |
|
|
840
|
+
| `scaleway_iam_update_rule` | Update a rule |
|
|
841
|
+
| `scaleway_iam_delete_rule` | Delete a rule |
|
|
842
|
+
| `scaleway_iam_list_groups` | List groups |
|
|
843
|
+
| `scaleway_iam_get_group` | Get group details |
|
|
844
|
+
| `scaleway_iam_create_group` | Create a new group |
|
|
845
|
+
| `scaleway_iam_update_group` | Update a group |
|
|
846
|
+
| `scaleway_iam_delete_group` | Delete a group |
|
|
847
|
+
| `scaleway_iam_add_group_member` | Add a user or app to a group |
|
|
848
|
+
| `scaleway_iam_remove_group_member` | Remove a user or app from a group |
|
|
849
|
+
| `scaleway_iam_list_permission_sets` | List available permission sets |
|
|
850
|
+
|
|
851
|
+
</details>
|
|
852
|
+
|
|
853
|
+
<details>
|
|
854
|
+
<summary><strong>Secret Manager</strong> (16 tools) - Secret storage & versioning</summary>
|
|
855
|
+
|
|
856
|
+
| Tool | Description |
|
|
857
|
+
|------|-------------|
|
|
858
|
+
| `scaleway_secret_manager_list_secrets` | List secrets with filtering |
|
|
859
|
+
| `scaleway_secret_manager_get_secret` | Get secret metadata |
|
|
860
|
+
| `scaleway_secret_manager_create_secret` | Create a new secret |
|
|
861
|
+
| `scaleway_secret_manager_update_secret` | Update secret metadata |
|
|
862
|
+
| `scaleway_secret_manager_delete_secret` | Delete a secret and all versions |
|
|
863
|
+
| `scaleway_secret_manager_list_secret_versions` | List secret versions |
|
|
864
|
+
| `scaleway_secret_manager_get_secret_version` | Get version metadata |
|
|
865
|
+
| `scaleway_secret_manager_create_secret_version` | Create a new version |
|
|
866
|
+
| `scaleway_secret_manager_access_secret_version` | Access the secret data (base64) |
|
|
867
|
+
| `scaleway_secret_manager_disable_secret_version` | Disable a version |
|
|
868
|
+
| `scaleway_secret_manager_enable_secret_version` | Enable a version |
|
|
869
|
+
| `scaleway_secret_manager_destroy_secret_version` | Permanently destroy a version |
|
|
870
|
+
| `scaleway_secret_manager_protect_secret` | Enable deletion protection |
|
|
871
|
+
| `scaleway_secret_manager_unprotect_secret` | Disable deletion protection |
|
|
872
|
+
| `scaleway_secret_manager_list_tags` | List tags across secrets |
|
|
873
|
+
| `scaleway_secret_manager_add_secret_owner` | Grant a Scaleway product access to a secret |
|
|
874
|
+
|
|
875
|
+
</details>
|
|
876
|
+
|
|
877
|
+
<details>
|
|
878
|
+
<summary><strong>Key Manager</strong> (13 tools) - Cryptographic key management</summary>
|
|
879
|
+
|
|
880
|
+
| Tool | Description |
|
|
881
|
+
|------|-------------|
|
|
882
|
+
| `scaleway_key_manager_list_keys` | List cryptographic keys |
|
|
883
|
+
| `scaleway_key_manager_get_key` | Get key metadata |
|
|
884
|
+
| `scaleway_key_manager_create_key` | Create a new key |
|
|
885
|
+
| `scaleway_key_manager_update_key` | Update key metadata and rotation policy |
|
|
886
|
+
| `scaleway_key_manager_delete_key` | Permanently delete a key (irreversible) |
|
|
887
|
+
| `scaleway_key_manager_rotate_key` | Rotate key material |
|
|
888
|
+
| `scaleway_key_manager_protect_key` | Protect a key from deletion |
|
|
889
|
+
| `scaleway_key_manager_unprotect_key` | Remove deletion protection |
|
|
890
|
+
| `scaleway_key_manager_enable_key` | Enable a key |
|
|
891
|
+
| `scaleway_key_manager_disable_key` | Disable a key |
|
|
892
|
+
| `scaleway_key_manager_encrypt` | Encrypt data (max 64KB) |
|
|
893
|
+
| `scaleway_key_manager_decrypt` | Decrypt ciphertext |
|
|
894
|
+
| `scaleway_key_manager_generate_data_key` | Generate a data encryption key |
|
|
895
|
+
|
|
896
|
+
</details>
|
|
897
|
+
|
|
898
|
+
### Managed Services
|
|
899
|
+
|
|
900
|
+
<details>
|
|
901
|
+
<summary><strong>NATS</strong> (9 tools) - Managed NATS messaging</summary>
|
|
902
|
+
|
|
903
|
+
| Tool | Description |
|
|
904
|
+
|------|-------------|
|
|
905
|
+
| `scaleway_nats_list_accounts` | List NATS accounts |
|
|
906
|
+
| `scaleway_nats_get_account` | Get account details |
|
|
907
|
+
| `scaleway_nats_create_account` | Create a new NATS account |
|
|
908
|
+
| `scaleway_nats_update_account` | Update an account |
|
|
909
|
+
| `scaleway_nats_delete_account` | Delete an account |
|
|
910
|
+
| `scaleway_nats_list_credentials` | List credentials |
|
|
911
|
+
| `scaleway_nats_get_credentials` | Get credentials details |
|
|
912
|
+
| `scaleway_nats_create_credentials` | Create new credentials |
|
|
913
|
+
| `scaleway_nats_delete_credentials` | Delete credentials |
|
|
914
|
+
|
|
915
|
+
</details>
|
|
916
|
+
|
|
917
|
+
<details>
|
|
918
|
+
<summary><strong>SQS</strong> (8 tools) - Managed message queues</summary>
|
|
919
|
+
|
|
920
|
+
| Tool | Description |
|
|
921
|
+
|------|-------------|
|
|
922
|
+
| `scaleway_sqs_activate` | Activate SQS service for a project |
|
|
923
|
+
| `scaleway_sqs_deactivate` | Deactivate SQS service |
|
|
924
|
+
| `scaleway_sqs_get_info` | Get SQS service info and endpoint |
|
|
925
|
+
| `scaleway_sqs_create_credentials` | Create SQS credentials |
|
|
926
|
+
| `scaleway_sqs_delete_credentials` | Delete SQS credentials |
|
|
927
|
+
| `scaleway_sqs_get_credentials` | Get credentials details |
|
|
928
|
+
| `scaleway_sqs_list_credentials` | List all credentials |
|
|
929
|
+
| `scaleway_sqs_update_credentials` | Update credentials |
|
|
930
|
+
|
|
931
|
+
</details>
|
|
932
|
+
|
|
933
|
+
<details>
|
|
934
|
+
<summary><strong>SNS</strong> (8 tools) - Topics & Events (pub/sub)</summary>
|
|
935
|
+
|
|
936
|
+
| Tool | Description |
|
|
937
|
+
|------|-------------|
|
|
938
|
+
| `scaleway_sns_activate` | Activate SNS service for a project |
|
|
939
|
+
| `scaleway_sns_deactivate` | Deactivate SNS service |
|
|
940
|
+
| `scaleway_sns_get_info` | Get SNS service info and endpoint |
|
|
941
|
+
| `scaleway_sns_list_credentials` | List SNS credentials |
|
|
942
|
+
| `scaleway_sns_get_credentials` | Get credentials details |
|
|
943
|
+
| `scaleway_sns_create_credentials` | Create SNS credentials with permissions |
|
|
944
|
+
| `scaleway_sns_update_credentials` | Update credentials |
|
|
945
|
+
| `scaleway_sns_delete_credentials` | Delete credentials |
|
|
946
|
+
|
|
947
|
+
</details>
|
|
948
|
+
|
|
949
|
+
<details>
|
|
950
|
+
<summary><strong>TEM</strong> (15 tools) - Transactional Email</summary>
|
|
951
|
+
|
|
952
|
+
| Tool | Description |
|
|
953
|
+
|------|-------------|
|
|
954
|
+
| `scaleway_tem_list_domains` | List email domains |
|
|
955
|
+
| `scaleway_tem_get_domain` | Get domain details |
|
|
956
|
+
| `scaleway_tem_create_domain` | Register a new domain |
|
|
957
|
+
| `scaleway_tem_revoke_domain` | Revoke a domain |
|
|
958
|
+
| `scaleway_tem_check_domain` | Trigger DNS verification |
|
|
959
|
+
| `scaleway_tem_get_domain_last_status` | Get last DNS verification status |
|
|
960
|
+
| `scaleway_tem_list_emails` | List transactional emails |
|
|
961
|
+
| `scaleway_tem_get_email` | Get email details |
|
|
962
|
+
| `scaleway_tem_create_email` | Send a transactional email |
|
|
963
|
+
| `scaleway_tem_cancel_email` | Cancel a queued email |
|
|
964
|
+
| `scaleway_tem_get_statistics` | Get email sending statistics |
|
|
965
|
+
| `scaleway_tem_list_webhooks` | List webhooks |
|
|
966
|
+
| `scaleway_tem_create_webhook` | Create a webhook |
|
|
967
|
+
| `scaleway_tem_update_webhook` | Update a webhook |
|
|
968
|
+
| `scaleway_tem_delete_webhook` | Delete a webhook |
|
|
969
|
+
|
|
970
|
+
</details>
|
|
971
|
+
|
|
972
|
+
<details>
|
|
973
|
+
<summary><strong>IoT Hub</strong> (29 tools) - IoT device management</summary>
|
|
974
|
+
|
|
975
|
+
| Tool | Description |
|
|
976
|
+
|------|-------------|
|
|
977
|
+
| `scaleway_iot_list_hubs` | List IoT hubs |
|
|
978
|
+
| `scaleway_iot_get_hub` | Get hub details |
|
|
979
|
+
| `scaleway_iot_create_hub` | Create a new hub |
|
|
980
|
+
| `scaleway_iot_update_hub` | Update a hub |
|
|
981
|
+
| `scaleway_iot_delete_hub` | Delete a hub |
|
|
982
|
+
| `scaleway_iot_enable_hub` | Enable a hub |
|
|
983
|
+
| `scaleway_iot_disable_hub` | Disable a hub |
|
|
984
|
+
| `scaleway_iot_get_hub_ca` | Get hub CA certificate |
|
|
985
|
+
| `scaleway_iot_set_hub_ca` | Set custom CA certificate |
|
|
986
|
+
| `scaleway_iot_list_devices` | List devices |
|
|
987
|
+
| `scaleway_iot_get_device` | Get device details |
|
|
988
|
+
| `scaleway_iot_create_device` | Create a new device |
|
|
989
|
+
| `scaleway_iot_update_device` | Update a device |
|
|
990
|
+
| `scaleway_iot_delete_device` | Delete a device |
|
|
991
|
+
| `scaleway_iot_enable_device` | Enable a device |
|
|
992
|
+
| `scaleway_iot_disable_device` | Disable a device |
|
|
993
|
+
| `scaleway_iot_get_device_certificate` | Get device certificate |
|
|
994
|
+
| `scaleway_iot_renew_device_certificate` | Renew device certificate |
|
|
995
|
+
| `scaleway_iot_set_device_certificate` | Set custom device certificate |
|
|
996
|
+
| `scaleway_iot_get_device_metrics` | Get device metrics |
|
|
997
|
+
| `scaleway_iot_list_routes` | List routes |
|
|
998
|
+
| `scaleway_iot_get_route` | Get route details |
|
|
999
|
+
| `scaleway_iot_create_route` | Create a route (S3, database, or REST) |
|
|
1000
|
+
| `scaleway_iot_update_route` | Update a route |
|
|
1001
|
+
| `scaleway_iot_delete_route` | Delete a route |
|
|
1002
|
+
| `scaleway_iot_list_networks` | List networks |
|
|
1003
|
+
| `scaleway_iot_get_network` | Get network details |
|
|
1004
|
+
| `scaleway_iot_create_network` | Create a network |
|
|
1005
|
+
| `scaleway_iot_delete_network` | Delete a network |
|
|
1006
|
+
|
|
1007
|
+
</details>
|
|
1008
|
+
|
|
1009
|
+
<details>
|
|
1010
|
+
<summary><strong>Container Registry</strong> (12 tools) - Docker image registry</summary>
|
|
1011
|
+
|
|
1012
|
+
| Tool | Description |
|
|
1013
|
+
|------|-------------|
|
|
1014
|
+
| `scaleway_registry_list_namespaces` | List registry namespaces |
|
|
1015
|
+
| `scaleway_registry_get_namespace` | Get namespace details |
|
|
1016
|
+
| `scaleway_registry_create_namespace` | Create a new namespace |
|
|
1017
|
+
| `scaleway_registry_update_namespace` | Update a namespace |
|
|
1018
|
+
| `scaleway_registry_delete_namespace` | Delete a namespace |
|
|
1019
|
+
| `scaleway_registry_list_images` | List container images |
|
|
1020
|
+
| `scaleway_registry_get_image` | Get image details |
|
|
1021
|
+
| `scaleway_registry_update_image` | Update image visibility |
|
|
1022
|
+
| `scaleway_registry_delete_image` | Delete an image |
|
|
1023
|
+
| `scaleway_registry_list_tags` | List image tags |
|
|
1024
|
+
| `scaleway_registry_get_tag` | Get tag details |
|
|
1025
|
+
| `scaleway_registry_delete_tag` | Delete a tag |
|
|
1026
|
+
|
|
1027
|
+
</details>
|
|
1028
|
+
|
|
1029
|
+
<details>
|
|
1030
|
+
<summary><strong>Marketplace</strong> (8 tools) - Pre-built images catalog</summary>
|
|
1031
|
+
|
|
1032
|
+
| Tool | Description |
|
|
1033
|
+
|------|-------------|
|
|
1034
|
+
| `scaleway_marketplace_list_images` | List marketplace images |
|
|
1035
|
+
| `scaleway_marketplace_get_image` | Get image details |
|
|
1036
|
+
| `scaleway_marketplace_list_local_images` | List local images by zone |
|
|
1037
|
+
| `scaleway_marketplace_get_local_image` | Get local image details |
|
|
1038
|
+
| `scaleway_marketplace_list_categories` | List categories |
|
|
1039
|
+
| `scaleway_marketplace_get_category` | Get category details |
|
|
1040
|
+
| `scaleway_marketplace_list_versions` | List image versions |
|
|
1041
|
+
| `scaleway_marketplace_get_version` | Get version details |
|
|
1042
|
+
|
|
1043
|
+
</details>
|
|
1044
|
+
|
|
1045
|
+
### Account & Billing
|
|
1046
|
+
|
|
1047
|
+
<details>
|
|
1048
|
+
<summary><strong>Account</strong> (5 tools) - Project management</summary>
|
|
1049
|
+
|
|
1050
|
+
| Tool | Description |
|
|
1051
|
+
|------|-------------|
|
|
1052
|
+
| `scaleway_account_list_projects` | List projects in an organization |
|
|
1053
|
+
| `scaleway_account_get_project` | Get project details |
|
|
1054
|
+
| `scaleway_account_create_project` | Create a new project |
|
|
1055
|
+
| `scaleway_account_update_project` | Update a project |
|
|
1056
|
+
| `scaleway_account_delete_project` | Delete a project (must be empty) |
|
|
1057
|
+
|
|
1058
|
+
</details>
|
|
1059
|
+
|
|
1060
|
+
<details>
|
|
1061
|
+
<summary><strong>Billing</strong> (5 tools) - Invoices and consumption</summary>
|
|
1062
|
+
|
|
1063
|
+
| Tool | Description |
|
|
1064
|
+
|------|-------------|
|
|
1065
|
+
| `scaleway_billing_list_consumptions` | List consumption data |
|
|
1066
|
+
| `scaleway_billing_list_invoices` | List invoices |
|
|
1067
|
+
| `scaleway_billing_get_invoice` | Get invoice details |
|
|
1068
|
+
| `scaleway_billing_download_invoice` | Download invoice as PDF |
|
|
1069
|
+
| `scaleway_billing_list_discounts` | List active discounts |
|
|
1070
|
+
|
|
1071
|
+
</details>
|
|
1072
|
+
|
|
1073
|
+
<details>
|
|
1074
|
+
<summary><strong>Web Hosting</strong> (9 tools) - Managed web hosting</summary>
|
|
1075
|
+
|
|
1076
|
+
| Tool | Description |
|
|
1077
|
+
|------|-------------|
|
|
1078
|
+
| `scaleway_webhosting_list_hostings` | List web hostings |
|
|
1079
|
+
| `scaleway_webhosting_get_hosting` | Get hosting details |
|
|
1080
|
+
| `scaleway_webhosting_create_hosting` | Create a new hosting |
|
|
1081
|
+
| `scaleway_webhosting_update_hosting` | Update a hosting |
|
|
1082
|
+
| `scaleway_webhosting_delete_hosting` | Delete a hosting |
|
|
1083
|
+
| `scaleway_webhosting_restore_hosting` | Restore a deleted hosting |
|
|
1084
|
+
| `scaleway_webhosting_get_dns_records` | Get DNS records |
|
|
1085
|
+
| `scaleway_webhosting_list_offers` | List available offers |
|
|
1086
|
+
| `scaleway_webhosting_list_control_panels` | List available control panels |
|
|
1087
|
+
|
|
1088
|
+
</details>
|
|
1089
|
+
|
|
1090
|
+
## Managing Tool Access
|
|
1091
|
+
|
|
1092
|
+
With 539 tools available, you may want to limit which tools are exposed to your AI assistant for focused sessions.
|
|
1093
|
+
|
|
1094
|
+
### Claude Code
|
|
1095
|
+
|
|
1096
|
+
Use the `allowedTools` field in your `.mcp.json` to filter tools by pattern:
|
|
1097
|
+
|
|
1098
|
+
```json
|
|
1099
|
+
{
|
|
1100
|
+
"mcpServers": {
|
|
1101
|
+
"scaleway": {
|
|
1102
|
+
"command": "bun",
|
|
1103
|
+
"args": ["run", "start"],
|
|
1104
|
+
"cwd": "/path/to/mcp-scaleway",
|
|
1105
|
+
"env": {
|
|
1106
|
+
"SCW_ACCESS_KEY": "...",
|
|
1107
|
+
"SCW_SECRET_KEY": "...",
|
|
1108
|
+
"SCW_DEFAULT_PROJECT_ID": "..."
|
|
1109
|
+
},
|
|
1110
|
+
"allowedTools": ["scaleway_k8s_*", "scaleway_instances_*"]
|
|
1111
|
+
}
|
|
1112
|
+
}
|
|
1113
|
+
}
|
|
1114
|
+
```
|
|
1115
|
+
|
|
1116
|
+
### Common Filter Patterns
|
|
1117
|
+
|
|
1118
|
+
| Use Case | Pattern |
|
|
1119
|
+
|----------|---------|
|
|
1120
|
+
| Kubernetes only | `scaleway_k8s_*` |
|
|
1121
|
+
| Compute only | `scaleway_instances_*`, `scaleway_elastic_metal_*`, `scaleway_apple_silicon_*` |
|
|
1122
|
+
| Databases only | `scaleway_rdb_*`, `scaleway_mongodb_*`, `scaleway_redis_*` |
|
|
1123
|
+
| Serverless only | `scaleway_functions_*`, `scaleway_containers_*`, `scaleway_jobs_*` |
|
|
1124
|
+
| Networking only | `scaleway_vpc_*`, `scaleway_lb_*`, `scaleway_dns_*` |
|
|
1125
|
+
| AI only | `scaleway_inference_*`, `scaleway_generative_apis_*` |
|
|
1126
|
+
| Security only | `scaleway_iam_*`, `scaleway_secret_manager_*`, `scaleway_key_manager_*` |
|
|
1127
|
+
| Read-only | `scaleway_*_list_*`, `scaleway_*_get_*` |
|
|
1128
|
+
|
|
1129
|
+
## Development
|
|
1130
|
+
|
|
1131
|
+
### Prerequisites
|
|
1132
|
+
|
|
1133
|
+
- [Bun](https://bun.sh) 1.x
|
|
1134
|
+
- Node.js 18+ (for some dev tooling)
|
|
1135
|
+
|
|
1136
|
+
### Commands
|
|
1137
|
+
|
|
1138
|
+
```bash
|
|
1139
|
+
# Start the MCP server
|
|
1140
|
+
bun run start
|
|
1141
|
+
|
|
1142
|
+
# Lint (Biome)
|
|
1143
|
+
bun run lint
|
|
1144
|
+
bun run lint:fix
|
|
1145
|
+
|
|
1146
|
+
# Type check
|
|
1147
|
+
bun x tsc --noEmit
|
|
1148
|
+
|
|
1149
|
+
# Run unit + contract tests
|
|
1150
|
+
bun run test
|
|
1151
|
+
|
|
1152
|
+
# Run tests in watch mode
|
|
1153
|
+
bun run test:watch
|
|
1154
|
+
|
|
1155
|
+
# Run unit tests only (CI-safe, no external deps)
|
|
1156
|
+
bun x vitest run --config tests/vitest.config.ts --dir tests/unit
|
|
1157
|
+
|
|
1158
|
+
# Run contract tests only
|
|
1159
|
+
bun x vitest run --config tests/vitest.config.ts --dir tests/contract
|
|
1160
|
+
|
|
1161
|
+
# Run tests with coverage (100% enforced)
|
|
1162
|
+
bun run test -- --coverage.enabled
|
|
1163
|
+
|
|
1164
|
+
# Validate API parity matrix
|
|
1165
|
+
bun run test:parity
|
|
1166
|
+
```
|
|
1167
|
+
|
|
1168
|
+
### Testing Requirements
|
|
1169
|
+
|
|
1170
|
+
- **100% code coverage** (line and branch) - enforced in CI
|
|
1171
|
+
- **Full API contract parity** - every Scaleway API endpoint must have a contract test
|
|
1172
|
+
- **Parity matrix** - `tests/parity-matrix.json` maps all API operations to tests
|
|
1173
|
+
|
|
1174
|
+
### CI/CD Pipeline
|
|
1175
|
+
|
|
1176
|
+
| Gate | Requirement |
|
|
1177
|
+
|------|-------------|
|
|
1178
|
+
| Lint | Zero Biome violations |
|
|
1179
|
+
| Type Check | Zero TypeScript errors |
|
|
1180
|
+
| Tests | All unit + contract tests pass |
|
|
1181
|
+
| Coverage | 100% line and branch coverage |
|
|
1182
|
+
| API Parity | All operations in parity-matrix.json have tests |
|
|
1183
|
+
|
|
1184
|
+
## Architecture
|
|
1185
|
+
|
|
1186
|
+
```
|
|
1187
|
+
src/
|
|
1188
|
+
├── main.ts # Entry point
|
|
1189
|
+
├── server.ts # MCP server creation and tool registration
|
|
1190
|
+
├── shared/
|
|
1191
|
+
│ ├── auth.ts # Env var credential loading
|
|
1192
|
+
│ ├── client.ts # Scaleway SDK client (singleton)
|
|
1193
|
+
│ ├── errors.ts # HTTP error mapping
|
|
1194
|
+
│ ├── pagination.ts # Pagination helpers
|
|
1195
|
+
│ └── types.ts # Shared Zod schemas
|
|
1196
|
+
└── tools/
|
|
1197
|
+
├── index.ts # Registers all 36 service tool groups
|
|
1198
|
+
└── {service}/ # One directory per Scaleway service
|
|
1199
|
+
├── index.ts # Tool registration (server.tool() calls)
|
|
1200
|
+
├── types.ts # Zod input schemas
|
|
1201
|
+
└── handlers.ts # Scaleway API call logic
|
|
1202
|
+
|
|
1203
|
+
tests/
|
|
1204
|
+
├── unit/ # Unit tests (CI)
|
|
1205
|
+
├── contract/ # API contract tests (CI)
|
|
1206
|
+
├── api/ # Integration tests (local only, needs Scaleway)
|
|
1207
|
+
├── parity-matrix.json # API operation → test mapping
|
|
1208
|
+
└── vitest.config.ts # Test config (100% coverage enforced)
|
|
1209
|
+
```
|
|
1210
|
+
|
|
1211
|
+
Each tool follows the same three-file pattern:
|
|
1212
|
+
|
|
1213
|
+
1. **`index.ts`** - Registers tools with the MCP server, validates inputs with Zod, calls handlers
|
|
1214
|
+
2. **`types.ts`** - Defines Zod schemas for all tool parameters
|
|
1215
|
+
3. **`handlers.ts`** - Makes Scaleway API calls and formats responses
|
|
1216
|
+
|
|
1217
|
+
## Troubleshooting
|
|
1218
|
+
|
|
1219
|
+
### Authentication Errors
|
|
1220
|
+
|
|
1221
|
+
**"SCW_ACCESS_KEY environment variable is required"**
|
|
1222
|
+
|
|
1223
|
+
Ensure all three required environment variables are set:
|
|
1224
|
+
|
|
1225
|
+
```bash
|
|
1226
|
+
export SCW_ACCESS_KEY="SCWxxxxxxxxxxxxxxxxx"
|
|
1227
|
+
export SCW_SECRET_KEY="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
|
1228
|
+
export SCW_DEFAULT_PROJECT_ID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
|
1229
|
+
```
|
|
1230
|
+
|
|
1231
|
+
If using Claude Desktop or Claude Code, check that the `env` block in your configuration file includes all three variables.
|
|
1232
|
+
|
|
1233
|
+
### Connection Issues
|
|
1234
|
+
|
|
1235
|
+
**Server starts but no tools appear**
|
|
1236
|
+
|
|
1237
|
+
- Verify the server is running: `bun run start` should start without errors
|
|
1238
|
+
- Check that your MCP client config points to the correct `cwd` path
|
|
1239
|
+
- Ensure `bun` is in your PATH
|
|
1240
|
+
|
|
1241
|
+
**"Permission denied" errors from Scaleway API**
|
|
1242
|
+
|
|
1243
|
+
- Your API key may not have permissions for the requested service
|
|
1244
|
+
- Check your IAM policies in the [Scaleway console](https://console.scaleway.com/iam)
|
|
1245
|
+
- Some operations require Organization-level permissions (set `SCW_DEFAULT_ORGANIZATION_ID`)
|
|
1246
|
+
|
|
1247
|
+
### Region/Zone Errors
|
|
1248
|
+
|
|
1249
|
+
**"Resource not found" when the resource exists**
|
|
1250
|
+
|
|
1251
|
+
- Check that you're querying the correct region or zone
|
|
1252
|
+
- Default region is `fr-par`, default zone is `fr-par-1`
|
|
1253
|
+
- Override defaults with `SCW_DEFAULT_REGION` and `SCW_DEFAULT_ZONE`
|
|
1254
|
+
- Some services are only available in specific regions
|
|
1255
|
+
|
|
1256
|
+
### Common Issues
|
|
1257
|
+
|
|
1258
|
+
| Issue | Solution |
|
|
1259
|
+
|-------|----------|
|
|
1260
|
+
| `bun: command not found` | Install Bun: `curl -fsSL https://bun.sh/install \| bash` |
|
|
1261
|
+
| `Cannot find module` | Run `bun install` in the project directory |
|
|
1262
|
+
| Rate limiting errors | Scaleway has per-service rate limits; add delays between bulk operations |
|
|
1263
|
+
| Timeout errors | Some operations (server creation, cluster provisioning) take time; check status with get/list tools |
|
|
1264
|
+
|
|
1265
|
+
## Contributing
|
|
1266
|
+
|
|
1267
|
+
Contributions are welcome! Please follow these steps:
|
|
1268
|
+
|
|
1269
|
+
1. Fork the repository
|
|
1270
|
+
2. Create a feature branch (`git checkout -b feature/my-feature`)
|
|
1271
|
+
3. Make your changes
|
|
1272
|
+
4. Run lint and tests (`bun run lint && bun run test`)
|
|
1273
|
+
5. Commit your changes (`git commit -m 'Add my feature'`)
|
|
1274
|
+
6. Push to your branch (`git push origin feature/my-feature`)
|
|
1275
|
+
7. Open a Pull Request
|
|
1276
|
+
|
|
1277
|
+
## Support
|
|
1278
|
+
|
|
1279
|
+
If you find this project useful, consider sponsoring its development:
|
|
1280
|
+
|
|
1281
|
+
[](https://github.com/sponsors/valentinyanakiev)
|
|
1282
|
+
|
|
1283
|
+
Your support helps maintain and improve the MCP Scaleway server.
|
|
1284
|
+
|
|
1285
|
+
## License
|
|
1286
|
+
|
|
1287
|
+
[MIT](LICENSE)
|