使用说明
项目简介
Modelica仿真MCP服务器是一个基于Model Context Protocol (MCP) 构建的后端应用,旨在为大型语言模型 (LLM) 提供Modelica模型仿真能力。通过此服务器,LLM可以调用工具来执行Modelica代码仿真,并获取仿真结果,从而实现更复杂的基于模型的任务。
主要功能点
- 模型仿真工具 (modelica_simulate): 允许LLM通过提供Modelica源代码来运行仿真,并返回仿真结果数据,包括仿真状态、错误信息和数据值。
- 服务可用性检查工具 (modelica_service_available): 允许LLM检查后端的Modelica服务是否可用,为后续的仿真任务提供前提条件判断。
- 基于Websocket的通信: 服务器通过Websocket与后端仿真服务通信,处理仿真请求并接收仿真结果。
- 支持标准MCP客户端: 可以与任何实现了MCP协议的客户端进行交互,例如Cursor编辑器或Claude.app。
安装步骤
- 获取Token: 访问 paas.orthogonal.cc 注册并登录,在开发者模式的网络面板中找到 "status/" 请求,从请求头中复制Token (不包含 "Bearer " 前缀)。
- 克隆仓库: 使用Git克隆仓库到本地:
git clone https://github.com/Orthogonalpub/modelica_simulation_mcp_server cd modelica_simulation_mcp_server - 创建虚拟环境: 使用 'uv' (推荐) 或 'venv' 创建Python虚拟环境。
- 使用 'uv':
uv venv - 使用 'venv':
python -m venv .venv
- 使用 'uv':
- 激活虚拟环境:
# Windows .venv\Scripts\activate # macOS/Linux source .venv/bin/activate - 安装依赖:
uv add mcp[cli] httpx websocket-client pandas --active
服务器配置
MCP服务器需要配置在MCP客户端中 (例如Cursor或Claude.app)。以下是配置示例,请根据实际情况修改 'command'、'args' 和 'env' 中的路径和Token。
{ "mcpServers": { "modelica-mcp-server": { "connectionType": "stdio", "command": "path/to/your/python/executable", // Python解释器路径,例如: C:\\arbeit\\99.fmi\\modelica_simulation_mcp_server\\.venv\\Scripts\\python.exe "args": [ "path/to/your/main.py" // main.py 脚本路径,例如: C:\\arbeit\\99.fmi\\modelica_simulation_mcp_server\\main.py ], "env": { "ORTHOGONAL_TOKEN": "YOUR_ORTHOGONAL_TOKEN", // 替换为步骤1中获取的Token "DEBUG": "true", // 开启Debug日志 (可选) "LOG_LEVEL": "verbose", // 设置日志级别 (可选) "PORT": "9223" // 端口号 (可选,默认9223) }, "disabled": false, "autoApprove": [] } } }
配置说明:
- '"connectionType": "stdio"': 指定使用标准输入输出流与MCP客户端通信。
- '"command"': Python解释器的可执行文件路径,用于运行MCP服务器脚本。
- '"args"': 传递给Python脚本的参数,这里指定了 'main.py' 脚本的路径。
- '"env"': 环境变量配置,'ORTHOGONAL_TOKEN' 必须配置为你在 paas.orthogonal.cc 获取的Token,用于服务器鉴权。'DEBUG', 'LOG_LEVEL', 'PORT' 为可选配置,用于调试和日志设置。
- '"disabled": false': 启用该MCP服务器配置。
- '"autoApprove": []': 自动批准列表,默认为空。
在Cursor中配置: 打开Cursor的设置 (Settings) -> MCP -> "Add new global MCP server",将以上JSON配置粘贴到配置文件中。
基本使用方法
- 确保MCP服务器已在Cursor或Claude.app中配置并启用,状态图标为绿色。
- 在LLM客户端中,可以使用 '@tool_code modelica_simulate' 工具并提供 Modelica 源代码作为输入,来执行模型仿真。
- 可以使用 '@tool_code modelica_service_available' 工具来检查 Modelica 服务是否可用。
- 仿真结果将以 JSON 格式返回给 LLM 客户端,包含仿真状态、错误信息和数据值。数据值可以进一步用于分析或可视化。
示例 (在LLM客户端中):
请仿真以下Modelica代码:
model SineWave parameter Real amplitude = 1; parameter Real frequency = 1; output Real y; equation y = amplitude * sin(2 * Modelica.Constants.pi * frequency * time); end SineWave;
并返回仿真结果。
或者:
Modelica 服务是否可用?
信息
分类
AI与计算