MCP App Store
by KeenEthics
PropertyPrompt icon

PropertyPrompt

By Alexander Ryall

Get New App Alerts

Overview

PropertyPrompt turns a floor plan into a 3D model of a property that ChatGPT can build, furnish and change for you. Share a floor plan or describe the rooms, with at least one real measurement. ChatGPT builds the walls, doors, windows and floors to scale in metres, then furnishes the rooms with real products, modelled from their published dimensions with a link to the retailer's page. A live viewer in the chat shows each change as it is made, and ChatGPT can render a view to check how a room looks. Use it to plan a move, try furniture before you buy it, check whether a sofa fits or compare layouts. Every change is made against the property's current version and kept in its history, so you can ask ChatGPT to undo it. For renters and property owners planning a space, and for interior designers and estate agents who model properties for clients. You sign in with a PropertyPrompt account, and the app reaches only that account's properties. Properties are private. Only you can make one public, on propertyprom.pt; ChatGPT can never do it. Open a property on propertyprom.pt to walk through it in the browser or in VR. Limitations: a model is only as accurate as the plans and measurements it is built from, and is not architectural or engineering advice. Product names, prices and links come from ChatGPT's research and can be out of date; the retailer's own page is what counts. PropertyPrompt does not sell products or take payments, and is not affiliated with the retailers shown. Accounts have a property limit and a fair use policy.

Tools

commit_scene_asset_upload

ChatGPT
Validate an assembled asset and publish its resource reference as one revision. Image: PNG. Video: WebM/MP4. Other kinds: UTF-8 JSON matching the resource schemas. Old resource versions remain available for undo.

create_property

ChatGPT
Create a property from its own supplied plan and measured scale. Source, scale basis and assumptions are required. Floors and camera defaults are generated. Add only source-supported walls and fixtures with put_scene_nodes; do not copy another building.

delete_property

ChatGPT
Delete a property from Your properties for all visitors. Requires its current expectedRevision and properties:write scope. A public property is refused: its owner switches sharing off in the browser first.

discard_scene_asset_upload

ChatGPT
Discard unpublished upload chunks. Does not change the property document or its revision.

get_authoring_guide

ChatGPT
Self-contained authoring manual, one bounded topic per call. Overview lists all topics; examples contains executable tools/call steps for textured multipart furniture, instancing, appearance, lighting and openings. Read geometry/materials/behavior/editing/validation before a detailed build. No repository access required.

get_property

ChatGPT
Read property settings, rooms, catalogue, resource manifest, revision and browser viewerUrl. Nodes are omitted; use paginated get_scene_nodes. Browser viewing requires a separate owner or admin account session. share is null while the property is private. Otherwise share.publicUrl opens it for anyone without signing in: mode latest means every edit you save is public at once; mode pinned means visitors keep seeing share.revision until the owner updates it. Only the owner can make a property public or private, with the Share switch in the browser; no tool changes it.

get_scene_nodes

ChatGPT
Read scene nodes, including immutable imported geometry references and transforms. Use parentId to inspect children; omitted lists all nodes with pagination. Set summary for a flat placement list with world transforms and bounds already applied, which reads a whole scene in one call at a fraction of the size; use it unless you need raw geometry or matrices.

get_scene_resource

ChatGPT
Read a property resource as a bounded base64 byte range. Decode JSON resources to inspect or edit their definitions. get_property includes the current resource manifest.

get_schema

ChatGPT
Read before editing. Input schemas and essential conventions. Then call get_authoring_guide for detailed workflows, renderer semantics, examples and validation. Interpret screenshots and research externally; this server has no browsing or image interpretation.

import_property_image

ChatGPT
Download a PNG and set it as the property's image in one revision. Accepts direct HTTPS download URLs on oaiusercontent.com or blob.core.windows.net and their subdomains, including signed links. No client-side byte retrieval needed. Session-local sandbox: links and login pages do not work; obtain a direct download link. PNG only, at most 8 MiB, 4096 px per side and 4 megapixels. Stored privately; source URL is not saved. Requires properties:write and current expectedRevision; retains history and updates open property lists.

list_properties

ChatGPT
List accessible property IDs, names, image URLs and current revisions. share is null for a private property; otherwise it gives the mode, the shared revision and the publicUrl anyone can open. Use to locate the user's requested property, not to borrow another building as a template.

list_revisions

ChatGPT
List saved snapshots newest first, paginated with beforeRevision. All revisions from the last 24 hours are retained; older history keeps the final revision per Dubai calendar day. created_at records when the snapshot was replaced; current_from records when that revision became current (estimated for legacy history). Each action is the edit that replaced that snapshot; the current revision comes from get_property. Use to identify an undo target, including the start of a multi-call operation.

open_property_viewer

ChatGPT
Open the property's realistic interactive live viewer in this conversation. Call it as soon as the property exists and before visual work, then end the turn so the host can mount it. In later turns render_property uses it. An open website tab for the same account can also render and is preferred. Edits appear live. The assistant cannot see this canvas until render_property returns an image. Whether a viewer keeps rendering after it scrolls away depends on the host, so try render_property: if it says the viewer was hidden or stopped responding, ask the user to scroll back to it first; if that does not help, call this again to place a fresh one at the bottom of the chat, which replaces the old one. Sessions last 30 minutes. Do not reopen a viewer that is working.

