Roomproof
Ce que fait ce MCP
Creates and validates scaled room layouts with furniture placement, dimensions, openings, walkways and door-swing checks.
Outils
Schéma d’entrée
{'type': 'object', 'required': ['project'], 'properties': {'key': {'type': 'string', 'description': 'Purchase token rp_ plus 20 characters, from the purchase confirmation. Required on projects you created, not on beispiel-wohnzimmer. Not the project id.'}, 'project': {'type': 'string', 'description': 'Plan id from create_room, or beispiel-wohnzimmer.'}, 'variant': {'type': 'string', 'description': 'Variant id from a previous response; default the newest.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'key': {'type': 'string', 'description': 'Purchase token rp_ plus 20 characters, from the purchase confirmation. Required on projects you created, not on beispiel-wohnzimmer. Not the project id.'}, 'name': {'type': 'string', 'description': 'Name of the plan, e.g. Living room. Default My room.'}, 'depth_m': {'type': 'number', 'description': 'Depth in meters (top to bottom), 0.3 to 200.'}, 'width_m': {'type': 'number', 'description': 'Width in meters (left to right), 0.3 to 200.'}, 'openings': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'wall', 'center'], 'properties': {'kind': {'enum': ['door', 'window'], 'type': 'string', 'description': 'door or window.'}, 'wall': {'enum': ['left', 'right', 'top', 'bottom'], 'type': 'string', 'description': 'The wall the opening sits in, as seen on the plan.'}, 'hinge': {'enum': ['left', 'right'], 'type': 'string', 'description': 'Doors only: the end that carries the hinges, default left. Omit for windows.'}, 'width': {'type': 'number', 'description': 'Width in meters, 0.4 to 6. Default 0.9 for a door, 1.2 for a window.'}, 'center': {'type': 'number', 'description': "Center of the opening in meters along that wall, measured from the wall's top-left end: from the left end on the top and bottom walls, from the top end on the left and right walls."}}}, 'description': 'All doors and windows of the room. The swing area of every door becomes a blocked area that furniture must keep clear.'}, 'rectangles': {'type': 'array', 'items': {'type': 'object', 'required': ['x', 'y', 'w', 'h', 'kind'], 'properties': {'h': {'type': 'number', 'description': 'Height in meters, 0.3 to 200.'}, 'w': {'type': 'number', 'description': 'Width in meters, 0.3 to 200.'}, 'x': {'type': 'number', 'description': 'Left edge in meters.'}, 'y': {'type': 'number', 'description': 'Top edge in meters.'}, 'kind': {'enum': ['add', 'cut'], 'type': 'string'}}}, 'description': "Instead of width_m and depth_m: 1 to 12 partial areas in meters. kind add joins the area, kind cut removes it. x, y is the rectangle's top-left corner, w, h its size."}}}
Schéma d’entrée
{'type': 'object', 'required': ['project', 'piece'], 'properties': {'x': {'type': 'number', 'description': 'New piece center, horizontal, in meters. Send with y.'}, 'y': {'type': 'number', 'description': 'New piece center, vertical, in meters. Send with x.'}, 'key': {'type': 'string', 'description': 'Purchase token rp_ plus 20 characters, from the purchase confirmation. Required on projects you created, not on beispiel-wohnzimmer. Not the project id.'}, 'rot': {'type': 'number', 'description': 'New rotation in degrees clockwise.'}, 'index': {'type': 'integer', 'description': 'If several pieces share the name: which one, counted from 1 in list order. Default 1.'}, 'piece': {'type': 'string', 'description': 'Display name from placed, furniture or issues in the last place_furniture, show_plan or check_plan response, e.g. 3-seat sofa. Not the catalog id.'}, 'remove': {'type': 'boolean', 'description': 'true removes the piece; x, y and rot are then ignored.'}, 'project': {'type': 'string', 'description': 'Plan id from create_room, or beispiel-wohnzimmer.'}, 'variant': {'type': 'string', 'description': 'Variant id from a previous response; default the newest.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['project'], 'properties': {'key': {'type': 'string', 'description': 'Purchase token rp_ plus 20 characters, from the purchase confirmation. Required on projects you created, not on beispiel-wohnzimmer. Not the project id.'}, 'new': {'type': 'boolean', 'description': 'true creates a new view_url and invalidates the previous share link. Only if the user wants that.'}, 'project': {'type': 'string', 'description': 'Plan id from create_room.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['project'], 'properties': {'key': {'type': 'string', 'description': 'Purchase token rp_ plus 20 characters, from the purchase confirmation. Required on projects you created, not on beispiel-wohnzimmer. Not the project id.'}, 'keep': {'type': 'boolean', 'description': 'Default false: the new pieces replace everything in the plan. true adds them to the pieces already there.'}, 'name': {'type': 'string', 'description': 'Name of the saved variant, default Draft.'}, 'wish': {'type': 'string', 'description': 'One sentence describing the room, e.g. a living room for four with a reading corner. Only without spots and placement.'}, 'spots': {'type': 'array', 'items': {'type': 'object', 'properties': {'at': {'type': 'string', 'description': 'Rough position, exactly one of: wall:top, wall:bottom, wall:left, wall:right, corner:top-left, corner:top-right, corner:bottom-left, corner:bottom-right, near:door, near:<piece name from this list>, free. Default free.'}, 'link': {'type': 'string', 'description': 'Product link from read_product, unchanged. Custom pieces only.'}, 'name': {'type': 'string', 'description': 'Custom piece instead of catalog, e.g. from read_product. Then width_mm and depth_mm are required.'}, 'price': {'type': 'number', 'description': 'Price from read_product, unchanged. Custom pieces only.'}, 'catalog': {'type': 'string', 'description': 'Catalog id from show_catalog, an ASCII slug such as sofa-3-plaetzer. Copy it, never translate or invent it.'}, 'depth_mm': {'type': 'number', 'description': 'Depth in millimeters, 50 to 10000. The side going into the room.'}, 'width_mm': {'type': 'number', 'description': 'Width in millimeters (a sofa is 1600 to 2600, never 2.0), 50 to 10000. The longer side seen from the front.'}, 'height_mm': {'type': 'number', 'description': 'Height in millimeters, if known. Custom pieces only.'}}}, 'description': 'Preferred. 1 to 40 pieces, each with catalog or with name plus width_mm and depth_mm, plus at. Larger pieces are placed first.'}, 'blocked': {'type': 'array', 'items': {'type': 'object', 'required': ['x', 'y', 'w', 'h'], 'properties': {'h': {'type': 'number'}, 'w': {'type': 'number'}, 'x': {'type': 'number'}, 'y': {'type': 'number'}, 'name': {'type': 'string', 'description': 'Shown on the plan, e.g. Radiator.'}}}, 'description': "Rectangles that must stay free (radiator, wall cupboard, walkway): x, y, w, h in meters from the room's top-left corner, not piece centers. Door swings are added automatically."}, 'outdoor': {'type': 'boolean', 'description': 'With wish only: limit the model to outdoor furniture, for terraces and balconies.'}, 'project': {'type': 'string', 'description': 'Plan id from create_room, or beispiel-wohnzimmer.'}, 'placement': {'type': 'array', 'items': {'type': 'object', 'required': ['x', 'y'], 'properties': {'x': {'type': 'number', 'description': 'Piece center, horizontal, in meters from the left wall.'}, 'y': {'type': 'number', 'description': 'Piece center, vertical, in meters from the top wall.'}, 'rot': {'type': 'number', 'description': 'Rotation in degrees clockwise, default 0. 90 turns the width along the left/right walls.'}, 'link': {'type': 'string', 'description': 'Product link from read_product, unchanged. Custom pieces only.'}, 'name': {'type': 'string', 'description': 'Custom piece instead of catalog, e.g. from read_product. Then width_mm and depth_mm are required.'}, 'price': {'type': 'number', 'description': 'Price from read_product, unchanged. Custom pieces only.'}, 'catalog': {'type': 'string', 'description': 'Catalog id from show_catalog, an ASCII slug such as sofa-3-plaetzer. Copy it, never translate or invent it.'}, 'depth_mm': {'type': 'number', 'description': 'Depth in millimeters, 50 to 10000. The side going into the room.'}, 'width_mm': {'type': 'number', 'description': 'Width in millimeters (a sofa is 1600 to 2600, never 2.0), 50 to 10000. The longer side seen from the front.'}, 'height_mm': {'type': 'number', 'description': 'Height in millimeters, if known. Custom pieces only.'}}}, 'description': 'Exact positions from the user, 1 to 60 pieces. Each with catalog or with name plus width_mm and depth_mm, plus x, y (meters to the piece center) and rot. Nothing is nudged: a piece that sticks out or overlaps is rejected.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['input'], 'properties': {'input': {'type': 'string', 'description': 'A product URL, or the pasted text of the product page.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['project', 'openings'], 'properties': {'key': {'type': 'string', 'description': 'Purchase token rp_ plus 20 characters, from the purchase confirmation. Required on projects you created, not on beispiel-wohnzimmer. Not the project id.'}, 'project': {'type': 'string', 'description': 'Plan id from create_room.'}, 'openings': {'type': 'array', 'items': {'type': 'object', 'required': ['kind', 'wall', 'center'], 'properties': {'kind': {'enum': ['door', 'window'], 'type': 'string', 'description': 'door or window.'}, 'wall': {'enum': ['left', 'right', 'top', 'bottom'], 'type': 'string', 'description': 'The wall the opening sits in, as seen on the plan.'}, 'hinge': {'enum': ['left', 'right'], 'type': 'string', 'description': 'Doors only: the end that carries the hinges, default left. Omit for windows.'}, 'width': {'type': 'number', 'description': 'Width in meters, 0.4 to 6. Default 0.9 for a door, 1.2 for a window.'}, 'center': {'type': 'number', 'description': "Center of the opening in meters along that wall, measured from the wall's top-left end: from the left end on the top and bottom walls, from the top end on the left and right walls."}}}, 'description': 'All doors and windows of the room, 0 to 20. Replaces the existing list completely.'}}}
Schéma d’entrée
{'type': 'object', 'properties': {'group': {'type': 'string', 'description': 'Optional filter. Must be one of the strings in groups from a previous show_catalog response, e.g. Living or Outdoor.'}}}
Schéma d’entrée
{'type': 'object', 'required': ['project'], 'properties': {'key': {'type': 'string', 'description': 'Purchase token rp_ plus 20 characters, from the purchase confirmation. Required on projects you created, not on beispiel-wohnzimmer. Not the project id.'}, 'project': {'type': 'string', 'description': 'Plan id from create_room, or beispiel-wohnzimmer.'}, 'variant': {'type': 'string', 'description': 'Variant id from a previous response; default the newest.'}}}
Modifications récentes des outils
Serveurs MCP similaires
GripForge
Generates, rigs, animates, analyzes, and packages game characters, weapons, armor, effects, environments, and engine-ready assets.
MiOffice — AI-Powered Workspace Studio
Provides browser-based tools for processing PDFs, images, video, and audio, including generation, enhancement, conversion, transc…
BlitzReels Video Editor
Creates and edits short-form videos, including timelines, captions, transitions, AI-generated visuals, music, voiceovers, sound e…
Morpha
Enables creating, animating, and exporting layered short-form video projects.
Colour Memory
Provides historical color archive research, color analysis, accessibility checks, cultural context, and brand palette and asset g…
spriteship
Generates and manages 2D game characters, assets, animations, tilesets, UI packs, maps, and engine-ready exports for multiple gam…
switch
Enables management and exploration of an account-scoped library of AI-generated images and videos.
framesail
Creates long-form YouTube videos through script generation, storyboarding, visual assets, voiceover, music, scene composition, an…