set_room_data

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.

Server Portals portals-mcp
Category Write
Risk class Medium
Parameters 42 required

What set_room_data does on Portals

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.

ParameterTypeRequiredDescription
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.

Why set_room_data needs a policy

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

Questions about set_room_data

What does the set_room_data tool do? +

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.

What parameters does set_room_data accept? +

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.

How do I enforce a policy on set_room_data? +

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.

What risk level is set_room_data? +

set_room_data is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit set_room_data? +

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.

How do I block set_room_data completely? +

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.

What MCP server provides set_room_data? +

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.

// LOOK UP ANOTHER 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 →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.