INTERNAL TEST ONLY - will be ready soon

INTERNAL TEST ONLY - will be ready soon

By Orthogonalpub GitHub

Public MCP server to run modelica simulation

Overview

What is Modelica MCP Server?

Modelica MCP Server is a public server that provides Modelica model simulation capabilities, allowing users to run simulations and retrieve modelica-related tasks through a Model Context Protocol.

How to use Modelica MCP Server?

To use the Modelica MCP Server, you can run model simulations by providing the source code of the Modelica model through the modelica_simulate tool. You can also configure it for specific applications like Claude.app.

Key features of Modelica MCP Server?

  • Provides a public server for running Modelica simulations.
  • Supports model simulation by accepting Modelica source code.
  • Customizable configurations for user-agent, proxy, and robots.txt handling.
  • Debugging tools available for server inspection.

Use cases of Modelica MCP Server?

  1. Running simulations for engineering models in various domains.
  2. Integrating with LLMs for processing Modelica tasks.
  3. Customizing server behavior for specific applications or user needs.

FAQ from Modelica MCP Server?

  • What is the primary function of the Modelica MCP Server?

The primary function is to provide a platform for running Modelica simulations and processing related tasks.

  • Is there any installation required?

No specific installation is needed when using uv, as it allows direct execution of the simulation tool.

  • Can I customize the server settings?

Yes, you can customize settings such as user-agent, proxy, and robots.txt behavior.

Content

INTERNAL TEST ONLY - will be ready soon

Modelica MCP Server

A Model Context Protocol server that provides modelica model simulation capabilities. This server enables LLMs to retrieve and process modelica related tasks.

What is MCP, refer to https://modelcontextprotocol.io/

Available Tools

  • modelica_simulate - run modelica model simulation by source code.

    • modelica_code (string, required): the source code of modelica model
  • modelica_service_available - check modelica service availability ( later will be used to start backend env ).

    • no input

Prompts - not supported yet

  • Simulation Prompt
    • Simulation result
    • Arguments:
      • modelica code (string, required): ...

Installation

Get "ORTHOGONAL_TOKEN"

  • You need to register in paas.orthogonal.cc
  1. Logging to orthogonal: open browser, log into https://paas.orthogonal.cc
  2. Retrieve token: after sucessful login, type F12 enter into dev mode, then click 'Network', finally type F5 to refresh, the network communications will be shown here, find 'status/' record and show its headers, the token is something like eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzQ1MjI3NjAzLCJpYXQiOjE3NDQ2MjI4MDMsImp0aSI6IjY4MmFmOTA0MjA5ZDRmYWZiNTI1MmIyYTg1MjMxZDQ3IiwidXNlcl9pZCI6OH0.NKbo6NNtSzyzNebXSlmbRLYkf_5ffdWALT7OxXDr6b8 (Without starting 'Bearer ' )
  3. Record this token, it will be used to fill in mcp configuration

When using uv no specific installation is needed. We will use uvx to directly run modelica_simulate.

uv installation
curl -LsSf https://astral.sh/uv/install.sh | sh

  1. clone mcp server
    git clone https://github.com/Orthogonalpub/modelica_simulation_mcp_server

  2. enter into the directory
    cd modelica_simulation_mcp_server

  3. create virtual env
    uv venv

  4. activate virtual env
    Windows:
    .venv\Scripts\activate

Mac / Linux:
source .venv\Scripts\activate

  1. add dependencies
    uv add "mcp[cli]" httpx websocket-client pandas --active

Configuration

Configure for cursor/Claude.app

Add to your cursor/Claude settings: mcp.json ( located in your user home directly or .cursor/ directory ) in cursor you can open this file by clicking "Settings" -> "MCP" -> "Add new global MCP server"

Using uvx

Example:

  1. set "ORTHOGONAL_TOKEN" correctly
  2. set path of "args" and "command" correctly by your local installation


Windows mcp.json example

{
  "mcpServers": {
      "modelica-mcp-server": {
          "connectionType": "stdio", 
          "command": "C:\\arbeit\\99.fmi\\modelica_simulation_mcp_server\\.venv\\Scripts\\python.exe",
          "args": [
              "C:\\arbeit\\99.fmi\\modelica_simulation_mcp_server\\main.py"
            ],
            "env": {
              "ORTHOGONAL_TOKEN": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzQ0NzE3MDk1LCJpYXQiOjE3NDQxMTIyOTUsImp0aSI6IjMyYTczOTljMDJjZDQxZDBiNWYwNzVmZDBiNjk3YmI4IiwidXNlcl9pZCI6OH0.49PfrGwxpP0yehrb6_bd0TZh4v_uo2pj5jvy10xH18U",
              "DEBUG": "true",
              "LOG_LEVEL": "verbose",
              "PORT": "9223"
              },
            "disabled": false,
            "autoApprove": []
      }
  }
}


Mac mcp.json example

{
        "mcpServers": {
                "modelica-mcp-server": {
                        "connectionType": "stdio",
                        "command": "/opt/homebrew/bin/uv",
                        "args": [
            			    "--directory",
           			     "/Users/rainnie/Downloads/halo/modelica_simulation_mcp_server/",
           			     "run",
                                     "/Users/rainnie/Downloads/halo/modelica_simulation_mcp_server/main.py"
                        ],
                        "env": {
                                "ORTHOGONAL_TOKEN": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzQ0OTY2OTQxLCJpYXQiOjE3NDQzNjIxNDEsImp0aSI6ImE5M2RlNDUyMGU1ZDQ3M2RiZjVjOTFhMDgxZDEyYThjIiwidXNlcl9pZCI6NDR9.k0RM8as9PtFX1cvCowOQeZraDPM-Qks4dl9uFauHUH8",
                                "DEBUG": "true",
                                "LOG_LEVEL": "verbose",
                                "PORT": "9223"
                        },
                        "disabled": false,
                        "autoApprove": []
                }
        }
}

after successful installation, the mcp server will be shown and the status icon is GREEN

Customization - simulation parameters - not supported yet

In future the server can be configured to use different simulation parameters --stop-time and --step-size ...

Debug

using mcp inspector mcp dev main.py it needs to add environment variable in mcp inspector window

License

modelica-simulation is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

No tools information available.
No content found.