upsertResourcePermission
Grant a user OR team a permission on a workspace/project/folder/document/improvement/plan, or change the one they have. 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 | |
table_id | string | — | db_row only: the table the row is in. |
database_id | string | — | db_table and db_row only: the database the table or row belongs to. |
resource_id | string | Yes | UUID of the resource (for db_table the table's id, for db_row the row's id) |
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
An AI agent can call upsertResourcePermission faster than any human can review: one bad instruction and it creates or modifies resources in Stable Baseline by the hundred, each call as confident as the last.
Risk signalsAdmin/system-level operation
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
Grant a user OR team a permission on a workspace/project/folder/document/improvement/plan, or change the one they have. 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). Also shares a database or one of its tables (resource_type database or db_table, needs admin on the database) and a single row (db_row: level read or write shares it, none takes someone off it; for the row's owner or an admin); a table and a row also name database_id, a row also table_id. 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 7 parameters: level, table_id, database_id, 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