place_product

ChatGPT
Add researched catalogue products as groups of primitive parts for a layout approximation. Pass one placement inline, or placements for several in a single revision rather than waiting on each other. Do not treat generic boxes as finished realistic furniture; prefer put_scene_nodes with detailed resource parts and realistic variants for final models. Positions are floor-local metres on the room’s floor (world-space for legacy single-floor properties); each part is relative to the group bottom. Ceiling placement uses ceilingDrop. Published changes appear live in open viewers.

put_scene_nodes

ChatGPT
Create or update scene nodes. parentId is required; omitted name/position/rotation/scale reset to defaults. Other omitted geometry/metadata generally persists; render/light/realistic accept null to clear authored fields. Read affected nodes first and map object/userData/appearance output to input fields, not raw objects. See get_authoring_guide editing and examples. All IDs are property-local; geometry must come from this property's source.

put_scene_resources

ChatGPT
Create or replace up to 20 validated geometry/material/texture resources. Blobs are immutable in R2; references and history change atomically at expectedRevision. Dependencies must exist or be included in the same batch. The batch is stored in parallel, so send related resources in one call rather than one call each.

remove_product

ChatGPT
Remove a shopping selection. Refuses when instances exist unless removeInstances is true.

remove_scene_node

ChatGPT
Remove a node and all its descendants. Catalogue entries remain.

remove_scene_resource

ChatGPT
Remove an unused resource from the current property manifest. Refuses dangling references; immutable blobs remain for historical revisions.

rename_property

ChatGPT
Rename the property. The new name appears on the account properties list and in the viewer heading and page title, updating open browsers live. Renaming does not change the model, its ID or its viewer URL. Requires properties:write and the current expectedRevision; it publishes one revision and is undone by restore_revision.

render_property

ChatGPT
See the actual property viewer in realistic appearance only: returns a JPEG MCP image plus captured revision, camera and rendering errors. Choose overview, plan or walkthrough, a named settings.presets perspective, optional floorId, roomId or custom camera, cutaway and furniture. One image per call, or pass cameras (up to four) to capture several viewpoints of one revision from a single scene load, which is most of a capture's cost. 800x600 by default and resizable, with bounded runtime and rate; no property changes. Renders only through an open website property tab for the same account or the chat viewer from open_property_viewer; there is no other renderer. If neither is ready it returns ok:false with a reason and a next instruction (usually: call open_property_viewer again, end the turn, then retry); follow it, and never infer availability from a host name. Use validate_property for placement, connectivity and layout questions. Not a route or VR test.

restore_revision

ChatGPT
Restore the entire saved property snapshot, including its name and resources, as a new revision. This is not selective undo: account for later/concurrent edits. Requires current expectedRevision and a saved target revision from list_revisions; current validation still applies.

update_property_image

ChatGPT
Set the image shown on the properties page to an image resource in this property, or pass imageResourceId:null to clear it. For a generated image download URL use import_property_image instead. Otherwise upload a PNG first with upload_scene_asset_chunk (kind:image) and commit_scene_asset_upload, then use the returned revision and resource ID. Requires properties:write and current expectedRevision; retains history and updates open property lists.

update_settings

ChatGPT
Replace the complete settings object; read it first and preserve unrelated fields. Optional rooms and authoring replace their entire values when supplied. Keep labels, floor geometry, navigation polygons and room references consistent. To change one field without restating presets, labels, polygons and notes, pass settingsPatch instead: its top-level keys are merged over the current settings and everything else is left alone. Requires current revision.

upload_scene_asset_chunk

ChatGPT
Stage immutable base64 asset chunks, each up to 65536 decoded bytes. Use a unique uploadId and totalParts, then either one zero-based part with data, or parts: up to 8 {part,data} entries of the same upload in one call. Staging does not publish data or advance the scene revision. Pending chunks expire after 24 hours. Where the model writes tool arguments itself, each full chunk is about 87,000 base64 characters of its output, which suits small textures rather than photographs or video; callers that encode in code have no such cost.

upsert_product

ChatGPT
Create or replace complete catalogue products; defaults apply to omitted fields. Pass product for one or products for several: a whole shopping list registers in one revision rather than waiting on the previous one each time. Prioritise researching real products externally, verify dimensions/finish/price and record direct product URLs, not category pages. Explicitly label any unresolved provisional item. Does not place geometry or resize existing instances. Use place_product for primitives or put_scene_nodes for detailed resource parts.

validate_property

ChatGPT
Inspect the current revision for solid intersections, candidate mesh collisions, room reachability, research-source gaps and missing realistic variants, and return a character plan of each floor's walkable surface. Call after shell construction and every furnishing batch, and before claiming completion. Far cheaper than render_property: prefer it for placement and connectivity questions and keep renders for appearance. Reports limitations; visual and VR checks are still required.

viewer_log

ChatGPT
Property viewer only: report the widget's own display, visibility and error events.

viewer_release

ChatGPT
Property viewer only: withdraw readiness on Stop, hide or teardown.

viewer_submit

ChatGPT
Property viewer only: complete or decline its assigned render job.

viewer_wait

ChatGPT
Property viewer only: one waiting call for revision changes and render jobs, up to 25 seconds.

Capabilities

WritesInteractive

Example Prompts

Click any prompt to copy it.

Similar Apps