A collection of 25 diagram-specific MCP (Model Context Protocol) servers that enable AI assistants like Claude to programmatically create and edit any StarUML diagram — UML, ERD, Sequence, BPMN, C4, SysML, Wireframe, MindMap, AWS, Azure, GCP, Flowchart, DFD, and more.
Each server is built on a shared core infrastructure (staruml-controller-mcp-core) providing 63 common tools, plus diagram-specific tools tailored to each diagram type.
An AI tool creating a complete Web Shopping ER diagram through the StarUML Controller API
An AI tool analyzing source code and generating a sequence diagram
- Node.js 18+
- StarUML with the StarUML Controller extension installed and running
Before using any MCP server, you need to start the StarUML Controller server:
-
Launch StarUML and open a project (or create a new one)
-
From the menu bar, select Tools > StarUML Controller > Start Server...
- A dialog appears asking for the port number. Enter a port (default:
12345) and click OK
- The HTTP server starts and all diagrams become accessible via the MCP tools
To stop, select Tools > StarUML Controller > Stop Server from the menu bar.
| Package | Description |
|---|---|
| staruml-controller-mcp-core | Shared infrastructure + 63 common tools (general, project, utility, diagrams, notes, shapes, views, elements) |
| Server | Diagram Type | Specific Tools | Total Tools |
|---|---|---|---|
| staruml-controller-class-mcp | Class / Package | 74 | 137 |
| staruml-controller-usecase-mcp | Use Case | 47 | 110 |
| staruml-controller-activity-mcp | Activity | 54 | 117 |
| staruml-controller-statemachine-mcp | State Machine | 27 | 90 |
| staruml-controller-seq-mcp | Sequence | 40 | 103 |
| staruml-controller-communication-mcp | Communication | 15 | 78 |
| staruml-controller-component-mcp | Component | 35 | 98 |
| staruml-controller-deployment-mcp | Deployment | 45 | 108 |
| staruml-controller-object-mcp | Object | 17 | 80 |
| staruml-controller-composite-mcp | Composite Structure | 40 | 103 |
| staruml-controller-timing-mcp | Timing | 20 | 83 |
| staruml-controller-overview-mcp | Interaction Overview | 25 | 88 |
| staruml-controller-profile-mcp | Profile | 25 | 88 |
| Server | Diagram Type | Specific Tools | Total Tools |
|---|---|---|---|
| staruml-controller-erd-mcp | ERD | 36 | 99 |
| staruml-controller-bpmn-mcp | BPMN | 84 | 147 |
| staruml-controller-c4-mcp | C4 | 15 | 78 |
| staruml-controller-sysml-mcp | SysML | 81 | 144 |
| staruml-controller-flowchart-mcp | Flowchart | 15 | 78 |
| staruml-controller-dfd-mcp | DFD | 25 | 88 |
| staruml-controller-wireframe-mcp | Wireframe | 15 | 78 |
| staruml-controller-mindmap-mcp | MindMap | 15 | 78 |
| staruml-controller-infoflow-mcp | Information Flow | 15 | 78 |
| staruml-controller-aws-mcp | AWS | 15 | 78 |
| staruml-controller-azure-mcp | Azure | 15 | 78 |
| staruml-controller-gcp-mcp | GCP | 15 | 78 |
Every MCP server includes 63 shared tools provided by the core package:
Click to expand
| Tool | Description |
|---|---|
get_status |
Get server status, version, and endpoint list |
get_element |
Get any element by ID |
list_element_tags |
List tags on an element |
create_element_tag |
Create a tag on an element |
get_tag |
Get tag details |
update_tag |
Update a tag |
delete_tag |
Delete a tag |
save_project |
Save project to a .mdj file |
open_project |
Open a .mdj project file |
| Tool | Description |
|---|---|
project_new |
Create a new empty project |
project_close |
Close the current project |
project_import |
Import a .mdj fragment into the project |
project_export |
Export a model fragment to a .mdj file |
project_export_all |
Export all diagrams as images (PNG/SVG/JPEG/PDF) |
project_export_doc |
Export project documentation (HTML/Markdown) |
| Tool | Description |
|---|---|
undo |
Undo the last action |
redo |
Redo the last undone action |
search |
Search elements by keyword with optional type filter |
validate |
Run model validation |
mermaid_import |
Import a Mermaid diagram definition |
generate_diagram |
Generate a diagram from natural language (requires AI extension) |
| Tool | Description |
|---|---|
diagram_list |
List all diagrams (optionally filter by type) |
diagram_create |
Create a new diagram of any type |
diagram_get |
Get diagram details by ID |
diagram_update |
Update diagram name |
diagram_delete |
Delete a diagram |
diagram_list_elements |
List all elements on a diagram |
diagram_list_views |
List all views on a diagram |
diagram_create_element |
Create a node element on a diagram |
diagram_create_relation |
Create a relation between elements |
diagram_export |
Export diagram as image (PNG/SVG/JPEG/PDF) |
diagram_layout |
Auto-layout diagram with configurable direction |
diagram_open |
Open/activate a diagram in the editor |
diagram_zoom |
Set diagram zoom level |
diagram_create_view_of |
Create a view of an existing model on a diagram |
diagram_link_object |
Create a UMLLinkObject on an object diagram |
| Tool | Description |
|---|---|
note_list |
List all notes on a diagram |
note_create |
Create a note with text and position |
note_get |
Get note details |
note_update |
Update note text |
note_delete |
Delete a note |
note_link_list |
List all note links on a diagram |
note_link_create |
Create a link between a note and an element |
note_link_delete |
Delete a note link |
free_line_list |
List all free lines on a diagram |
free_line_create |
Create a free line on a diagram |
free_line_delete |
Delete a free line |
| Tool | Description |
|---|---|
shape_list |
List all shapes on a diagram |
shape_create |
Create a shape (Text, TextBox, Rect, RoundRect, Ellipse, Hyperlink, Image) |
shape_get |
Get shape details |
shape_update |
Update shape text |
shape_delete |
Delete a shape |
| Tool | Description |
|---|---|
view_update |
Move/resize a view (left, top, width, height) |
view_update_style |
Update visual style (fillColor, lineColor, fontColor, fontSize, etc.) |
view_reconnect |
Reconnect an edge to different source/target |
view_align |
Align/distribute multiple views |
| Tool | Description |
|---|---|
element_update |
Update any element's name and documentation |
element_delete |
Delete any element by ID |
element_list_relationships |
List all relationships of an element |
element_list_views |
List all views of an element across diagrams |
element_relocate |
Move element to a different parent |
element_create_child |
Create a child element (attribute, operation, etc.) |
element_reorder |
Reorder element within parent (up/down) |
- Build the core package
git clone https://github.com/pontasan/staruml-controller-mcp-core.git
cd staruml-controller-mcp-core
npm install
npm run build- Build the MCP server you need (e.g., ERD)
git clone https://github.com/pontasan/staruml-controller-erd-mcp.git
cd staruml-controller-erd-mcp
npm install
npm run build- Add to Claude Code
claude mcp add staruml-erd node /absolute/path/to/staruml-controller-erd-mcp/dist/index.jsOr add to Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"staruml-erd": {
"command": "node",
"args": ["/absolute/path/to/staruml-controller-erd-mcp/dist/index.js"]
}
}
}MIT

