allplan-mcp-bridge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_attributesC | Return all scalar attributes of an element. |
| set_attributesC | Set one or more attributes on an element. Participates in undo. |
| get_active_document_infoA | Return name, path, and units of the active Allplan document. |
| save_documentA | Save the active Allplan document to disk. |
| undoA | Undo the last operation in the active Allplan document. |
| redoA | Redo the last undone operation in the active Allplan document. |
| create_wallC | Create a wall element in the active Allplan document. Units: mm. Participates in undo. |
| create_slabA | Create a slab element from a polygon outline. Minimum 3 points. Units: mm. |
| create_columnC | Create a rectangular column element. Units: mm. |
| create_beamC | Create a beam element between two points. Units: mm. |
| get_elementA | Retrieve an element by UUID. Raises if not found. |
| delete_elementC | Delete an element by UUID. Participates in undo. |
| move_elementC | Translate an element by (dx, dy, dz) mm. Participates in undo. |
| define_gridA | Store or overwrite a named grid definition. x_lines: lines with X coordinates (vertical, parallel to the Y axis). y_lines: lines with Y coordinates (horizontal, parallel to the X axis). Each line has a name (e.g. "28", "A") and a coordinate_mm value. Units: mm. Call get_grid_lines to verify after defining. |
| list_gridsA | Return a summary of all defined grids. To get full line data for a specific grid, call get_grid_lines. |
| get_grid_linesA | Return all grid line names and coordinates for a named grid. Use this to resolve grid line names to mm coordinates before calling create_wall, create_column, or other placement tools. Example: X line "28" → coordinate_mm=28000 means x=28000 mm. |
| delete_gridC | Remove a grid definition by name. |
| copy_to_grid_positionA | Copy one or more elements to a new grid position. Computes the offset from (from_x_line → to_x_line) and/or (from_y_line → to_y_line), then re-creates each element at the offset position. Elements must have been created in this session (UUIDs are looked up in the in-memory spec cache). Example: copy a column from between X28–X29 to between X30–X31: from_x_line="28", to_x_line="30" → dx = X30 - X28 Returns a list of new ElementRef objects for the created copies. |
| healthA | Return server and agent health status. Reports: agent connection state, last heartbeat age (ms), queue depth, reconnect count since server start, and per-tool call/error counts with p50/p95/p99 latencies over the last 1000 samples. Read-only — no side effects on the Allplan document. |
| export_ifcC | Export model or selected elements to an IFC file. Path must be absolute, inside workspace. |
| import_ifcB | Import an IFC file into the active document. Path must be absolute, inside workspace. |
| list_layersA | Return all layers defined in the active Allplan document. |
| create_layerC | Create a new layer. Returns the created layer dict. |
| set_layer_visibilityB | Show or hide a layer by name. |
| assign_layerC | Assign an element to a layer by name. Participates in undo. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 25 tools
Each tool targets a distinct operation: element creation/modification, layer handling, grid management, I/O, document info, and undo/redo. No overlapping purposes; descriptions clearly differentiate them.
Most tools follow verb_noun snake_case (e.g., create_beam, list_layers), but a few deviate like 'health' (noun only) and 'copy_to_grid_position' (uses prepositions). Overall pattern is recognizable and consistent.
With 25 tools, the server is on the high side for a single-domain tool set. It covers many BIM operations, but the number is borderline and feels slightly heavy for a focused bridge.
The tool set covers essential CRUD and lifecycle operations for elements, layers, grids, and IFC import/export. Missing operations like updating element geometry or deleting layers are minor gaps that can be worked around.