
Pascal 3D Editor MCP Server: Setup for Claude, Cursor and Other Apps
Lets Claude, Cursor and Codex design and edit 3D building scenes in the Pascal editor.
This server lets your assistant create and change 3D building scenes: walls, rooms, doors, windows, stairs, roofs and furniture. You can run it on your computer, where scenes are saved in a local database, or use Pascal's hosted endpoint, which edits projects in a Pascal account and signs in with OAuth. The README recommends the Pascal command-line tool for local use, so the editor and the assistant share the same projects.
The assistant can delete objects and empty a project, so save a copy of work you care about.
Good for
- Architects and designers who sketch floor plans and rooms with an assistant
- Home renovators who want an assistant to lay out walls, doors and furniture
- Developers who build apps on the Pascal scene graph
- Anyone turning a floorplan image or room photo into an editable 3D model
Works in
14 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports hosted MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports hosted MCP servers.
Install Pascal 3D Editor MCP
Claude Code
- 1
Copy this prompt.
Add the Pascal 3D Editor MCP server to Claude Code. Run this command: pascal mcp setup claude Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js 22.23.4+, Pascal CLI: npm install --global @pascal-app/cli.
Two ways to connect. The Pascal CLI connector (pascal mcp connect) works on projects stored on your computer and needs no account; install the CLI first with npm install --global @pascal-app/cli. The hosted server works on projects in your Pascal account. Sign in with OAuth works for Claude and Cursor; other clients need an API key from Pascal Settings, sent as a Bearer header. The npx -y @pascal-app/mcp package is a third option: it runs only the MCP server, not the editor. Hosted configs for clients other than Claude Code, Codex, Cursor and VS Code are adapted from Pascal's generic mcp.json example, not shown for that client by Pascal.
From the project README. Source.
Tools
Returns the whole 3D scene
Returns the full scene graph, with every wall, room, item and level.
Try: “Show me everything in the current scene.”
Read ·
get_sceneOpens one object with its resolved details
Fetches one node by id, with the values the scene works out for it beside what is stored, such as a wall's real height.
Try: “What is the height of wall wall_3?”
Read ·
get_nodeFinds all objects of one kind
Finds nodes of a kind, items of a category, lights and parts inside doors and windows, narrowed by level, parent or zone.
Try: “Find every window on the first floor.”
Read ·
find_by_typeLists the floors of a building
Lists every building's levels in order, with their role and their position against the ground line.
Try: “List the floors in this building.”
Read ·
list_levelsSummarizes one floor
Gives a compact summary of one level: counts, walls with openings, zones with areas, slabs, ceilings, items, stairs and roofs.
Try: “Summarize the ground floor.”
Read ·
get_level_summaryLists the walls on a floor
Lists walls on a level with length, height and the doors and windows in each.
Try: “How long is each wall on level 1?”
Read ·
get_wallsLists rooms with areas
Lists room polygons with areas, bounds and floor choices.
Try: “What is the area of each room?”
Read ·
get_zonesShows the plot the building stands on
Describes the lot, its area, the buildable area inside the setbacks, and where a building stands on it.
Try: “How much of the lot can I build on?”
Read ·
get_sitePositions the building on its plot
Moves the building on its site, centred in the buildable area or at yards you give, without changing the walls.
Try: “Centre the house on the lot with a 5 m front yard.”
Write ·
place_buildingMeasures distance or area between objects
Returns the distance between two nodes' reference points, or an area where it applies.
Try: “How far is the sofa from the window?”
Read ·
measureRenders a picture of the building from an angle
Shows the finished building, every storey and the roof, from a viewpoint the assistant picks.
Try: “Show me the house from the street side.”
Read ·
view_sceneSearches the furniture and item library
Searches the item library with several queries at once, by name, id, category or tag.
Try: “Find a three-seat sofa in the library.”
Read ·
search_assetsShows pictures of library items
Returns pictures of 1 to 6 catalog items with their size, category and paintable surfaces.
Try: “Show me these two sofas side by side.”
Read ·
view_assetsSearches the materials library
Searches or browses the materials, such as wood, stucco or colours.
Try: “Find a light oak floor material.”
Read ·
search_materialsRecords what you asked for before furnishing
Reads your request as a brief with its size, pieces, style and materials. Placing or making furnishings is refused until a brief exists. It changes nothing in the scene.
Try: “Plan a cosy reading nook before placing anything.”
Read ·
design_briefPaints walls, floors, roofs and other surfaces
Gives surfaces a finish in one call: a colour, a material or a texture, as the editor's Paint does.
Try: “Paint the living room walls warm white.”
Write ·
paintCreates the outer walls of a floor
Creates one floor's perimeter walls from a footprint. Floors and ceilings follow from the rooms inside.
Try: “Create a 10 by 8 metre ground floor shell.”
Write ·
create_story_shellAdds a straight, L or U staircase
Creates a stair from one level to the next, cutting the floor openings it needs.
Try: “Add an L-shaped stair to the first floor.”
Write ·
create_stairChecks a staircase's steps and headroom
Reads risers, going, slope, headroom and design diagnostics for a stair.
Try: “Is this staircase comfortable to climb?”
Read ·
measure_stairRe-fits a staircase to even steps
Fits uniform risers or replaces the stair with a preset, in one undoable edit.
Try: “Even out the risers on this stair.”
Write ·
fit_stairPuts a roof on the top floor
Caps the top storey with a roof over its footprint, or over a rectangle you give.
Try: “Add a gable roof over the house.”
Write ·
create_roofMoves roofs to their proper level
Moves roofs held on a storey's walls to the level the roof rule gives them.
Try: “Tidy up the roofs so they sit on the roof level.”
Write ·
move_roofs_to_roof_levelDraws a room from a shape
Creates a room from a polygon, with one wall per edge and a room zone. Doors and windows can be added in the same call.
Try: “Make a 4 by 5 metre bedroom with a door on the south wall.”
Write ·
create_roomAdds a door to a wall
Places a door or an open passage on a wall, sliding it to stay on the wall.
Try: “Add a door in the middle of the north wall.”
Write ·
add_doorAdds a window to a wall
Places a window on a wall, centred vertically unless you give a sill height.
Try: “Add a two-pane window on the east wall.”
Write ·
add_windowAdds a window that wraps a corner
Adds a window across the corner where two walls meet.
Try: “Put a corner window in the living room.”
Write ·
add_corner_windowJoins two windows into one
Merges two existing windows into one window, as the editor's Merge windows button does.
Try: “Merge those two windows into a corner window.”
Write ·
merge_windowsFurnishes a room from the library
Places a main piece and the rest of the furniture for a room type from the item catalog, nudging pieces that do not fit.
Try: “Furnish the living room.”
Write ·
furnish_roomPlaces library items at chosen spots
Places catalog items in one call, each placed or refused on its own, on the floor or on a wall, ceiling or another item.
Try: “Place a desk and a chair in the study.”
Write ·
place_itemsCreates a custom-designed piece
Creates one procedural design that passes validation and mounts it on a floor, wall face or ceiling.
Try: “Make a custom bookshelf on the north wall.”
Write ·
place_designApplies many scene edits in one step
Applies a batch of create, update, delete and move operations, validated and dry-run before commit.
Try: “Create these four walls and move the door in one go.”
Delete ·
apply_patchAdds a floor
Adds an empty level to a building, on top of its storeys or below as a basement.
Try: “Add a basement.”
Write ·
add_levelCopies a floor
Copies a level above or below and shifts the floors past it.
Try: “Copy the first floor as a second floor.”
Write ·
duplicate_levelMarks which floor is the ground floor
Makes a level the building's ground floor and seats the building over grade.
Try: “Make this level the ground floor.”
Write ·
set_ground_levelAdds a wall or railing
Adds a straight or curved wall to a level, or a railing guard.
Try: “Add a curved wall along the garden side.”
Write ·
add_wallChanges a wall's construction
Applies a preset or project wall assembly to existing walls.
Try: “Make the outer walls insulated brick.”
Write ·
set_wall_typeAdds a column or post
Adds or rebuilds a column, such as a post in a chosen size and base.
Try: “Add a 6x6 post at the porch corner.”
Write ·
add_columnAdds a fence
Adds a fence along points on a level, optionally closed back to the first point.
Try: “Fence the lot boundary.”
Write ·
add_fenceDefines a room area
Creates a zone polygon on a level, or names the room that walls already enclose.
Try: “Label the room by the entrance 'Hall'.”
Write ·
set_zoneGroups rooms into an apartment or suite
Creates a unit such as an apartment or hotel room that holds zones from any level of a building.
Try: “Create apartment 1A from these rooms.”
Write ·
create_unitChanges which rooms belong to a unit
Replaces the zones a unit holds. A zone left out becomes common area.
Try: “Move the hallway into the common area.”
Write ·
set_unit_membersLists the units of a building
Lists units with their member zones, level span and gross area.
Try: “Show the area of each apartment.”
Read ·
list_unitsDeletes an object and everything under it
Deletes a node with everything under it, as the editor's Delete does. The step can be undone.
Try: “Delete that wall.”
Delete ·
delete_nodeEmpties the whole project
Empties the project back to the default site, building and level. It is the only way to empty a project.
Try: “Clear the scene and start over.”
Delete ·
clear_sceneUndoes the last change
Steps back through the scene's history.
Try: “Undo that last edit.”
Write ·
undoRedoes an undone change
Steps forward through the scene's history.
Try: “Redo it.”
Write ·
redoExports the scene as JSON
Serializes the scene graph as JSON.
Try: “Export the scene as JSON.”
Read ·
export_jsonExports a 3D model file (not working headlessly)
The README says GLB export is stubbed because it needs the browser renderer.
Try: “Export this as a GLB.”
Read ·
export_glbChecks a custom design
Read-only check of a design that measures it and validates it against the schema.
Try: “Check this bookshelf design.”
Read ·
validate_designChecks the whole scene for problems
Runs the scene check for schema validity, counts, empty levels and practical issues.
Try: “Check the scene for problems.”
Read ·
verify_sceneFinds overlapping or out-of-bounds items
Finds overlapping items and placements outside bounds.
Try: “Do any items overlap?”
Read ·
check_collisionsReads a floorplan picture
Vision tool that extracts walls, rooms and approximate sizes from a floorplan image. It needs a client that supports sampling.
Try: “Build the walls from this floorplan image.”
Read ·
analyze_floorplan_imageReads a room photo
Vision tool that extracts approximate dimensions and fixtures from a room photo. It needs a client that supports sampling.
Try: “Estimate this room's size from the photo.”
Read ·
analyze_room_photoOpens a saved scene
Loads a saved scene so later edits apply to it. The README names this tool for editors that share the same local data folder.
Try: “Load my saved apartment scene.”
Read ·
load_scene
Read from the source code
Permissions
high risk · 3 things to watch
High risk
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can delete objects and empty a project
One tool deletes a node and everything under it, another clears the whole scene, and a batch tool can delete many. A deleted node can be undone, but clearing the scene removes the undo history, so keep a copy of important projects. github.com
Local script compilation can run code
If you turn on PASCAL_SERVER_SCRIPT_COMPILE=1, scripted objects compile in a separate process that the README says is not a sandbox. Leave it off for untrusted scripts. github.com
Use one assistant per local service
The standalone local runtime shares scene state between clients, so two assistants editing at once can conflict. Use separate data folders if you need that. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Talks to | Hosted endpoint at editor.pascal.app, when you use it. Local use stores scenes at ~/.pascal/data/pascal.db |
|---|---|
| Sign-in and keys | The local connector needs no account or API key. The hosted server signs in with OAuth. |
| Data retention | Local scenes stay in a SQLite file on your computer. Hosted retention is not documented. |
| Scopes |
|
Questions
Is Pascal MCP free?
The local server is open source under the MIT license and needs no account. The hosted endpoint edits projects in a Pascal account, so check Pascal's own plans for that.
Should I use the local server or the hosted one?
Use the local one for private projects on your computer, with no account. Use the hosted one when your projects live in a Pascal account or organization. Both are in the install box above.
What does the Pascal command-line tool add?
The README recommends installing it and running the editor with it, so the editor and your assistant share projects automatically. Your assistant then launches a small connector command instead of a package.
Can it turn a floorplan image into a 3D model?
It has tools that read a floorplan image or a room photo and extract walls, rooms and sizes. They need an app that supports sampling, which the README says Claude Desktop does and some others do not.
Can it export a 3D file?
It can export the scene as JSON. The README says exporting a GLB file does not work in the headless server because it needs the browser renderer.
Can it delete my work?
Yes. It can delete objects and clear a whole project. Deleting a node can be undone from history, but clearing the scene removes the undo history, so keep copies of important projects.
Is this list of tools complete?
No. It follows the tools table in the README. The source has more, such as ones that save, list and rename scenes, so you may see more in your client.
Information
updated Nov 2, 2026
- Publisher
- Official
- Package
@pascal-app/mcp- Registry
- npm
- Endpoint
https://editor.pascal.app/api/mcp- Transport
- stdio, Streamable HTTP
- Auth
- OAuth
- Version
- 1.0.6
- License
- MIT
- Last commit
- Oct 30, 2026
- Open issues
- 27
- Listed in
- Official MCP registry
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 4Hide
- Pascal MCP README · github.com
- Pascal: Connect an AI agent · editor.pascal.app
- Pascal Editor README · github.com
- Pascal MCP tool sources · github.com