MCP App Store
by KeenEthics
MimartLabs icon

MimartLabs

By TAHA CAGRI MEN

Get New App Alerts

Overview

Connect your MimartLabs account to create and edit architectural projects through ChatGPT. Build rooms, walls, doors, windows, roofs and stairs; inspect geometry and model validation; change surface materials; and work with CAD drawings, layers and dimensions. Generate floor plans, sections and elevations, arrange drawing sheets, export DXF and reopen saved results in the Mimart editor. The connection operates on projects your account can access.

Tools

add_dimension

ChatGPT
Place a construction dimension on the floor plan — the annotation a drawing is delivered with, not a one-off reading (that is measure). Give it walls and the dimension binds to their endpoints and follows them when they move; give it points for a free dimension. The dimension line is offset from the run automatically. A chain of connected walls becomes one continuous dimension string.

add_door

ChatGPT
Add a door to an existing wall. t/position is 0..1 along the wall: 0 = start, 0.5 = center, 1 = end.

add_drawing_dimension

ChatGPT
Writes a dimension entity into a CAD drawing. 'linear' measures along one axis (which one is decided by where the dimension line sits), 'aligned' measures the true distance between the points. For a dimension that follows the model when a wall moves, use add_dimension instead.

add_window

ChatGPT
Add a window to an existing wall. t/position is 0..1 along the wall; sillHeight is the height from floor to window bottom.

answer_editor_request

ChatGPT
Report back on a prompt you took with await_editor_request. The text lands in the editor next to what the user typed, so write it for them: what you changed, or what you found. Scene edits already reach the editor on their own — this is the sentence explaining them.

apply_parcel_to_site

ChatGPT
Applies a found parcel to the site node in the scene. Will replace the site polygon and update its location data.

apply_patch

ChatGPT
Apply a batch of create/update/delete operations atomically. All patches are validated before any are applied; the entire batch forms a single undo step.

await_editor_request

ChatGPT
Wait for the user to type something in the Pascal editor's agent box, and return it. This is how a prompt written in the editor reaches you — the editor cannot message you directly. When the user asks you to watch the editor, call this, act on whatever comes back using the other tools, report with answer_editor_request, then call this again to keep watching. A timeout is normal and means nothing arrived; just call again.

check_collisions

ChatGPT
Detect overlapping item footprints via a rotation-aware plan AABB test. Optionally scoped to a single level (items parented to that level).

create_drawing

ChatGPT
Creates a new blank 2D CAD drawing in the scene. Use this before adding CAD entities.

create_drawing_layer

ChatGPT
Adds a layer to a drawing. New geometry inherits the drawing's current layer, so pass makeCurrent to draw onto it next.

create_from_template

ChatGPT
Instantiate a seed Pascal scene template into the bridge. Regenerates all ids before applying. When save: true and a SceneStore is wired, also persists the new scene and returns the SceneMeta.

create_house_from_brief

ChatGPT
High-level hosted workflow for external agents: choose a starter house from a brief, create/save/publish it, and return the editor URL. Use semantic tools afterward for exact customization.

create_level

ChatGPT
Append a new level above the given building's current top level. height is stored as the level's floor-to-floor storey height.

create_project

ChatGPT
Create a browser-visible Pascal project for the authenticated user. Use this before save_scene when the user asks for a new project.

create_roof

ChatGPT
Create a roof container with one roof segment. By default creates a dedicated roof level above the reference level so exploded/solo level views can isolate the roof.

create_room

ChatGPT
Create a room on a level: zone, slab, ceiling, and one wall per polygon edge. Returns wallIds in polygon edge order.

create_sheet

ChatGPT
Creates a paper-space sheet — an ISO page with a margin and a title block — to place viewports of other drawings onto. The title block reads the project facts from the scene rather than storing copies, so leave owner and author empty unless the sheet declares its own.

create_stair_between_levels

ChatGPT
Create a straight stair and a single rectangular manual opening in the destination slab/source ceiling. This disables stair auto-opening mode to avoid duplicate or irregular holes.

create_story_shell

ChatGPT
Create one level-owned building shell from a footprint: perimeter walls plus optional slab and ceiling. Use once per story; do not make first-floor walls span multiple stories.

create_wall

ChatGPT
Create a new wall on the given level between two 2D points. Thickness and height default to the core library defaults when omitted.

