
INTERNAL TEST ONLY - will be ready soon
Public MCP server to run modelica simulation
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?
- Running simulations for engineering models in various domains.
- Integrating with LLMs for processing Modelica tasks.
- 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.
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
"ORTHOGONAL_TOKEN"
Get - You need to register in paas.orthogonal.cc
- Logging to orthogonal: open browser, log into https://paas.orthogonal.cc
- 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 ' ) - Record this token, it will be used to fill in mcp configuration

Cursor Installation: using uv (recommended)
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
-
clone mcp server
git clone https://github.com/Orthogonalpub/modelica_simulation_mcp_server
-
enter into the directory
cd modelica_simulation_mcp_server
-
create virtual env
uv venv
-
activate virtual env
Windows:
.venv\Scripts\activate
Mac / Linux:
source .venv\Scripts\activate
- 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:
- set "ORTHOGONAL_TOKEN" correctly
- 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.