使用说明

项目简介

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。

安装步骤

  1. 获取Token: 访问 paas.orthogonal.cc 注册并登录,在开发者模式的网络面板中找到 "status/" 请求,从请求头中复制Token (不包含 "Bearer " 前缀)。
  2. 克隆仓库: 使用Git克隆仓库到本地:
    git clone https://github.com/Orthogonalpub/modelica_simulation_mcp_server
    cd modelica_simulation_mcp_server
  3. 创建虚拟环境: 使用 'uv' (推荐) 或 'venv' 创建Python虚拟环境。
    • 使用 'uv':
      uv venv
    • 使用 'venv':
      python -m venv .venv
  4. 激活虚拟环境:
    # Windows
    .venv\Scripts\activate
    # macOS/Linux
    source .venv/bin/activate
  5. 安装依赖:
    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配置粘贴到配置文件中。

基本使用方法

  1. 确保MCP服务器已在Cursor或Claude.app中配置并启用,状态图标为绿色。
  2. 在LLM客户端中,可以使用 '@tool_code modelica_simulate' 工具并提供 Modelica 源代码作为输入,来执行模型仿真。
  3. 可以使用 '@tool_code modelica_service_available' 工具来检查 Modelica 服务是否可用。
  4. 仿真结果将以 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与计算