cut_opening

ChatGPT
Cut a door or window opening into an existing wall. position is a parametric 0..1 offset along the wall centreline.

delete_drawing_layer

ChatGPT
Deletes a layer. Its entities move to 'into' when given; without it they move to the drawing's current layer — a layer is never deleted with its geometry, because that would lose work no undo names.

delete_node

ChatGPT
Delete a node. If it has children, pass cascade: true to delete descendants recursively.

delete_scene

ChatGPT
Delete a scene from the SceneStore by id. Optionally pass expectedVersion for optimistic concurrency.

describe_node

ChatGPT
Return a structured summary of a node including its ancestry, children IDs, key properties, and a short human description.

describe_node_type

ChatGPT
Get the field schema for a scene node kind, as JSON Schema, plus the paintable surfaces it exposes. Read this before using apply_patch to create a kind that has no dedicated tool — column, skylight, chimney, fence, elevator, cabinet, gutter, solar panel, vents, duct and pipe runs, structural grids, section planes, dimensions — and before paint_surfaces, for the kind's slot ids. Call with no arguments first for the index of every kind, then ask for the specific ones you need. Everything is read from the editor's own definitions, so it matches exactly what apply_patch and paint_surfaces accept.

duplicate_level

ChatGPT
Clone a level and all its descendants into a new subtree attached to the same building.

export_dxf

ChatGPT
Exports a CAD drawing to DXF string format.

export_json

ChatGPT
Return the scene as a serialized JSON string. Pass pretty: true to indent with 2 spaces.

find_nodes

ChatGPT
Find nodes matching any combination of type, parentId, levelId, or zoneId filters.

furnish_room

ChatGPT
Place furniture for a room type (levelId+polygon or zoneId). Skips or nudges poses that block door clear zones or overlap existing items (rotation-aware). Parent floor items to the level.

generate_elevation

ChatGPT
Produces the orthographic elevation of the model from one compass direction, or from all four at once, and files each as its own drawing document. Solids are graded into three lineweight bands by depth, and geometry a nearer solid hides is removed unless 'hiddenLines' says otherwise.

generate_plan

ChatGPT
Draws one level's floor plan from the model and files it as a new drawing document, one layer per node kind (A-DUVAR, A-KAPI, A-MAHAL …) so it can be restyled and printed like a hand-drawn plan. A floor plan is a horizontal section, so 'cutHeight' decides what is in it.

generate_section

ChatGPT
Cuts the model with a section-plane node and files the result as a new drawing document: cut outlines with poché, background geometry, and a storey line per level. Spans the whole building the plane's level belongs to, not just that level. Background geometry a nearer solid hides is removed unless 'hiddenLines' says otherwise.

generate_variants

ChatGPT
Generate N variations of a base scene by forking and applying seeded mutations. Example: "give me 5 variations of this kitchen". If save=true, each variant is persisted via scene operations and returned with an id + URL; otherwise the graph is returned inline.

get_buildable_area

ChatGPT
Gets the buildable area derived from the site polygon and setbacks (yapılaşma alanı).

get_level_summary

ChatGPT
Get a compact model-friendly summary of one level: counts plus walls, zones, slabs, ceilings, and items. Omit levelId to use the first level.

get_node

ChatGPT
Return the full node payload for the given ID.

get_project_status

ChatGPT
Authoritative status/debug call for a Pascal project: editor URL, browser-visible version, latest saved version, published version, node count, and graph hash.

get_scene

ChatGPT
Returns the full scene graph: flat node dictionary, root node IDs, and collections.

get_walls

ChatGPT
Get walls on a level with start/end coordinates, length, height, thickness, and child doors/windows. Omit levelId to use the first level.

get_zones

ChatGPT
Get room/zone polygons on a level with names, colors, bounds, and approximate areas. Omit levelId to use the first level.

list_comments

ChatGPT
Read the comment threads people have left on the scene — the feedback channel the model is reviewed through. Each thread carries where it is pinned, which node it is against, and any replies. Read this before reworking a plan someone has already looked at, and after finishing a change, to check nothing was asked for that you missed.

list_drawing_layers

ChatGPT
The drawing's layer table, with which one is current. Frozen means hidden and out of the snap scan; locked means visible but neither selectable nor editable.

list_levels

ChatGPT
List all levels in the current scene with ids, names, floor indices, and child counts.

