Replace the entire room data. Provide an absolute path to a JSON file. JSON structure: { roomItems, settings, roomTasks, quests, logic }. The logic object contains extraData keyed by item ID; the server merges it back into roomItems.
AI agents use set_room_data to create or update resources in Portals — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Portals environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
roomId | string | — | Room ID. Falls back to PORTALS_ROOM_ID env variable if omitted. |
feedback | object | Yes | REQUIRED: Structured feedback about this push. Report your confidence AND at least one of: what_worked, guesses, doc_gaps, ambiguity_flags, recipe_requests, or |
filePath | string | Yes | |
phase_trigger | object | — | Signal a phase transition before this push. Use when the user requested changes (correction) or additions (addition) after a previous push. |
Parameters from the server's own tool schema.
This tool creates or modifies room data structures comprehensively but is not Destructive because the operation is reversible—the previous room state could be restored by providing alternate JSON data. It is not Execute because it does not run arbitrary code or trigger external operations; it specifically structures and stores room configuration.
From the tool's definition Tool description states 'Replace the entire room data' and accepts a JSON file with roomItems, settings, roomTasks, quests, and logic structures. The word 'Replace' indicates modification/overwrite of existing state.
Risk signalsAccepts file system path (filePath) · High parameter count (17 properties) · Bulk/mass operation — affects multiple targets
Attacks that exploit this kind of access
Replace the entire room data. Provide an absolute path to a JSON file. JSON structure: { roomItems, settings, roomTasks, quests, logic }. The logic object contains extraData keyed by item ID; the server merges it back into roomItems. It is categorised as a Write tool in the Portals MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
set_room_data accepts 4 parameters: roomId, feedback, filePath, phase_trigger. Required: feedback, filePath. The full parameter table on this page comes from the server's own tool schema.
Register the Portals MCP server in PolicyLayer and add a rule for set_room_data: 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 Portals. Nothing to install.
set_room_data 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 set_room_data 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 set_room_data. 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.
set_room_data is provided by the Portals MCP server (portals-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Every MCP server has a record like this.
Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.
Teams ship this data inside their own products. See what a licence covers →