MCP-BPMN Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_BPMN_DIAGRAMS_PATH | No | Absolute path to the directory used for storing and managing BPMN diagrams. Overrides the canonical repository/launch directory workspace. | |
| MCP_BPMN_MAX_IMPORT_BYTES | No | Maximum size in bytes for imported BPMN files. Defaults to 5 MiB. | 5242880 |
| MCP_BPMN_MAX_LAYOUT_BYTES | No | Maximum size in bytes of layout input. Defaults to 5 MiB. | 5242880 |
| PUPPETEER_EXECUTABLE_PATH | No | Path to a compatible Chrome or Chromium executable. Required for SVG export and PNG rendering if the Puppeteer browser download is skipped. | |
| MCP_BPMN_LAYOUT_TIMEOUT_MS | No | Timeout in milliseconds for the auto-layout subprocess. Defaults to 5000. | 5000 |
| MCP_BPMN_MAX_LISTING_ITEMS | No | Maximum number of diagram files considered in a listing page. Defaults to 10000. | 10000 |
| MCP_BPMN_MAX_MERMAID_BYTES | No | Maximum size in bytes for Mermaid input. Defaults to 5 MiB. | 5242880 |
| MCP_BPMN_MAX_ARTIFACT_BYTES | No | Maximum allowed size in bytes for rendered SVG/PNG artifacts. Defaults to 5 MiB. | 5242880 |
| MCP_BPMN_MAX_LAYOUT_DENSITY | No | Maximum allowed connection density (connections per element) for auto-layout. Defaults to 10. | 10 |
| MCP_BPMN_MAX_LAYOUT_ELEMENTS | No | Maximum number of elements accepted by auto-layout. Defaults to 2000. | 2000 |
| MCP_BPMN_SHUTDOWN_TIMEOUT_MS | No | Graceful shutdown deadline in milliseconds. Defaults to 15000. | 15000 |
| MCP_BPMN_MAX_CONCURRENT_LAYOUTS | No | Maximum number of concurrent layout subprocesses. Defaults to 2. | 2 |
| MCP_BPMN_MAX_LAYOUT_CONNECTIONS | No | Maximum number of connections accepted by auto-layout. Defaults to 2000. | 2000 |
| MCP_BPMN_MAX_LISTING_METADATA_BYTES | No | Maximum aggregate metadata bytes read for a listing page. Defaults to 5 MiB. | 5242880 |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| new_bpmnA | Create a new BPMN diagram and set it as current context |
| new_from_mermaidA | Create a new BPMN diagram from Mermaid code and set it as current context |
| open_bpmnA | Open an existing BPMN file and set it as current context |
| open_mermaid_fileA | Open a Mermaid file, convert it to BPMN, and set as current context |
| saveA | Save the current diagram to its file (error if no filename set) |
| save_asA | Save the current diagram with a new filename |
| closeB | Close the current diagram and clear the context |
| currentB | Get information about the current diagram |
| add_eventC | Add an event to the current diagram |
| add_activityC | Add an activity to the current diagram |
| add_gatewayC | Add a gateway to the current diagram |
| add_data_objectB | Add a BPMN data object reference and its non-rendered backing data object |
| add_text_annotationA | Add a BPMN text annotation, optionally associated with an existing element |
| connectC | Connect two elements in the current diagram |
| add_associationC | Add a BPMN association artifact between two compatible BaseElements |
| add_poolB | Add a pool to the current collaboration diagram |
| add_laneA | Add a lane to a white-box pool and assign flow nodes to it. Existing assignments are moved from their previous lane. |
| list_elementsA | List elements and association artifacts in stable ID order as { count, returnedCount, offset, limit, hasMore, elements }; request the next page with offset + returnedCount |
| get_elementB | Get details of a specific element or association in the current diagram |
| update_elementA | Update properties of an element in the current diagram |
| delete_elementA | Delete an element (cascading incident connections) or a connection while preserving its endpoints |
| exportA | Export the current diagram as BPMN XML text or an embedded image/svg+xml resource rendered by bpmn-js |
| validateA | Validate the current diagram using cumulative BPMN checks: syntax parses XML and resolves references; semantic adds owner-aware event, flow, subprocess, lane, and collaboration rules; full also adds executable-profile start/end/connectivity guidance |
| auto_layoutA | Apply deterministic automatic layout. Collaboration processes are ranked independently; requested pool/lane sizes are lower bounds, manual coordinates are replaced, disconnected nodes stay in their owner, and message flows route after non-overlapping pool placement. |
| list_diagramsA | List diagrams in stable filename order as { count, returnedCount, offset, limit, hasMore, diagrams, path }; request the next page with offset + returnedCount |
| delete_diagram_fileB | Delete a saved BPMN diagram file |
| get_diagrams_pathA | Get the path where BPMN diagrams are saved |
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 27 tools
Each tool targets a clearly distinct action or resource. Element creation tools are separated by type (event, activity, gateway, data object, annotation, pool, lane), and file operations are distinct (new, open, save, save_as, close, list, delete). No two tools appear to overlap in purpose.
The naming pattern is mostly consistent with verb-first, underscore-separated names (e.g., add_event, list_elements, delete_diagram_file). Minor deviations exist, such as 'new_from_mermaid' and 'open_mermaid_file' vs. 'open_bpmn', and the noun 'current' as a standalone tool, but overall the convention is coherent.
27 tools is above the typical 3-15 range, but the complexity of a BPMN editor justifies the breadth. The tools cover file management, element operations, validation, layout, and export without excess overlap, so the count feels justified rather than bloated.
The tool surface is remarkably complete for a BPMN diagramming server. It covers full CRUD for elements and files, connections, associations, validation at multiple levels, layout, and export. There are no glaring gaps that would hinder common workflows, including lifecycle operations for diagrams and elements.