list_materials

ChatGPT
List the finishes available to paint onto a node's surfaces — wood, stone, tile, brick, concrete, metal, fabric, flat colours — plus any the user authored inside this scene. Returns a ref for each, which is what paint_surfaces takes. Filter by category, by the surface being painted, or by a text query; call with no arguments for the category index. Read from the editor's own catalog, so every ref returned is real.

list_scenes

ChatGPT
List scenes in the SceneStore. Optionally filter by projectId and cap results with limit (default 100).

list_templates

ChatGPT
List the seed Pascal scene templates available to create_from_template. Returns the id, display name, one-line description and node count for each.

load_scene

ChatGPT
Load a scene from the SceneStore into the bridge. Returns the scene metadata. Throws scene_not_found if the id does not exist.

measure

ChatGPT
Measure distance (in meters) between two nodes, or the net area of a polygon node when fromId === toId.

paint_surfaces

ChatGPT
Apply a material to a surface of one or more nodes — wall faces, floor slabs, ceilings, doors, windows, stairs, columns, fences, cabinets, shelves, elevators, ducts. Get material refs from list_materials and slot ids from describe_node_type. The whole call is one undo step. Nodes whose surfaces come from a GLB (items) accept any slot id; read their existing slots with get_node to see which ones they use.

place_item

ChatGPT
Place a catalog item into the scene. Target a level/slab/zone for floor items, a wall for wall-attached items, or a ceiling for ceiling-attached items. Do not target the site node directly.

place_viewport

ChatGPT
Puts a window onto another drawing on a sheet, at a printed scale. Without a rectangle the window fills the sheet's printable area; the source is centred in it, so a plan lands framed rather than at the drawing's origin.

read_cad_drawing

ChatGPT
Parse a DXF asset belonging to the loaded Mimart scene and report its layers, units, extent and line work. The path must be its asset:// identifier; local server files, public URLs, and files merely attached to ChatGPT cannot be read. Inspect layers first, then request structural layer names and use the returned coordinates with create_wall. Confirm the declared drawing units before building.

read_drawing_entities

ChatGPT
Reads the entities of a CAD drawing, a page at a time. A drawing can hold a hundred thousand entities, so the whole of one does not fit in a reply — filter by layer or type and page through with 'offset'.

redo

ChatGPT
Redo the next N previously-undone steps (default 1). Returns the number of steps actually redone.

remove_drawing_entities

ChatGPT
Removes entities from a CAD drawing by handle.

rename_scene

ChatGPT
Rename a scene in the SceneStore. Returns the updated SceneMeta. Optionally pass expectedVersion for optimistic concurrency.

reply_to_comment

ChatGPT
Answer a comment thread, and optionally mark it resolved. Use this to close the loop after acting on feedback — say what you changed. Replies are not part of the undo history, so this never disturbs the scene.

save_scene

ChatGPT
Save the current scene (or a provided graph) to the SceneStore. Defaults to a browser-visible draft save so agents can iterate without creating many project versions. Use saveMode: "checkpoint" for meaningful version history.

search_assets

ChatGPT
Search the built-in MCP item catalog by keyword. Call before place_item when you need a valid catalogItemId.

search_parcel

ChatGPT
Search for a parcel (arazi/arsa) in TKGM by district/island/parcel or coordinates. Does NOT modify the scene.

set_setbacks

ChatGPT
Sets setbacks (çekme mesafesi) for the site edges (road, side, rear) and an optional default setback.

set_zone

ChatGPT
Create a polygonal zone on the given level. label is stored as the zone name and properties are merged into metadata.

undo

ChatGPT
Undo the most recent N steps in the scene history (default 1). Returns the number of steps actually undone.

update_drawing_layer

ChatGPT
Sets a layer's properties, or renames it. A rename repoints every entity on the layer, which is one edit, not two.

validate_scene

ChatGPT
Run Zod validation against every node in the scene. Returns { valid, errors } where each error has { nodeId, path, message }.

verify_scene

ChatGPT
High-level self-check after complex edits. Returns validation status, per-level room/content counts, empty levels, and practical layout issues.

write_drawing_entities

ChatGPT
Upserts entities into a CAD drawing. Coordinates use the drawing node unit, millimeters by default: inspect it with get_node and convert requested measurements before writing. The input schema describes each supported entity type.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps