MCP Connector MicroStation Documentation
How to install, configure, and use MCP Connector MicroStation to connect AI clients like Claude Desktop, Claude Code, Cursor, and VS Code to Bentley MicroStation via Model Context Protocol.
MCP Connector MicroStation connects AI assistants to a live Bentley MicroStation session on your machine. Once connected, your AI can read and author the design file: scan elements, create and modify geometry, manage levels, cells, references and annotation, and build 3D SmartSolids. Two parts ship together and talk over a local connection: an MCP server your AI client launches, and a plug-in that loads inside MicroStation. Nothing needs to be configured between them.
Requirements
- Bentley MicroStation 2023 to 2026 (Windows, 64-bit)
- The connector runs as a managed AddIn inside MicroStation, so MicroStation itself must be installed on the same machine.
- Windows 10 or 11
AI Applications
- Claude Desktop
- Claude Code
- Cursor
- VS Code
- Any other MCP client (via manual configuration below)
Installation
Close MicroStation before starting the installation.
MCPCONNECTOR_STATUS at the command line; if it is not running, type MCPCONNECTOR_START.Connect Your AI Client
The MCP server is a single executable installed with the plug-in bundle:
C:\ProgramData\AUTOM8LABS\MCPConnectorMicroStation\Bridge\MCPConnectorMicroStation.Bridge.exe
Claude Desktop and Cursor
The installer registers the server automatically in Claude Desktop
(claude_desktop_config.json) and Cursor (.cursor\mcp.json).
Just restart the client after installing. If you ever need to add it by hand, use the
JSON below.
Manual configuration (any MCP client)
Add this to your client's MCP server configuration:
{
"mcpServers": {
"AUTOM8LABS_MicroStation": {
"command": "C:\\ProgramData\\AUTOM8LABS\\MCPConnectorMicroStation\\Bridge\\MCPConnectorMicroStation.Bridge.exe"
}
}
}
Claude Code
Register the same executable from a terminal:
claude mcp add AUTOM8LABS_MicroStation -- "C:\ProgramData\AUTOM8LABS\MCPConnectorMicroStation\Bridge\MCPConnectorMicroStation.Bridge.exe"
VS Code
Add the server to your MCP configuration (for example .vscode/mcp.json in a workspace):
{
"servers": {
"AUTOM8LABS_MicroStation": {
"type": "stdio",
"command": "C:\\ProgramData\\AUTOM8LABS\\MCPConnectorMicroStation\\Bridge\\MCPConnectorMicroStation.Bridge.exe"
}
}
}
After changing MCP configuration, restart the AI client completely for the changes to take effect.
Optional: raw key-in execution
The send_keyin tool runs a raw MicroStation key-in as if typed at the key-in
browser. Because a key-in can drive any MicroStation command, it is disabled by
default: the tool still appears in the AI client's tool list, but every call is
refused by the MicroStation plug-in until you opt in on that machine by setting
MCP_CONNECTOR_ENABLE_COMMAND_EXEC=1 in the MCP client configuration. The
refusal happens inside MicroStation, not in the MCP server, so it cannot be bypassed by
editing client-side configuration. Leave it switched off unless you specifically need it.
Once enabled, the AI can issue any key-in the running MicroStation session accepts, so
treat it as you would giving someone the keyboard.
{
"mcpServers": {
"AUTOM8LABS_MicroStation": {
"command": "C:\\ProgramData\\AUTOM8LABS\\MCPConnectorMicroStation\\Bridge\\MCPConnectorMicroStation.Bridge.exe",
"env": {
"MCP_CONNECTOR_ENABLE_COMMAND_EXEC": "1"
}
}
}
}
Free vs Pro
Two editions ship in one install:
- Free (31 tools) is read-only inspection: a connectivity check, plus tools that scan elements, read properties, ranges and tags, list levels, models, cells, references, saved views, dimension styles and paper sizes, and navigate the view with zoom, fit and rotate. Nothing in the free edition creates, modifies, or maintains the design file. No key is needed; it just works.
- Pro (85 tools) unlocks everything else: geometry and cell placement, 3D SmartSolid modelling with booleans and feature editing, transforms and symbology, annotation and dimensioning, level management with DGNLIB standards checking, reference authoring, camera and fence control, batch DGN to DWG conversion, print to PDF, and file housekeeping.
Pro is a per-seat subscription: £10 per seat per month or £100 per seat per year. See the product page for purchasing.
In the tool reference below, every tool is marked Free or Pro. On a free install, Pro tools are not listed to the AI client at all, and the MicroStation plug-in refuses to execute them, so there is no way to run a paid tool without a valid licence.
The MCP server reads the edition when your AI client starts it. After activating or deactivating a licence, restart (or reconnect) the AI client to refresh the tool list.
Licence Activation and Management
Licensing lives entirely in the MicroStation plug-in. There is no key to set in the AI client.
MCPCONNECTOR_LICENCE command.- One seat per machine. A seat covers every AI client on that machine: Claude Desktop, Claude Code, Cursor, VS Code, and any other MCP client.
- Moving machines. Click Deactivate in the licence dialog to free the seat, then activate on the new PC.
- Working offline. A validated key is honoured offline for 14 days, so short offline stretches never block your work.
Quickstart
MCPCONNECTOR_STATUS confirms it is running.ping tool. You should get back "Connected to MicroStation."Tool Reference
All 116 tools, grouped by category. The Edition column shows whether a tool is available in the free edition or needs a Pro licence. Tool names are what the AI sees, so you can also ask for a tool by name. Coordinates are in master units throughout.
Connectivity
1 tool, all free
| Tool | Description | Edition |
|---|---|---|
ping | Check connectivity to the MicroStation MCP Connector | Free |
Files and Models
12 tools, 3 free
| Tool | Description | Edition |
|---|---|---|
get_file_info | Get information about the active DGN file: file path and number of models | Free |
get_model_info | Get information about the active model: name, description, 2D/3D type, and UOR unit conversion factors | Free |
list_models | List all models in the active DGN file | Free |
create_design_file | Create a new design file from a seed file | Pro |
open_design_file | Open a design file (DGN or DWG), replacing the currently active file | Pro |
save_design_file | Save the active design file in place, committing pending changes to disk | Pro |
save_design_file_as | Write the active design file to a new DGN path | Pro |
save_as_dwg | Write the active design file out as a DWG at the given path, using the current DWG save options | Pro |
batch_save_as_dwg | Convert many design files to DWG in one pass, writing each output into a target folder | Pro |
compress_design | Compress the active design file to remove deleted-element space and unused data (the same operation as File > Compress) | Pro |
data_cleanup | Run the Data Cleanup utility on the active design file (Utilities > Data Cleanup): processes duplicate and overlapping elements according to the utility's current settings on this machine | Pro |
purge_unused | Delete unused resources from the active design file: levels, fonts, line styles, dimension styles, and/or text styles | Pro |
Elements and Selection
9 tools, 8 free
| Tool | Description | Edition |
|---|---|---|
scan_elements | Scan for elements in the active MicroStation model with optional filters by level and element type | Free |
count_elements | Count elements in the ACTIVE MODEL, optionally filtered by level or type. 'total' is the answer to "how many elements are in this model"; 'counts' is a per-type breakdown for when the caller asked about a particular kind of element | Free |
find_elements_in_range | Find elements within a bounding box range | Free |
get_element_info | Get detailed information about a specific element by its ElementId | Free |
get_element_properties | Get all properties of an element: color, weight, line style, level, transparency | Free |
get_element_range | Get the bounding box (range) of a specific element | Free |
get_selected_geometry | Extract portable geometry from current MicroStation selection in master units | Free |
get_selection_count | Get the number of elements currently selected in MicroStation | Free |
delete_element | Delete an element by its ElementId | Pro |
Tags
3 tools, 2 free
| Tool | Description | Edition |
|---|---|---|
list_tag_sets | List the tag set definitions in the active file with their member tag names, data types, prompts and default values - the schema behind set_element_tag | Free |
get_element_tags | Read every tag (attribute) on an element: tag set name, tag name, current value and data type | Free |
set_element_tag | Set the value of a tag (attribute) on an element and save it - how a titleblock drawing number, title, date or revision field gets updated | Pro |
Geometry Creation
7 tools, all Pro
| Tool | Description | Edition |
|---|---|---|
create_line | Create a line element between two points in MicroStation | Pro |
create_line_string | Create a line string (polyline) from a list of points in MicroStation | Pro |
create_arc | Create an arc element in MicroStation defined by center, radius, start angle, and sweep | Pro |
create_circle | Create a circle element in MicroStation | Pro |
create_ellipse | Create an ellipse element in MicroStation | Pro |
create_shape | Create a closed shape (polygon) from points in MicroStation | Pro |
create_text | Place a text element in MicroStation | Pro |
Cells
4 tools, 1 free
| Tool | Description | Edition |
|---|---|---|
list_cells | List the cells available in the attached cell library, with name and description, so a cell can then be placed by name with place_cell | Free |
create_cell | Place a cell (block) instance in MicroStation from the active cell library | Pro |
place_cell | Place a named cell from the attached cell library at explicit coordinates - the way a titleblock is stamped onto a sheet | Pro |
attach_cell_library | Attach a cell library file so its cells can be placed by name | Pro |
3D SmartSolids
12 tools, all Pro
| Tool | Description | Edition |
|---|---|---|
create_smart_solid_box | Create a box solid in MicroStation | Pro |
create_smart_solid_cone | Create a cone solid in MicroStation, built along the Z axis | Pro |
create_smart_solid_cylinder | Create a cylinder solid in MicroStation | Pro |
create_smart_solid_sphere | Create a sphere solid in MicroStation | Pro |
create_smart_solid_torus | Create a torus solid in MicroStation | Pro |
create_smart_solid_wedge | Create a wedge solid in MicroStation: a circular sector of the given radius and angle, extruded to the given height | Pro |
extrude_profile | Extrude a closed planar element - a shape, circle, ellipse or closed complex chain - into a solid, perpendicular to the profile's own plane | Pro |
revolve_profile | Revolve a planar profile about an axis to make a solid of revolution | Pro |
loft_profiles | Loft a solid through two or more profiles in the order given, so the shape transitions from one cross-section to the next | Pro |
sweep_profile_along_path | Sweep a closed planar profile along a path element to make a solid | Pro |
convert_to_smart_solid | Convert an element into a solid body so the solid operations can accept it | Pro |
query_solid | Inspect a solid: volume, body kind, bounding range, and the pick points needed to target its faces and edges | Pro |
Solid Booleans and Feature Editing
9 tools, all Pro
| Tool | Description | Edition |
|---|---|---|
solid_union | Combine two or more solids into a single body | Pro |
solid_subtract | Cut one or more solids out of a target solid | Pro |
solid_intersect | Keep only the volume shared by two or more solids | Pro |
fillet_solid_edges | Round off one or more edges of a solid to a given radius | Pro |
chamfer_solid_edge | Bevel one edge of a solid | Pro |
fillet_face_edges | Round off every edge bounding one face of a solid in a single operation | Pro |
shell_solid | Hollow a solid out, leaving walls of the given thickness | Pro |
offset_solid_face | Push or pull one face of a solid along its own normal, growing or shrinking the body | Pro |
remove_solid_face | Delete one face of a solid, extending the surrounding faces to close the gap | Pro |
Transform and Modify
6 tools, all Pro
| Tool | Description | Edition |
|---|---|---|
move_element | Move an element by a translation vector | Pro |
copy_element | Copy an element with a translation offset | Pro |
rotate_element | Rotate an element around a center point by an angle in degrees (about the Z axis) | Pro |
scale_element | Scale an element uniformly from a center point | Pro |
mirror_element | Mirror an element across a line defined by two points | Pro |
array_element | Create a rectangular array of an element with specified rows, columns, and spacing | Pro |
Element Symbology
5 tools, all Pro
| Tool | Description | Edition |
|---|---|---|
set_element_color | Set the color of an element by color index (0-255) | Pro |
set_element_level | Move an element to a different level | Pro |
set_element_style | Set the line style of an element by style ID | Pro |
set_element_weight | Set the line weight of an element (0-31) | Pro |
set_element_transparency | Set the transparency of an element (0.0=opaque, 1.0=fully transparent) | Pro |
Levels
8 tools, 2 free
| Tool | Description | Edition |
|---|---|---|
list_levels | List all levels in the active MicroStation model with name, number, usage, and display status | Free |
get_level_usage | Count the number of elements on a specific level | Free |
create_level | Create a new level in the active model | Pro |
delete_level | Delete a level | Pro |
rename_level | Rename a level by its current name | Pro |
set_active_level | Set the active level for new element placement | Pro |
set_level_display | Show or hide a level in the active view | Pro |
set_all_levels_display | Turn level display on or off in bulk | Pro |
Standards and DGNLIB
5 tools, all Pro
| Tool | Description | Edition |
|---|---|---|
sync_levels_from_dgnlib | Update the active file's levels from the attached DGNLIB standards libraries (dgnlib update levels) | Pro |
check_level_standards | Check if levels in the active model match a DGNLIB standards file | Pro |
check_text_standards | Check text elements for standards compliance: minimum height, allowed fonts, and text styles | Pro |
list_non_standard_levels | Find all levels in the active model that are NOT in the attached DGNLIB standards | Pro |
generate_standards_report | Generate a comprehensive CAD standards compliance report covering levels, text, symbology, and references | Pro |
Annotation and Dimensions
6 tools, 1 free
| Tool | Description | Edition |
|---|---|---|
list_dimension_styles | List the named dimension styles in the active file, with their note alignment settings | Free |
set_active_dimension_style | Set the active dimension style by name, so later dimensions and notes inherit it | Pro |
place_dimension | Place a dimension across a run of points | Pro |
dimension_element | Dimension the overall extents of an existing element | Pro |
place_note | Place a note with a leader | Pro |
align_notes | Line existing notes up into a tidy column by moving each note's text to a common X, leaving every leader still pointing at its target | Pro |
References
9 tools, 2 free
| Tool | Description | Edition |
|---|---|---|
list_references | List all reference attachments in the active model with file path, logical name, and display status | Free |
get_reference_info | Get detailed information about a specific reference attachment | Free |
attach_reference | Attach a DGN or DWG file as a reference to the active model | Pro |
detach_reference | Detach a reference from the active model by its logical name (or detach every reference with detach_all) | Pro |
reload_references | Reload all reference attachments from disk to pick up changes made to the referenced files | Pro |
toggle_reference_display | Show or hide a reference attachment | Pro |
set_reference_nesting | Control reference live nesting. nest_depth 0 turns live nesting off (no nested references pulled in); a higher number allows that many levels of nesting | Pro |
set_reference_overrides | Control reference override behaviour. level_overrides on/off toggles whether reference level symbology overrides are applied. nest_overrides never/allowed sets whether nested references may carry overrides (never = lock them out) | Pro |
set_reference_visible_edges | Set the visible-edges (hidden-line) display mode for all references: 'wireframe' (off), 'cached' (computed and stored), or 'dynamic' (computed live) | Pro |
Views and Navigation
11 tools, 7 free
| Tool | Description | Edition |
|---|---|---|
list_views | List the eight views with their open state, standard orientation, and display extents | Free |
get_view_info | Read the full state of a view: origin, extents and centre (master units), which standard orientation it is in, render mode, camera position/target/angle, and the display flags | Free |
zoom_view | Zoom a view by a factor | Free |
zoom_to_element | Zoom a view to show a specific element | Free |
fit_view | Fit a view so every element is visible | Free |
set_view_rotation | Set a view to a standard orientation: top, bottom, front, back, left, right, or iso | Free |
update_views | Force update (redraw) all open views | Free |
set_view_display_flags | Turn view display flags on or off - constructions, dimensions, text, text_nodes, fill, patterns, line_styles, line_weights, level_symbology, grid, tags, reference_boundaries, acs_triad, background_image, data_entry_regions | Pro |
set_render_mode | Set a view's rendering mode: wireframe, hiddenline, solidfill, constantshade, smoothshade, phong, wiremesh, or crosssection | Pro |
set_display_style | Change the display style of a view (or all 8 views) | Pro |
set_camera | Position a view's perspective camera: eye position, target point, and either the camera angle in DEGREES or the focal length | Pro |
Saved Views
3 tools, 2 free
| Tool | Description | Edition |
|---|---|---|
list_saved_views | List the saved views stored in the active design file with their names and descriptions | Free |
apply_saved_view | Recall a saved view into one of the eight view windows, restoring its orientation, levels, clip volume, and reference settings | Free |
save_named_view | Create a saved view from one of the eight view windows, capturing its current orientation, levels, clip volume, and reference settings under a name that can be recalled later with apply_saved_view | Pro |
Fence
3 tools, 1 free
| Tool | Description | Edition |
|---|---|---|
get_fence_contents | List the elements inside the currently placed fence, with a count by element type | Free |
define_fence | Place a fence - a closed boundary that later operations act inside | Pro |
undefine_fence | Remove the currently placed fence, so later operations act on the whole model again | Pro |
Printing
2 tools, 1 free
| Tool | Description | Edition |
|---|---|---|
list_paper_sizes | List the paper sizes a printer driver defines, with their dimensions in millimetres | Free |
print_to_pdf | Print a view, fence or sheet model to a PDF file at a chosen paper size | Pro |
Key-ins
1 tool, all Pro
| Tool | Description | Edition |
|---|---|---|
send_keyin | Run a MicroStation key-in command (escape hatch for ops without a dedicated tool) | Pro |
Troubleshooting
The AI says it is not connected to MicroStation
- MicroStation must be running with a drawing open. The connector talks to a live session; it cannot open MicroStation for you.
- In MicroStation, run
MCPCONNECTOR_STATUSto check the plug-in state. If it reports not running, runMCPCONNECTOR_START. - Ask your AI to run the
pingtool. It reports whether the link is up and, if not, why.
The plug-in did not load
- The plug-in auto-loads when MicroStation starts. If the AUTOM8LABS ribbon is missing, restart MicroStation, then run
MCPCONNECTOR_STARTat the command line. - Confirm the bundle exists at
C:\ProgramData\AUTOM8LABS\MCPConnectorMicroStation. If it is missing, re-run the installer. - Check that your MicroStation release is between 2022 and 2027.
Pro tools are missing after activating
- The MCP server reads the edition once, when the AI client starts it. Restart the AI client after activating and the full tool list appears.
- Confirm the licence state in MicroStation via Manage Licence on the AUTOM8LABS ribbon.
The AI client does not list the server
- Restart the client completely after installing; a window reload is not always enough.
- For clients other than Claude Desktop and Cursor, add the manual configuration yourself.
send_keyin is not available
- Raw key-in execution is off by default. Opt in by setting
MCP_CONNECTOR_ENABLE_COMMAND_EXEC=1in the MCP client configuration, then restart the client. See Connect Your AI Client.
FAQ
MCPCONNECTOR_LICENCE command, then restart your AI client.
send_keyin tool is disabled until you opt in per machine with MCP_CONNECTOR_ENABLE_COMMAND_EXEC=1 in the MCP client configuration. Every other tool is a structured operation with a fixed schema, so without that opt-in the AI cannot issue free-form key-ins at all. Turn it on only if you need it.