staruml-mcp
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_diagramA | Generate a UML diagram in StarUML from Mermaid code. Supported Mermaid diagram types: classDiagram, sequenceDiagram, flowchart, erDiagram, mindmap, requirementDiagram, stateDiagram. StarUML must be running with apiServer enabled. |
| get_all_diagrams_infoA | Get metadata (id, name, type) for all diagrams in the currently open StarUML project. |
| get_current_diagram_infoA | Get metadata for the currently active (focused) diagram in StarUML. |
| get_diagram_image_by_idA | Retrieve a PNG image of a diagram by its ID. Use get_all_diagrams_info first to obtain IDs. |
| get_all_commandsA | List all registered StarUML command IDs (e.g. 'project:save', 'view:fit-to-window', 'alignment:align-left'). Useful to discover what execute_command can trigger. Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
| execute_commandA | Execute any built-in StarUML command by its ID. Use get_all_commands to discover available IDs. Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
| get_project_infoA | Get the current StarUML project's filename and top-level element summary. Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
| save_projectA | Save the current StarUML project. If filename is given, saves to that path. Otherwise saves to current path. Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
| save_project_asA | Save the current StarUML project to a new path. Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
| new_projectA | Create a new empty StarUML project (discards unsaved changes in current project). Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
| open_projectB | Open a StarUML project file (.mdj). Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
| get_element_by_idA | Retrieve a model element by its internal ID. Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
| find_elementsA | Find elements by metamodel type and/or name. Examples: type='UMLClass', name='User'. Omit both to return all. Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
| create_elementA | Create a new UML model element (MODEL ONLY — not placed on any diagram canvas). For native typed diagrams (Use Case, Activity, Class), use create_element_with_view instead so shapes appear in the diagram. The 'type' is a metamodel class name. Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
| create_element_with_viewB | Create a model element AND its visual View on a diagram in one call. Use for populating native typed diagrams (UMLUseCaseDiagram, UMLActivityDiagram, UMLClassDiagram, etc.). Type examples: 'UMLActor', 'UMLUseCase', 'UMLAction', 'UMLInitialNode', 'UMLFinalNode', 'UMLDecisionNode', 'UMLClass', 'UMLComponent', 'UMLNode'. Returns view._id (for edge connections) and model._id. Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
| create_edge_with_viewA | Connect two existing Views on a diagram with a typed relationship edge. Edge types: 'UMLAssociation' (use case), 'UMLControlFlow' (activity), 'UMLMessage' (sequence), 'UMLGeneralization', 'UMLDependency'. tailViewId is the source, headViewId is the target. Use view IDs from create_element_with_view results. Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
| update_elementB | Set a property on an existing element. Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
| delete_elementB | Delete an element from the project. Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
| create_diagramA | Create a typed UML diagram. The 'type' is a metamodel class name (e.g. 'UMLClassDiagram', 'UMLUseCaseDiagram', 'UMLSequenceDiagram', 'UMLActivityDiagram', 'ERDDiagram'). Unlike generate_diagram (Mermaid), this gives a native empty diagram you can populate via create_element. Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
| switch_diagramA | Focus (open tab) a diagram by its ID. Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
| close_diagramB | Close a diagram tab by its ID. Requires staruml-mcp-extension to be installed in StarUML. Install from https://github.com/ezrabrilliant/staruml-mcp-extension |
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 21 tools
Most tools have distinct purposes, but create_element and create_element_with_view could be confused; however, descriptions clarify the difference. Overall, only a minor overlap.
All tools follow a consistent verb_noun snake_case pattern (e.g., get_project_info, create_element, save_project). Only generate_diagram deviates slightly from create_diagram, but both are verbs.
21 tools is well-scoped for a UML modeling server, covering project, diagram, element, edge, and command operations without being excessive.
The surface covers project management, element CRUD, diagram creation (native and Mermaid), edge creation, and image retrieval. Minor gaps like diagram deletion are missing, but core workflows are present.