Add marketplace items (and packs — auto-expanded to their contained items) to a room's build inventory so they appear in the user's in-game build palette. This is the DEFAULT path for any 'build a <theme>' or 'add <stuff>' request — items become draggable in-game; the user composes the scene them...
AI agents use add_to_room_inventory 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 to attach items to. Falls back to PORTALS_ROOM_ID env. |
itemIds | array | Yes | Mix of marketplace creator_items ids — packs and individual items both work. Packs are expanded to their contents automatically. |
Parameters from the server's own tool schema.
The tool creates or modifies data (adds marketplace items to room inventory) in a reversible manner. It does not delete data (merges and preserves existing items), does not execute arbitrary code, does not trigger financial transactions, and does not involve destructive operations.
From the tool's definition Tool performs data modification: 'writes the combined unique id list into room.AttachedItems via /api/v2/room/update-room-settings (merges with existing AttachedItems, never drops them)'.
Risk signalsBulk/mass operation — affects multiple targets
Attacks that exploit this kind of access
Add marketplace items (and packs — auto-expanded to their contained items) to a room's build inventory so they appear in the user's in-game build palette. This is the DEFAULT path for any 'build a <theme>' or 'add <stuff>' request — items become draggable in-game; the user composes the scene themselves. Internally: claims any unclaimed free items, expands every pack id to its packItemIds, then writes the combined unique id list into room.AttachedItems via /api/v2/room/update-room-settings (merges with existing AttachedItems, never drops them). Returns a summary; no follow-up apply_operations call is needed. 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.
add_to_room_inventory accepts 2 parameters: roomId, itemIds. Required: itemIds. 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 add_to_room_inventory: 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.
add_to_room_inventory 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 add_to_room_inventory 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 add_to_room_inventory. 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.
add_to_room_inventory 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 →