Skip to main content
Glama
logic-arts-official

scaleway-ops-mcp-server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SCW_ACCESS_KEYYesAccess key of the credential this server authenticates as.
SCW_PROJECT_IDYesDefault Project (used as default_project_id when creating API keys, and wherever a Project id is needed but not explicitly passed).
SCW_SECRET_KEYYesSecret key. Used as X-Auth-Token for the IAM API and as the SigV4 secret for S3 calls.
MAX_OUTPUT_CHARSNoTruncation limit for tool responses.25000
SCW_DEFAULT_REGIONNoRegion for Bucket Policy calls when a tool call doesn't specify one.fr-par
SCW_ORGANIZATION_IDYesOrganization these operations run in.
MAX_PUT_OBJECT_BYTESNoDecoded-size ceiling for scaleway_s3_put_object - single-part only, multipart is out of scope.5000000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
scaleway_iam_create_applicationA

Create a new IAM Application (a non-human identity) in this Organization. Creates the identity only - it has NO permissions until you attach an IAM Policy (scaleway_iam_create_policy) and/or a Bucket Policy. Returns the Application id, needed for both of those next steps.

scaleway_iam_update_applicationA

Rename/re-describe/re-tag an existing IAM Application. Only the id is fixed - name, description and tags are all safe to change at any time: nothing else in Scaleway references an Application by name (Bucket Policies and API keys reference application_id, never the name), so renaming never breaks a live credential or requires touching anything downstream. Only the fields you pass are changed; omitted fields are left as-is.

scaleway_iam_list_applicationsA

List IAM Applications in this Organization, optionally filtered by name substring.

scaleway_iam_get_applicationA

Get one IAM Application by id, including its API-key count.

scaleway_iam_delete_applicationA

