Get the FREE Ultimate OpenClaw Setup Guide →

SIRIO_mcp_server

An MCP server that exposes the SIRIO library for creation and analysis of Petri Nets

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio nicmen99-sirio_mcp_server docker run -i nicmen99/sirio-mcp-server:latest \
  --env JAVA_OPTS="Optional JVM options if needed" \
  --env SPRING_OUTPUT_ANSI_ENABLED="ALWAYS"

How to use

This MCP server implements a Java Spring Boot application that exposes a set of MCP tools for creating and analyzing Generalized Stochastic Petri Nets (GSPNs) via the SIRIO/OrisTool library. The server is designed to be driven through the MCP protocol over STDIO, allowing AI assistants and tooling to programmatically compose models, perform state transitions, and run formal analyses such as steady-state or transient analyses. Typical usage involves starting the server process and issuing tool calls as defined by the MCP tool registry; each tool corresponds to an operation on the in-memory Petri Net model (e.g., creating a net, adding places and transitions, and specifying timing semantics).

Available tool categories include: Net Creation & Structure (create, add_places, remove_places, add_transitions, remove_transitions), and Transition Types (add_IMM, add_DET, add_EXP, add_UNI, etc.). Each tool call manipulates the current Petri Net and its marking, enabling iterative refinement and analysis of the model. The integration with Claude/GitHub Copilot or Claude Desktop is achieved by configuring the MCP server in the IDE or client app to connect via STDIO, after which the AI can invoke these tools to construct and analyze models in an interactive, code-assisted manner.

How to install

Prerequisites:

  • Java Development Kit (JDK) 21 or higher (tested with JDK 25)
  • Apache Maven (or the Maven wrapper included in the project)
  • Git and a Java-enabled environment
  • Optional: Docker if you prefer running in a containerized environment

Step-by-step installation:

  1. Clone the repository
git clone https://github.com/NicMen99/SIRIO_mcp_server.git
cd SIRIO_mcp_server
  1. Build with Maven (use the wrapper if present)
./mvnw clean package

This will compile the Java sources, run tests if available, and produce a runnable JAR at target/sirio_mcp_server-0.0.1-SNAPSHOT.jar.

  1. Run the server locally (example)
java -jar target/sirio_mcp_server-0.0.1-SNAPSHOT.jar
  1. (Optional) Run via Docker (if you prefer containerized execution)
# Build the local image (adjust Dockerfile as needed in your repo)
# Docker build -t sirio-mcp-server:latest .
# Run the container
# docker run -it --rm sirio-mcp-server:latest
  1. Verify the build
ls target/sirio_mcp_server-0.0.1-SNAPSHOT.jar

Additional notes

Notes and tips:

  • The MCP server runs as a non-web Spring Boot application and communicates via STDIO. Ensure your client tooling is configured to interact over standard input/output.
  • If you plan to debug, enable verbose logging or run in a mode that prints tool registration details during startup.
  • When using VS Code Copilot integration, configure the mcp.json in .vscode to point to the running jar as described in the README. The JAR path and Java executable must be absolute.
  • If you encounter classpath or dependency issues, verify that the Maven build completed successfully and that the generated JAR includes all required dependencies.
  • For Claude Desktop integration, configure the claude_desktop_config.json with the correct -jar path to the produced JAR and enable stdio transport as shown in the README.
  • Environment variables like SPRING_OUTPUT_ANSI_ENABLED and JAVA_OPTS can be used to customize logging and JVM behavior when running under containers or IDEs.

Related MCP Servers

Sponsor this space

Reach thousands of developers