Skip to main content
Glama
gkrost

scaleway-ops-mcp-server

by gkrost

Set rules on a Scaleway IAM Policy

scaleway_iam_set_policy_rules
DestructiveIdempotent

Replace all rules on an existing IAM policy atomically to add or remove permission sets safely. Requires confirm=true and avoids lockout from delete-and-recreate.

Instructions

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. Requires confirm=true. 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. Distinct lockout mode: a successful replace that drops this server's IAM-management rule (IAMPolicyManager/IAMApplicationManager) cannot be undone through this server - the credential then cannot call this tool, or any other IAM policy/application tool, to fix itself. Call scaleway_iam_list_policy_rules first to get the current array before changing it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rulesYesThe COMPLETE rules array to set - this REPLACES every existing rule on the policy, it does not merge or append. Call scaleway_iam_list_policy_rules first, add/remove/edit within that array, then pass the whole thing back here. This is the safe way to change a live policy's grants: unlike delete+recreate, there's no window where the policy (or the permissions it grants its own holder) doesn't exist.
confirmYesMust be explicitly true. This is a full-replace of live grants: omitting the rule that grants this server IAMPolicyManager/IAMApplicationManager permanently locks the credential out of IAM.
policy_idYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite annotations (destructiveHint=true, idempotentHint=true) already indicating danger and idempotency, the description adds critical behavior beyond annotations: the atomic replacement nature, the lockout risk if the credential's own IAM-management permission is dropped, and the irreversibility through this server. This is rich, non-obvious context that annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-structured, front-loading the core purpose and then explaining the crucial safety warnings. Each sentence adds value: atomicity, safety, lockout scenario, and the prerequisite call. Slightly long due to repeated warnings, but every point is essential for safe usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's high complexity (destructive, with lockout potential), the description is remarkably complete. It covers the replace semantics, the lockout scenario, the prerequisite to list rules first, and the confirm requirement. The lack of an output schema is fine because the description focuses on input behavior and consequences, which is what matters for such a high-risk operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, and the description significantly enhances understanding of all three parameters. The 'rules' parameter is explained as a complete replace, not merge, with a detailed usage pattern (list first, modify, pass back). The 'confirm' parameter is justified as a safety gate against permanent lockout, which is absent from the schema. The 'policy_id' is simple, but the additional context for rules and confirm fully compensates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Overwrite') and clearly identifies the resource ('existing Policy') and the action's scope ('COMPLETE rules array', 'atomic call'). It explicitly distinguishes from alternatives like delete+recreate and warns about the lockout hazard, making its purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit when-to-use guidance ('the safe way to add or remove a permission set on a live policy'), when-not-to (avoid delete+recreate due to lockout risk), and a direct alternative (scaleway_iam_list_policy_rules to fetch current rules). The description also instructs to call list_policy_rules first, which is essential for correct usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/gkrost/scaleway-ops-mcp-server'

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