PERMANENTLY delete an IAM Application: also deletes every API key it holds and detaches every policy scoped to it. Any credential still deployed somewhere (e.g. in a host's .env.prod) stops authenticating immediately and irreversibly. Requires confirm=true.

scaleway_iam_create_api_keyA

Generate a new API key (access_key + secret_key pair) for an Application. IMPORTANT: secret_key is returned ONLY in this response - Scaleway never shows it again, and there is no recovery endpoint. The caller MUST capture it immediately (e.g. write straight to the target host's env file or a secret manager) rather than just printing it, since it cannot be re-fetched later - only revoked and replaced with a new key. Each call mints a real, immediately-active credential; don't call this speculatively.

scaleway_iam_update_api_keyA

Change an existing API key's description, expiry, or default_project_id WITHOUT rotating its secret - the access_key/secret_key pair itself never changes. Use this instead of delete+recreate for a metadata-only change (e.g. extending an expiry before it lapses, or fixing a stale description); delete+recreate would mint a new secret and break anything already deployed with the old one. Only the fields you pass are changed; omitted fields are left as-is.

scaleway_iam_list_api_keysA

List API keys in this Organization (never includes secret_key - only visible once, at creation). Optionally filter to one Application.

scaleway_iam_delete_api_keyA

PERMANENTLY revoke an API key by its access_key. Requires confirm=true. Irreversible - anything using this key stops authenticating immediately.

scaleway_iam_create_policyA

Create an IAM Policy granting permission sets to an Application/User/Group, scoped to specific Project(s) or the whole Organization. This is the PROJECT-WIDE half of access control - for Object Storage specifically, it grants access to every bucket in the Project(s); narrow to one bucket with a Bucket Policy (scaleway_s3_put_bucket_policy) as well. A Bucket Policy alone is NOT sufficient on Scaleway - both are required together for an Application to actually read/write a specific bucket. Call scaleway_iam_list_permission_sets first to get exact names and scope_types.

scaleway_iam_clone_policyA

Clone an existing IAM Policy. The result is an exact copy: same rules, same principal (application_id/user_id/group_id), same tags. Name gets Scaleway's own 'Copy of ' default - rename afterward with scaleway_iam_update_policy if a distinct name is needed (nothing references a Policy by name, so renaming is always safe). Gotcha this tool works around: Scaleway's underlying CLONE endpoint (POST /policies/{id}/clone) ignores its request body entirely and always returns the clone UNATTACHED (no_principal, tags stripped) regardless of the source - confirmed empirically 2026-08-18. This tool follows up with a PATCH restoring the source's principal and tags before returning, so the clone you get back actually matches what 'clone' implies, instead of a silently orphaned policy with no built-in way to reattach it. As with scaleway_iam_create_policy, the response's nb_rules/nb_permission_sets counts can read 0 immediately after this call despite rules having copied correctly - call scaleway_iam_list_policy_rules for ground truth if that count looks wrong.

scaleway_iam_update_policyA

Rename/re-describe/re-tag an existing IAM Policy. Does NOT touch rules, application_id, or any other principal/permission field - only name, description, tags change, so this never alters what the policy grants or to whom. Nothing references a Policy by name, so renaming is always safe. Only the fields you pass are changed; omitted fields are left as-is.

scaleway_iam_list_policiesA

List IAM Policies in this Organization, optionally filtered to those attached to one Application.

scaleway_iam_get_policyA

Get one IAM Policy's metadata (name, description, tags, application_id, nb_rules count) by id. Does NOT return the actual rules array - confirmed empirically that Scaleway's GET here never populates it despite create accepting rules in its request body. Call scaleway_iam_list_policy_rules for the real rules.

scaleway_iam_list_policy_rulesA

Get the actual rules (permission sets + scope, each as project_ids or organization_id) attached to a Policy. Use this, not scaleway_iam_get_policy, to see what a policy really grants.

scaleway_iam_set_policy_rulesA

Overwrite the COMPLETE rules array on an existing Policy in one atomic call - the safe way to add or remove a permission set on a live policy. Prefer this over delete+recreate: deleting a policy that grants its own holder IAMPolicyManager revokes that permission the instant it's deleted, before a replacement can be created, which can lock the credential you're using out of IAM entirely. Call scaleway_iam_list_policy_rules first to get the current array before changing it.

scaleway_iam_delete_policyA

PERMANENTLY delete an IAM Policy. Requires confirm=true. Every permission it granted is revoked immediately.

scaleway_iam_list_permission_setsA

List every permission set Scaleway IAM policies can grant (e.g. ObjectStorageReadOnly, IAMPolicyManager). Each entry's scope_type is 'organization' or 'projects' - a single policy rule can only combine permission sets that share the SAME scope_type (mixing them fails with 'permission sets must be of the same scope type'); use separate rules for each scope_type instead. Call this BEFORE scaleway_iam_create_policy to confirm exact names and scope_types - guessing a name or assuming its scope produces an actionable-but-late 400/invalid_arguments error.

scaleway_iam_list_usersA

List human Users of this Organization (the console's IAM > Users page) - id, email, status, type (owner/member/guest), locked and MFA flags. Needs IAMUserReadOnly/IAMUserManager on this server's credential.

scaleway_iam_get_userA

Read one human User by id - full profile incl. status, type, locked, MFA flags.

scaleway_iam_create_userA

Create a human User by email. SEMANTICS UNVERIFIED (2026-08-18): Scaleway's docs state users 'can only be invited to join' an Organization, yet the API exposes this create endpoint requiring a type field - most likely this sends the person an invitation/set-password email and creates a guest; that happy path could not be live-verified without a disposable mailbox. A REAL email is sent to the address on success - never call speculatively. Requires confirm=true. The API validates email format and a type ('guest' is the default here, inferred from the guest-only delete endpoint - also unverified).

scaleway_iam_update_userB

Update a User's mutable profile fields (tags; name/email where the API allows - invalid fields are rejected with the API's own validation message). Only passed fields change.

scaleway_iam_delete_userA

PERMANENTLY remove a User from this Organization. Requires confirm=true. Two guards: (1) this tool refuses to delete the Organization OWNER (type === 'owner') outright; (2) the API's own endpoint is guest-scoped ('Delete a guest user') - deleting a member/owner is rejected server-side and that error is surfaced verbatim. Live-probed 2026-08-18 on bogus ids only; guest happy-path unverified.

scaleway_iam_lock_userA

Lock a human User out of the Organization IMMEDIATELY (expected use: compromise response, offboarding). Requires confirm=true. This acts on a person, not a service - the console shows them as locked. Exact session/token invalidation timing unverified.

scaleway_iam_unlock_userA

Restore a locked User's access. Reversible counterpart of lock_user.

scaleway_iam_update_user_passwordA

ADMIN-SET password reset: the new password is supplied BY THE CALLER (API takes it explicitly, 1-72 bytes - live-probed) and takes effect immediately for the person's login. Account-takeover-grade power over a human - requires confirm=true. The password value travels in this tool call's arguments: generate a strong one, deliver it to the person over a separate secure channel, and never reuse an existing/known password. Whether active sessions are invalidated is unverified.

scaleway_iam_update_user_usernameA

Change what the person types to LOG IN. Requires confirm=true - they must be told, or they cannot sign in next time. Live-probed on bogus ids only (404 shape).

scaleway_iam_delete_user_mfa_otpA

Remove the person's TOTP MFA factor. SECURITY-WEAKENING on a human account - requires confirm=true. Expected legitimate use: lost authenticator recovery. Creating/enrolling a new OTP is deliberately NOT a tool here: enrollment requires the human's authenticator code to validate, and a created-but-unvalidated factor leaves MFA half-configured (flow states unprobed, endpoint shape live-verified 2026-08-18).

scaleway_iam_list_user_grace_periodsA

Read the User's grace periods (post-lock/deletion data-access windows). Read-only.

scaleway_iam_list_groupsA

List Groups in the Organization, including Scaleway's preset groups (Administrators/Editors/Billing Administrators) and any special managed groups. 'name' is an EXACT match, not a substring filter. Array filters (group_ids/user_ids/application_ids) narrow to groups matching ANY of the given ids.

scaleway_iam_get_groupA

Read one Group's full details, including its complete member lists (user_ids/application_ids) and special-group flags (managed/all_users/all_applications).

scaleway_iam_create_groupA

Create a new, empty Group. No confirm needed - fully reversible, grants nothing to anyone until members are added and/or a Policy is attached to its group_id. Name must be unique in the Organization (max 64 chars) - re-creating the same name immediately after deleting a group with that name may hit a brief uniqueness lag (seen elsewhere in this API, e.g. Applications).

scaleway_iam_update_groupA

Change a Group's name/description/tags. Only passed fields change. Refuses Scaleway-managed/special groups tool-side.

scaleway_iam_delete_groupA

PERMANENTLY delete a Group. Requires confirm=true. IRREVERSIBLE: any Policy granting access via this group's group_id stops applying to its former members immediately - anyone relying solely on this group's grants loses that access. Refuses Scaleway-managed/special groups (all_users/all_applications) tool-side - fetches the group first to check.

scaleway_iam_add_group_memberA

Add one User and/or one Application to a Group in a single call (both may be given at once - it's not either/or). Grants that member every permission any Policy attaches to this group's group_id, immediately. Existing members are preserved. Refuses Scaleway-managed/special or non-editable groups.

scaleway_iam_add_group_membersA

Add multiple Users and/or Applications to a Group at once. Existing members are preserved - this is additive, not a replace. Refuses Scaleway-managed/special or non-editable groups.

scaleway_iam_set_group_membersA

FULL-REPLACE a Group's membership: the given user_ids/application_ids become the COMPLETE member list - anyone currently a member but NOT in either list is REMOVED, losing this group's grants immediately. Requires confirm=true. Pass empty arrays to remove everyone. Refuses Scaleway-managed/special groups.

scaleway_iam_remove_group_memberA

Remove one User and/or one Application from a Group. Requires confirm=true. That member immediately loses every permission this group's attached Policies granted them - check they don't rely solely on this group for access they still need. Refuses Scaleway-managed/special or non-editable groups.

scaleway_iam_list_ssh_keysA

List SSH public keys registered in a Project (used to grant SSH access to Instances). Compact view - omits the actual public_key text; use scaleway_iam_get_ssh_key for the full key if needed. Needs SSHKeysReadOnly/FullAccess.

scaleway_iam_get_ssh_keyA

Read one SSH key by id, including the full public_key text and fingerprint.

scaleway_iam_create_ssh_keyA

Register a PUBLIC SSH key (never a private key - rejected client-side if the payload looks like a PEM private-key block or doesn't start with a recognized public-key prefix). This grants SSH access to any Instance/service that trusts keys from this Project - don't call speculatively.

scaleway_iam_update_ssh_keyA

Change an SSH key's name. The key material itself (public_key/fingerprint) cannot be changed here - delete and re-create to rotate the actual key.

scaleway_iam_delete_ssh_keyA

PERMANENTLY remove an SSH key. Requires confirm=true. If any Instance/service was relying solely on this key for access, whoever holds it loses SSH access immediately - confirm it's no longer in use, or that another access path exists, before deleting.

scaleway_iam_list_jwtsA

List active JWT sessions (browser/console logins) for one User. NOT the same as API keys - these are interactive-login session tokens. Live-probed 2026-08-18: this server's Application/API-key credential gets 403 'insufficient permissions' on resource 'self_jwt' even with full IAMManager - the surface appears scoped to a session's own JWTs, which an API-key credential never has. May only be callable from a human's own session context, not from this server. Reports the error verbatim if so.

scaleway_iam_get_jwtA

Read one JWT session's metadata (jti, audience, expiry, IP, user agent) by its id.

scaleway_iam_delete_jwtA

Immediately invalidate one active browser/console session. Requires confirm=true. Whoever holds that session is signed out right away - same severity as revoking an API key, but for an interactive login instead of a programmatic credential.

scaleway_iam_get_saml_configA

Read the Organization's SAML SSO config (status, entity IDs, ACS URL). Returns an error if SAML has never been enabled for this Organization - that is the expected/default state, not a fault.

scaleway_iam_enable_samlA

Enable SAML SSO, registering the identity provider's entity_id and SSO URL. ORG-WIDE BLAST RADIUS: this changes how EVERYONE in the Organization signs in. A misconfigured IdP entity_id/SSO URL, or an expired/wrong certificate, can lock every user out of the console at once - console-based recovery is also gated by this policy if it fails. Verify the IdP-side configuration is correct BEFORE calling this, and keep at least one non-SAML login method (password) available on your own account as a fallback. Requires confirm=true. The resulting config starts in status 'missing_certificate' until a certificate is added via scaleway_iam_add_saml_certificate - SSO logins cannot succeed until then, so enabling alone does not immediately expose a working (or misconfigurable) login path.

scaleway_iam_update_samlA

Change the registered identity provider's entity_id/SSO URL. ORG-WIDE BLAST RADIUS: this changes how EVERYONE in the Organization signs in. A misconfigured IdP entity_id/SSO URL, or an expired/wrong certificate, can lock every user out of the console at once - console-based recovery is also gated by this policy if it fails. Verify the IdP-side configuration is correct BEFORE calling this, and keep at least one non-SAML login method (password) available on your own account as a fallback. Requires confirm=true. Method is PATCH per the API reference (distinct from enable, which is POST); the PATCH call itself was not live-verified (deliberately - see docs/gotchas.md).

scaleway_iam_disable_samlA

PERMANENTLY remove the Organization's SAML SSO configuration. Requires confirm=true. Anyone who relies on SSO to sign in falls back to password/other login methods - if they have none set, they are LOCKED OUT. Confirmed via live probe: the working endpoint is a top-level DELETE by the SAML config's own id, NOT the org-nested path (which 405s) - this tool fetches the config first to resolve that id.

scaleway_iam_list_saml_certificatesA

List certificates registered for SAML SSO validation.

scaleway_iam_add_saml_certificateA

Register a new signing certificate for SAML SSO. ORG-WIDE BLAST RADIUS: this changes how EVERYONE in the Organization signs in. A misconfigured IdP entity_id/SSO URL, or an expired/wrong certificate, can lock every user out of the console at once - console-based recovery is also gated by this policy if it fails. Verify the IdP-side configuration is correct BEFORE calling this, and keep at least one non-SAML login method (password) available on your own account as a fallback. Requires confirm=true. UNVERIFIED FIELD SHAPE: the exact request body was never live-tested while building this tool (to avoid repeating the empty-body incident documented in docs/gotchas.md) - the PEM certificate is sent under 'certificate', matching Scaleway's SAML certificate conventions elsewhere, but this is a best-effort guess pending a real live test.

scaleway_iam_get_saml_certificateA

Read one SAML certificate's metadata (fingerprint, expiry) by id. PATH UNCONFIRMED: scaleway_iam_list_saml_certificates's path (/saml/{saml_id}/certificates) is live-verified; this single-item path follows the same nesting convention but could not be confirmed without recreating a live SAML config (deliberately avoided - see docs/gotchas.md). May need correction on first real use.

scaleway_iam_delete_saml_certificateA

PERMANENTLY remove one SAML certificate. Requires confirm=true. If this is the certificate actively validating SSO assertions, SSO breaks immediately for everyone until a replacement is added - check scaleway_iam_list_saml_certificates for other valid certificates first if SSO must stay available. PATH UNCONFIRMED - see scaleway_iam_get_saml_certificate's description.

scaleway_iam_get_scim_configA

Read the Organization's SCIM config (id, created_at). Returns an error if SCIM was never enabled - that is the expected default state.

scaleway_iam_enable_scimA

Enable SCIM (lets an external identity provider create/update/deactivate Users automatically). Requires confirm=true. Live-probed 2026-08-18: this endpoint takes no request fields - enabling alone does not grant any provisioning access by itself, a token must be created separately (scaleway_iam_create_scim_token) and configured in the IdP before anything can actually provision.

scaleway_iam_disable_scimA

PERMANENTLY disable SCIM. Requires confirm=true. Provisioning from the IdP stops immediately - including DEPROVISIONING: if the IdP was the mechanism offboarding relies on to remove departed Users, that stops working silently until re-enabled. Confirmed via live probe: the working endpoint is a top-level DELETE by the SCIM config's own id, NOT the org-nested path (which 405s) - this tool fetches the config first.

scaleway_iam_list_scim_tokensA

List SCIM provisioning tokens. Never includes the token secret (only visible once, at creation, per scaleway_iam_create_scim_token).

scaleway_iam_create_scim_tokenA

Generate a new SCIM token. IMPORTANT: like an API key's secret, this token is returned ONLY in this response - capture it immediately and configure it in the identity provider, it cannot be re-fetched later. Requires confirm=true - this token grants the IdP power to create/modify/deactivate Users. FIELD SHAPE UNVERIFIED: never live-tested (see docs/gotchas.md) - 'description' is a best-effort guess matching every other credential-creation tool's convention in this server.

scaleway_iam_delete_scim_tokenA

PERMANENTLY revoke a SCIM token. Requires confirm=true. IdP provisioning breaks immediately until a new token is created and configured in the IdP. PATH UNCONFIRMED: follows the same nesting convention as scaleway_iam_list_scim_tokens (/scim/{scim_id}/tokens) but the single-item path could not be live-verified without recreating a live SCIM config - deliberately avoided, see docs/gotchas.md.

scaleway_iam_get_security_settingsA

Read org-wide auth policy: password-renewal enforcement, grace period duration, login-attempt lockout threshold, max session/API-key-expiration durations.

scaleway_iam_update_security_settingsA

Change org-wide auth policy. ORG-WIDE BLAST RADIUS, BOTH DIRECTIONS: tightening (e.g. lowering login_attempts_before_locked, enabling enforce_password_renewal) can lock out users who haven't met the new requirement yet; loosening (raising session/expiration durations) weakens the org's security posture for everyone. Only the fields you pass are changed - live-verified that an empty call leaves every current value untouched, unlike SAML/SCIM's enable endpoints (see docs/gotchas.md). Requires confirm=true.

scaleway_s3_create_bucketA

Create a new, empty Object Storage bucket, private by default. Configure it afterwards with the scaleway_s3_*bucket* config tools (visibility, versioning, tags, CORS, website, lifecycle, encryption). Object Lock cannot be enabled at creation on Scaleway (the S3 create-time flag is silently ignored) - enable versioning then scaleway_s3_enable_object_lock afterwards.

scaleway_s3_list_bucketsA

List Object Storage buckets in one region (buckets are region-scoped on Scaleway, unlike AWS's account-wide bucket namespace).

scaleway_s3_delete_bucketA

PERMANENTLY delete an empty Object Storage bucket. Requires confirm=true. Fails if the bucket still contains objects.

scaleway_s3_get_bucket_taggingA

Read a bucket's tags (key/value pairs). Errors with NoSuchTagSet if no tags are set.

scaleway_s3_put_bucket_taggingA

Set a bucket's tags. FULL-REPLACE semantics: the provided list becomes the complete tag set - tags not in the list are removed.

scaleway_s3_delete_bucket_taggingA

Remove ALL tags from a bucket. Requires confirm=true. Reversible in the sense that tags can be re-applied, but the current set is lost.

scaleway_s3_get_bucket_corsA

Read a bucket's CORS rules. Errors with NoSuchCORSConfiguration if none are set.

scaleway_s3_put_bucket_corsA

Set a bucket's CORS rules. FULL-REPLACE semantics: the provided list becomes the complete rule set - existing rules not in the list are removed. This loosens or restricts browser cross-origin access to the bucket.

scaleway_s3_delete_bucket_corsA

Remove ALL CORS rules from a bucket - browsers regain no cross-origin access (default-deny).

scaleway_s3_get_bucket_versioningA

Read a bucket's versioning state: '' (never enabled), 'Enabled', or 'Suspended'. Note: once Object Lock is enabled on a bucket, versioning is frozen at Enabled and cannot be suspended (live-verified 2026-08-18).

scaleway_s3_set_bucket_versioningA

Set versioning to Enabled or Suspended. Enabling keeps every object version (deletes create delete markers instead of removing data). Suspending requires confirm=true: new writes stop versioning, existing versions are retained. VERSIONING CAN NEVER GO BACK TO 'never-enabled' - suspending is not disabling. Suspending fails outright (InvalidBucketState) while Object Lock is enabled on the bucket.

scaleway_s3_get_bucket_websiteA

Read a bucket's static-website configuration. Errors with NoSuchWebsiteConfiguration if none is set.

scaleway_s3_put_bucket_websiteA

Configure the bucket for static-website serving (index document, optional error document). FULL-REPLACE. Requires confirm=true because this publishes an HTTP website endpoint for the bucket. The website endpoint follows Scaleway's s3-website..scw.cloud naming - check the console bucket page for the exact URL; anonymous website access on Scaleway additionally depends on the bucket's visibility (see scaleway_s3_set_bucket_visibility).

scaleway_s3_delete_bucket_websiteA

Remove the static-website configuration - the website endpoint stops serving.

scaleway_s3_get_bucket_visibilityA

Read a bucket's visibility, derived from its ACL grants: 'public' if the anonymous AllUsers group holds any grant, otherwise 'private'. Returns the raw grants too.

scaleway_s3_set_bucket_visibilityA

Set bucket visibility via canned ACL: 'public-read' grants the anonymous internet READ on ALL objects (the console's 'Public' setting) - requires confirm=true; 'private' restores owner-only access. Note Bucket Policies (scaleway_s3_put_bucket_policy) are the finer-grained mechanism - this tool is the coarse on/off switch.

scaleway_s3_get_bucket_lifecycleA

Read a bucket's lifecycle rules. Errors with NoSuchLifecycleConfiguration if none are set.

scaleway_s3_put_bucket_lifecycleA

Set a bucket's lifecycle rules. FULL-REPLACE: the provided list becomes the complete rule set. DESTRUCTIVE: rules with expiration permanently DELETE matching objects once they take effect - requires confirm=true regardless of rule content. Rules apply to objects stored with Scaleway storage classes; transition targets Scaleway classes (ONEZONE_IA, GLACIER).

scaleway_s3_delete_bucket_lifecycleA

Remove ALL lifecycle rules. Requires confirm=true: objects that would have expired keep living (rule removal stops pending deletions - dangerous in the opposite direction of putting rules).

scaleway_s3_get_bucket_encryptionA

Read the bucket's S3 default-encryption configuration. A fresh bucket returns an EMPTY config (HTTP 200, not an error, unlike AWS which errors) rather than 'AES256 always on' - this is a REAL, toggleable setting, not inert metadata: live-verified 2026-08-18 via the console's Settings tab, put_bucket_encryption/delete_bucket_encryption visibly flip the bucket's 'Encryption type' there between 'Disabled' and 'SSE-ONE encryption with Scaleway Object Native Encryption keys'. (An earlier version of this description claimed the config was declarative-only with no effect - that was wrong, corrected after console cross-validation.)

scaleway_s3_put_bucket_encryptionA

Set the bucket's S3 default-encryption configuration (AES256). Live-verified 2026-08-18: this is a real setting, not S3-API-compatibility filler - the console's Settings tab shows 'Encryption type' flip from 'Disabled' to 'SSE-ONE encryption with Scaleway Object Native Encryption keys' immediately after this call.

scaleway_s3_delete_bucket_encryptionA

Remove the bucket's default-encryption configuration. Live-verified 2026-08-18: this reverts the console's 'Encryption type' back to 'Disabled' - a real change, not a no-op on inert metadata.

scaleway_s3_get_object_lockA

Read whether Object Lock (WORM protection) is enabled on the bucket. ObjectLockConfigurationNotFoundError means NOT enabled - there is no 'disabled' state, the config simply does not exist until first enabled.

scaleway_s3_enable_object_lockA

Enable Object Lock (WORM: object versions can never be deleted before their retention expires). IRREVERSIBLE: once enabled it can NEVER be disabled or removed - Scaleway rejects the disable request at the XML-schema level, and versioning becomes permanently frozen at Enabled (both live-verified 2026-08-18). Prerequisite: versioning must be Enabled first - pass enable_versioning_if_needed=true to let this tool do that, otherwise the API rejects with InvalidBucketState. Creating a bucket with object lock at creation time is NOT possible on Scaleway: the S3 CreateBucket flag ObjectLockEnabledForBucket is silently ignored (live-verified 2026-08-18) - this tool is the only working path. An empty locked bucket can still be deleted.

scaleway_s3_get_bucket_policyA

Read the current Bucket Policy JSON attached to an Object Storage bucket. Returns an error if the bucket has no policy.

scaleway_s3_put_bucket_policyA

Replace a bucket's entire Bucket Policy with the given JSON document. This is the bucket-scoped half of access control - see scaleway_iam_create_policy's description for why both an IAM Policy and a Bucket Policy are needed together. Recommended safety net: include a statement granting the bucket owner's own user_id full access (mirrors the console's 'Maintain access to bucket' checkbox) so a mistake here can never lock the account out of its own bucket.

scaleway_s3_delete_bucket_policyA

Remove a bucket's Bucket Policy entirely. Requires confirm=true. Any principal relying only on this policy loses access to the bucket immediately.

scaleway_s3_put_objectA

Upload (or overwrite) a single object. Single-part only - see the 'content' field for the size ceiling and the binary-payload encoding.

scaleway_s3_get_objectA

Download a single object's content and metadata. Content is returned as UTF-8 text when it round-trips cleanly as text, otherwise as base64 (see 'encoding' in the result). Like every tool in this server, the result is truncated to MAX_OUTPUT_CHARS - for large objects, use scaleway_s3_generate_presigned_url instead.

scaleway_s3_list_objectsA

List object keys in a bucket, optionally scoped by prefix and grouped by delimiter (like folders). Paginated - pass the returned next_continuation_token to continue.

scaleway_s3_head_objectA

Fetch an object's metadata (content-type, size, etag, last-modified, user metadata) without transferring its body. Cheaper than scaleway_s3_get_object when you don't need the content.

scaleway_s3_copy_objectA

Server-side copy of one object to a new bucket/key, without downloading and re-uploading. Source and destination must be in the same region.

scaleway_s3_delete_objectA

PERMANENTLY delete one object. Requires confirm=true.

scaleway_s3_delete_objectsA

PERMANENTLY delete up to 1000 explicitly-named objects in one call. Requires confirm=true. No prefix/wildcard form - never wipes a bucket recursively.

scaleway_s3_get_object_tagsA

Read the key/value tag set attached to an object.

scaleway_s3_put_object_tagsA

Replace an object's entire tag set. This REPLACES, it does not merge - see the 'tags' field.

scaleway_s3_generate_presigned_urlA

Generate a URL that grants direct GET or PUT access to one object for a limited time, without exposing this server's credential. Useful for handing a download/upload link to something outside MCP, or for content too large for scaleway_s3_get_object/put_object's inline transfer.

scaleway_audit_list_eventsA

List Audit Trail events (who did what, when, from where, against what) across this Organization - the same data as the console's Audit Trail > Events page. Requires the AuditTrailReadOnly permission set on THIS server's own credential; if every call fails with permissions_denied, that's very likely why - grant it via scaleway_iam_set_policy_rules (organization scope). Defaults to the last 24 hours. Pagination is cursor-based with no total_count - max_pages is a safety cap, not a completeness guarantee; the response says whether it was truncated and includes the last page token to continue from.

scaleway_audit_list_authentication_eventsA

List authentication events (logins, API-key/token auth, MFA outcomes - success/failure, origin, country, method) across this Organization. A separate endpoint from scaleway_audit_list_events: those cover API/resource activity, these cover authentication activity only. Requires the AuditTrailReadOnly permission set on THIS server's own credential; if every call fails with permissions_denied, that's very likely why - grant it via scaleway_iam_set_policy_rules (organization scope). Defaults to the last 24 hours. Cursor-based pagination with no total_count, same caveats as scaleway_audit_list_events.

scaleway_audit_list_system_eventsA

List system events - actions performed by Scaleway's own systems on your resources (product_name / system_name / kind), rather than by a user or application. The third event stream besides scaleway_audit_list_events (API activity) and scaleway_audit_list_authentication_events (authentication). Requires the AuditTrailReadOnly permission set on THIS server's own credential; if every call fails with permissions_denied, that's very likely why - grant it via scaleway_iam_set_policy_rules (organization scope). Defaults to the last 24 hours (the API's own default window is 1 hour, so this tool pins it explicitly). Cursor-based pagination with no total_count, same caveats as scaleway_audit_list_events.

scaleway_audit_list_combined_eventsA

List all three Audit Trail event streams in one chronological feed - each event is tagged with its kind (api, auth, or system) and compacted per-kind. Use this when investigating a timeline across streams; use the per-stream tools (scaleway_audit_list_events, _list_authentication_events, _list_system_events) when one stream is enough. Requires the AuditTrailReadOnly permission set on THIS server's own credential; if every call fails with permissions_denied, that's very likely why - grant it via scaleway_iam_set_policy_rules (organization scope). Defaults to the last 24 hours. Cursor-based pagination with no total_count, same caveats as scaleway_audit_list_events.

scaleway_audit_get_last_events_overviewA

Get the snapshot of most recent Audit Trail events the console shows on the Audit Trail landing page - the last handful of api events, no filters, no pagination. Handy as a cheap 'anything happening lately?' check before running a full paginated query. Requires the AuditTrailReadOnly permission set on THIS server's own credential; if every call fails with permissions_denied, that's very likely why - grant it via scaleway_iam_set_policy_rules (organization scope).

scaleway_audit_list_productsA

List the products/services integrated with Audit Trail, with their service and method names - the catalog behind the resource_type / product_name / service_name / method_name filters of the scaleway_audit_list_* event tools. Call this when a filter value is rejected or to discover valid values before querying. Requires the AuditTrailReadOnly permission set on THIS server's own credential; if every call fails with permissions_denied, that's very likely why - grant it via scaleway_iam_set_policy_rules (organization scope).

scaleway_audit_list_alert_rulesA

List Scaleway's preconfigured Audit Trail alert rules for this Organization and their current status (enabled/disabled) - the console's Audit Trail > Alerts page. These rules are defined by Scaleway and cannot be created or deleted, only enabled/disabled. Needs more than AuditTrailReadOnly on THIS server's own credential (read-only covers just the query tools) - if the call fails with permissions_denied, grant the Audit Trail write permission set via scaleway_iam_set_policy_rules.

scaleway_audit_set_alert_rules_enabledA

Enable or disable specific preconfigured Audit Trail alert rules by ID. Touches ONLY the listed rules - the enabled/disabled state of every other rule is left unchanged (unlike scaleway_audit_replace_enabled_alert_rules, which rewrites the whole enabled set). Get IDs from scaleway_audit_list_alert_rules. Live-verified 2026-08-18: an unknown rule ID rejects the whole request (HTTP 404) - no partial application. Needs more than AuditTrailReadOnly on THIS server's own credential (read-only covers just the query tools) - if the call fails with permissions_denied, grant the Audit Trail write permission set via scaleway_iam_set_policy_rules.

scaleway_audit_replace_enabled_alert_rulesA

Atomically replace the COMPLETE set of enabled preconfigured alert rules: after this call, exactly the listed rules are enabled and every other preconfigured rule is disabled - including ones you did not mention. Prefer scaleway_audit_set_alert_rules_enabled (additive) unless you genuinely want full-replace semantics, e.g. syncing to a declared state. Live-verified 2026-08-18: an unknown rule ID rejects the whole request (HTTP 404) - no partial application. Requires confirm=true. Needs more than AuditTrailReadOnly on THIS server's own credential (read-only covers just the query tools) - if the call fails with permissions_denied, grant the Audit Trail write permission set via scaleway_iam_set_policy_rules.

scaleway_audit_list_custom_alert_rulesA

List this Organization's custom Audit Trail alert rules (CEL-expression alerts you created) with their query, evaluation window, occurrence threshold, severity, and enabled/disabled status. Distinct from scaleway_audit_list_alert_rules, which lists Scaleway's preconfigured rules. Needs more than AuditTrailReadOnly on THIS server's own credential (read-only covers just the query tools) - if the call fails with permissions_denied, grant the Audit Trail write permission set via scaleway_iam_set_policy_rules. CAVEAT (live-verified 2026-08-18): Scaleway documents the custom-alert-rules endpoints, but the deployed API (fr-par) returns HTTP 501 'unknown method' for every custom-alert-rules method - this tool is kept for when Scaleway implements them and currently surfaces that error verbatim. Don't retry on 501; the preconfigured rules via scaleway_audit_list_alert_rules are the working alternative today.

scaleway_audit_create_custom_alert_ruleA

Create a custom Audit Trail alert rule: a CEL expression evaluated against incoming audit events, firing when at least occurrences matching events land within evaluation_window. Metadata-only edits later via scaleway_audit_update_custom_alert_rule; the query itself cannot be changed in place - to change the logic, create a new rule and delete the old one. Needs more than AuditTrailReadOnly on THIS server's own credential (read-only covers just the query tools) - if the call fails with permissions_denied, grant the Audit Trail write permission set via scaleway_iam_set_policy_rules. CAVEAT (live-verified 2026-08-18): Scaleway documents the custom-alert-rules endpoints, but the deployed API (fr-par) returns HTTP 501 'unknown method' for every custom-alert-rules method - this tool is kept for when Scaleway implements them and currently surfaces that error verbatim. Don't retry on 501; the preconfigured rules via scaleway_audit_list_alert_rules are the working alternative today.

scaleway_audit_update_custom_alert_ruleA

Update a custom alert rule's metadata (name/description) in place. The API exposes ONLY these two fields on update - the query, evaluation window, occurrences, and severity are immutable after creation; changing the logic means create-new + delete-old. Needs more than AuditTrailReadOnly on THIS server's own credential (read-only covers just the query tools) - if the call fails with permissions_denied, grant the Audit Trail write permission set via scaleway_iam_set_policy_rules. CAVEAT (live-verified 2026-08-18): Scaleway documents the custom-alert-rules endpoints, but the deployed API (fr-par) returns HTTP 501 'unknown method' for every custom-alert-rules method - this tool is kept for when Scaleway implements them and currently surfaces that error verbatim. Don't retry on 501; the preconfigured rules via scaleway_audit_list_alert_rules are the working alternative today.

scaleway_audit_delete_custom_alert_ruleA

PERMANENTLY delete a custom alert rule by ID. Requires confirm=true. Irreversible - the rule's definition is gone, though past events it recorded remain in the event streams. Needs more than AuditTrailReadOnly on THIS server's own credential (read-only covers just the query tools) - if the call fails with permissions_denied, grant the Audit Trail write permission set via scaleway_iam_set_policy_rules. CAVEAT (live-verified 2026-08-18): Scaleway documents the custom-alert-rules endpoints, but the deployed API (fr-par) returns HTTP 501 'unknown method' for every custom-alert-rules method - this tool is kept for when Scaleway implements them and currently surfaces that error verbatim. Don't retry on 501; the preconfigured rules via scaleway_audit_list_alert_rules are the working alternative today.

scaleway_audit_set_custom_alert_rules_enabledA

Enable or disable specific custom alert rules by ID. Touches ONLY the listed rules - the state of every other custom rule is left unchanged (unlike scaleway_audit_replace_enabled_custom_alert_rules, which rewrites the whole enabled set). Get IDs from scaleway_audit_list_custom_alert_rules. Needs more than AuditTrailReadOnly on THIS server's own credential (read-only covers just the query tools) - if the call fails with permissions_denied, grant the Audit Trail write permission set via scaleway_iam_set_policy_rules. CAVEAT (live-verified 2026-08-18): Scaleway documents the custom-alert-rules endpoints, but the deployed API (fr-par) returns HTTP 501 'unknown method' for every custom-alert-rules method - this tool is kept for when Scaleway implements them and currently surfaces that error verbatim. Don't retry on 501; the preconfigured rules via scaleway_audit_list_alert_rules are the working alternative today.

scaleway_audit_replace_enabled_custom_alert_rulesA

Atomically replace the COMPLETE set of enabled custom alert rules: after this call, exactly the listed custom rules are enabled and every other custom rule is disabled - including ones you did not mention. Prefer scaleway_audit_set_custom_alert_rules_enabled (additive) unless you genuinely want full-replace semantics. Requires confirm=true. Needs more than AuditTrailReadOnly on THIS server's own credential (read-only covers just the query tools) - if the call fails with permissions_denied, grant the Audit Trail write permission set via scaleway_iam_set_policy_rules. CAVEAT (live-verified 2026-08-18): Scaleway documents the custom-alert-rules endpoints, but the deployed API (fr-par) returns HTTP 501 'unknown method' for every custom-alert-rules method - this tool is kept for when Scaleway implements them and currently surfaces that error verbatim. Don't retry on 501; the preconfigured rules via scaleway_audit_list_alert_rules are the working alternative today.

scaleway_audit_list_export_jobsA

List this Organization's Audit Trail export jobs - recurring jobs shipping audit events to an Object Storage bucket (S3 destination config, last run, last status). The console's Audit Trail > Exports page. Needs more than AuditTrailReadOnly on THIS server's own credential (read-only covers just the query tools) - if the call fails with permissions_denied, grant the Audit Trail write permission set via scaleway_iam_set_policy_rules.

scaleway_audit_create_export_jobA

Create an export job shipping Audit Trail events to an Object Storage bucket (S3 destination). The bucket must already exist and be writable - create it first (e.g. scaleway_s3_create_bucket). Live-verified 2026-08-18: creation triggers an IMMEDIATE backfill, not just a future cadence - a fresh job wrote ~6 days of past daily log objects (one JSON file per day, e.g. '2026/07/12/logs_*.json') into the bucket within seconds of creation. scaleway_audit_delete_export_job does not delete these - if you created a bucket just to test this, you'll need to empty it (object-level operations are out of scope for this server) before scaleway_s3_delete_bucket will succeed. Check last_run_at / last_status via scaleway_audit_list_export_jobs afterwards for the ongoing cadence. Needs more than AuditTrailReadOnly on THIS server's own credential (read-only covers just the query tools) - if the call fails with permissions_denied, grant the Audit Trail write permission set via scaleway_iam_set_policy_rules.

scaleway_audit_delete_export_jobA

PERMANENTLY delete an export job by ID. Requires confirm=true. Stops future exports; objects already written to the destination bucket are NOT deleted by this call. Needs more than AuditTrailReadOnly on THIS server's own credential (read-only covers just the query tools) - if the call fails with permissions_denied, grant the Audit Trail write permission set via scaleway_iam_set_policy_rules.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/logic-arts-official/scaleway-ops-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server