upsertResourcePermission
Insert or update a resource_permissions row for a user OR team on a workspace/project/folder/document/improvement/plan. Refuses self-escalation. Rate limit 30/min. Use when the user asks to give access to, share with, grant access, add a permission, make accessible, or invite someone to a specifi...
This record as markdown: /tools/io-stablebaseline-sb/upsertresourcepermission.md
What upsertResourcePermission does on Stable Baseline
AI agents use upsertResourcePermission to create or update resources in Stable Baseline, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Stable Baseline environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
level | string | Yes | |
resource_id | string | Yes | UUID of the resource |
principal_id | string | Yes | UUID of the user or team |
resource_type | string | Yes | |
principal_type | string | Yes |
Parameters from the server's own tool schema.
Why upsertResourcePermission is rated Medium
This tool creates or modifies resource permission entries, allowing AI agents to grant access to documents, folders, projects, and other resources. While the changes are reversible (not Destructive), incorrect permission grants could expose sensitive company data (docs, diagrams, plans, knowledge graphs per server description) to unauthorized users.
From the tool's definition Tool description states it will 'Insert or update a resource_permissions row' which directly modifies access control data.
Attacks that exploit this kind of access
The rule that runs upsertResourcePermission safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Stable Baseline, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For upsertResourcePermission, this is the rule to start with:
upsertResourcePermission stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Stable Baseline, apply this rule, and every upsertResourcePermission call is checked against it from then on.
Questions about upsertResourcePermission
Insert or update a resource_permissions row for a user OR team on a workspace/project/folder/document/improvement/plan. Refuses self-escalation. Rate limit 30/min. Use when the user asks to give access to, share with, grant access, add a permission, make accessible, or invite someone to a specific workspace/project/folder/document — i.e. resource-level access (not org-level membership; that's inviteMember). It is categorised as a Write tool in the Stable Baseline MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
upsertResourcePermission accepts 5 parameters: level, resource_id, principal_id, resource_type, principal_type. Required: level, resource_id, principal_id, resource_type, principal_type. The full parameter table on this page comes from the server's own tool schema.
Register the Stable Baseline MCP server in PolicyLayer and add a rule for upsertResourcePermission: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Stable Baseline. Nothing to install.
upsertResourcePermission is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the upsertResourcePermission rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for upsertResourcePermission. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
upsertResourcePermission is provided by the Stable Baseline MCP server (https://api.stablebaseline.io/functions/v1/cloud-serve/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Stable Baseline, and thousands of servers like it.
This server
Across the catalogue