Token导航 LogoToken导航

MCP Server · 运维云端

Stella MCP Server

Stella MCP Server 是一个用于创建和操作 Stella 系统动力学模型的服务器,支持AI助手通过编程方式构建、读取、验证和保存 .stmx 文件。

stdio官方级别未说明来源级核验工具 28
PythonClaude云端部署

快速开始

作者 / 组织
bradleylab
提供方
bradleylab

工具数量

28

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

2 个

MCP World

选型结论

Stella MCP Server 属于运维云端类 MCP Server,公开资料标注 28 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

运维云端

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install stella-mcp

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 28 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Stella MCP服务器

A. 模型上下文协议(MCP) 用于创建和操作的服务器 斯特拉 系统动力学模型。这使得像Claude这样的人工智能助手能够以编程方式构建、读取、验证和保存 .stmx XMILE格式的文件。

这是干什么用的?

斯特拉 是一种系统动力学建模工具,用于模拟生态学、生物地球化学、经济学和工程学等领域的复杂系统。此MCP服务器允许AI助手:

  • 从头开始创建模型 -以编程方式构建库存和流程图
  • 阅读现有模型 -解析和理解.stmx文件
  • 验证模型 -检查是否存在未定义变量或缺少连接等错误
  • 修改模型 -添加库存、流量、辅助设备和连接器
  • 保存模型 -导出在Stella Professional中打开的有效XMILE文件

这对于以下情况特别有用:

  • 教学系统动力学建模
  • 通过自然语言快速制作模型原型
  • 批量创建或修改模型
  • 记录和解释现有模型

安装

来自PyPI

pip install stella-mcp

来源

git clone https://github.com/bradleylab/stella-mcp.git
cd stella-mcp
pip install -e .

需求

  • Python 3.10+
  • mcp>=1.0.0

配置

克劳德桌面版

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "stella": {
      "command": "stella-mcp"
    }
  }
}

克劳德代码

添加到您的 .claude/settings.json:

{
  "mcpServers": {
    "stella": {
      "command": "stella-mcp"
    }
  }
}

开发模式

如果从源代码运行:

{
  "mcpServers": {
    "stella": {
      "command": "python",
      "args": ["-m", "stella_mcp.server"],
      "cwd": "/path/to/stella-mcp"
    }
  }
}

可用工具

模型创建和I/O

工具说明
create_model使用名称和时间设置(开始、停止、dt、方法)创建新模型
read_model加载现有的.stmx文件
save_model将模型保存到.stmx文件

模板

工具说明
list_templates列出内置和用户定义的模板(支持源/查询/标签过滤器)
get_template_info获取一个模板的详细元数据
load_template在当前会话中将模板作为模型加载
save_as_template将当前模型另存为可重用的用户模板(可选描述/标签)

模型构建

工具说明
add_stock添加具有初始值和单位的库存(水库)
add_flow用方程式添加库存之间的流量
add_aux添加辅助变量(参数或计算)
add_connector在变量之间添加依赖连接器
set_connector_routing设置连接器角度和明确的航路点路由元数据
rename_variable重命名库存/流量/aux并更新方程式/连接器/模块中的引用
delete_variable通过一致性检查和清理删除库存/流量/aux
create_module创建逻辑模块/变量组
add_to_module向现有模块/组添加变量
remove_from_module从模块/组中删除变量
rename_module重命名模块/组
delete_module删除模块/组
set_module_view在图表上设置明确的模块框位置/大小
set_module_style在图表上设置模块框样式(边框/背景/字体/标签侧)
auto_place_module_boxes自动在其成员周围放置模块框

笔记:

  • 工具接受可选 model_id 因此一个MCP会话可以安全地管理多个模型。
  • create_model 和 read_model 设置会话的当前 model_id 并将其归还。
  • add_flow 和 add_aux 支持可选 graphical_function 有效载荷(ypts 加上恰好一个 xscale 或 xpts).
  • add_stock/add_flow/add_aux 拒绝跨变量类型的重复变量名; add_connector 要求这两个变量都存在。
  • set_connector_routing 可以通过以下方式定位连接器 connector_uid 或通过 from_var + to_var.
  • save_model 和 get_model_xml 接受 auto_layout (默认值 true)以及 resolve_layout_violations (默认值 false).
  • read_model, save_model,以及 get_model_xml 接受 compat_mode:

- permissive (默认):继续警告 - strict:兼容性问题失败

  • set_module_style 更新模块视图样式并在XMILE视图中保留这些属性 `` 元素。
  • save_as_template 将用户模板写入 ~/.stella-mcp/templates 默认情况下(通过覆盖 STELLA_MCP_TEMPLATE_DIR)并将元数据存储在 .meta.json 侧三轮。
  • 工具故障返回结构化MCP错误 error.code, error.category,以及 error.message.

模型检查

工具说明
list_models列出可用的会话模型ID并指示当前模型
list_modules列出当前模型中的模块/组
list_connectors列出连接器ID、端点、角度和布线元数据
list_variables列出所有库存、流量和辅助设备
validate_model检查错误(未定义的变量、缺失的连接等)
get_model_xml预览XMILE XML输出

工具有效载荷示例

创建会话模型并在会话模型之间切换:

{"name":"create_model","arguments":{"name":"Population","model_id":"pop_v1"}}
{"name":"create_model","arguments":{"name":"Carbon","model_id":"carbon_v1"}}
{"name":"list_models","arguments":{}}

列出并加载模板:

{"name":"list_templates","arguments":{}}
{"name":"list_templates","arguments":{"source":"builtin","query":"epidem","tags":["epidemiology"]}}
{"name":"get_template_info","arguments":{"template_name":"sir"}}
{"name":"load_template","arguments":{"template_name":"sir","model_id":"sir_baseline"}}

将当前模型另存为用户模板:

{"name":"save_as_template","arguments":{"model_id":"pop_v1","template_name":"my_population_template","description":"Baseline single-stock growth starter","tags":["intro","population"]}}

创建和管理模块:

{"name":"create_module","arguments":{"model_id":"sir_baseline","name":"Disease Dynamics","members":["Susceptible","Infected","Recovered"]}}
{"name":"add_to_module","arguments":{"model_id":"sir_baseline","module_name":"Disease Dynamics","members":["infection","recovery"]}}
{"name":"list_modules","arguments":{"model_id":"sir_baseline"}}
{"name":"remove_from_module","arguments":{"model_id":"sir_baseline","module_name":"Disease Dynamics","members":["recovery"]}}
{"name":"rename_module","arguments":{"model_id":"sir_baseline","module_name":"Disease Dynamics","new_name":"Disease Core"}}
{"name":"delete_module","arguments":{"model_id":"sir_baseline","module_name":"Disease Core"}}

安全地重命名和删除变量:

{"name":"rename_variable","arguments":{"model_id":"sir_baseline","old_name":"population_total","new_name":"total_population"}}
{"name":"delete_variable","arguments":{"model_id":"sir_baseline","name":"recovery"}}
{"name":"delete_variable","arguments":{"model_id":"sir_baseline","name":"Susceptible","force":true}}

直接设置模块视图几何图形:

{"name":"set_module_view","arguments":{"model_id":"sir_baseline","module_name":"Disease Dynamics","x":420,"y":280,"width":420,"height":240}}

设置模块视图样式:

{"name":"set_module_style","arguments":{"model_id":"sir_baseline","module_name":"Disease Dynamics","border_color":"#666666","background":"#FFF7E6","font_color":"#333333","font_size":"10pt","label_side":"top"}}

从当前成员位置自动放置模块框:

{"name":"auto_place_module_boxes","arguments":{"model_id":"sir_baseline","padding":40,"only_missing":true}}

在以后的调用中针对特定模型:

{"name":"add_stock","arguments":{"model_id":"pop_v1","name":"Population","initial_value":"100"}}

阅读时进行严格的兼容性检查:

{"name":"read_model","arguments":{"filepath":"./external_model.stmx","model_id":"imported","compat_mode":"strict"}}

在允许模式(默认)下预览XML,并在出现兼容性警告时返回:

{"name":"get_model_xml","arguments":{"model_id":"imported","compat_mode":"permissive"}}

有效的图形函数有效载荷:

{
  "name": "add_aux",
  "arguments": {
    "model_id": "pop_v1",
    "name": "lookup_rate",
    "equation": "GRAPH(Time)",
    "graphical_function": {
      "xscale": {"min": 0, "max": 100},
      "ypts": [0.1, 0.2, 0.4, 0.6],
      "type": "continuous"
    }
  }
}

图形函数有效负载无效(被拒绝):

{
  "name": "add_aux",
  "arguments": {
    "name": "bad_lookup",
    "equation": "GRAPH(Time)",
    "graphical_function": {
      "xscale": {"min": 0, "max": 100},
      "xpts": [0, 10, 20, 30],
      "ypts": [0.1, 0.2, 0.4, 0.6]
    }
  }
}

示例用法

创建一个简单的人口模型

User: Create a simple exponential growth model with a population starting at 100
      and a growth rate of 0.1 per year

Claude: [Uses create_model, add_stock, add_aux, add_flow, add_connector, save_model]
        Creates population_growth.stmx with:
        - Stock: Population (initial=100)
        - Aux: growth_rate (0.1)
        - Flow: growth (Population * growth_rate) into Population

阅读和分析现有模型

User: Read the carbon cycle model and explain what it does

Claude: [Uses read_model, list_variables]
        This model has 3 stocks (Atmosphere, Land Biota, Soil) and 6 flows
        representing carbon exchange through photosynthesis, respiration...

构建生物地球化学模型

User: Create a two-box ocean model with surface and deep nutrients

Claude: [Uses create_model, add_stock (x4), add_aux (x8), add_flow (x6), save_model]
        Creates a model with nutrient cycling between surface and deep ocean
        including upwelling, downwelling, biological uptake, and remineralization

验证

这 validate_model 工具检查:

  • 未定义变量 -引用不存在的变量
  • 质量平衡问题 -没有流量的库存,流量引用不存在的库存
  • 缺少连接 -使用不带连接器的变量的方程(警告)
  • 连接器端点完整性 -指向缺失变量的连接器(错误)
  • 孤儿流 -与任何股票无关的流量
  • 循环依赖 -辅助计算中的无限循环
  • 模块完整性 -空模块(警告)和引用缺失成员的模块(错误)

XMILE兼容性

  • 输出文件使用 XMILE标准
  • 兼容 斯特拉专业1.9+ 和 斯特拉建筑师
  • 自动布局合理定位元素;如果需要,在Stella中手动调整
  • 带空格的变量名在内部转换为下划线
  • 解析器对导入的库存流入/流出和连接器端点引用进行规范化
  • 时间步长导出避免了有损的倒数舍入(非精确倒数被导出为明文 dt)
  • 导入/导出在支持的部分(标头、sim_specs、变量、视图/模型附加内容)上保留未知的attr/element,以减少往返数据丢失
  • 兼容性语料库回归测试上线 tests/fixtures/compat_corpus/ 并在CI中运行
  • 维护助手: python scripts/sync_compat_corpus_manifest.py --check 验证语料库清单同步

项目结构

stella-mcp/
├── README.md
├── LICENSE
├── pyproject.toml
└── stella_mcp/
    ├── __init__.py
    ├── server.py      # MCP server wiring + schemas
    ├── tool_handlers.py # Tool handler implementations/registration
    ├── tool_schemas.py  # MCP tool schema definitions
    ├── xmile.py       # Core model types + layout logic
    ├── xmile_io.py    # XMILE parsing/export helpers
    └── validator.py   # Model validation logic

贡献

欢迎投稿!请随时提交问题或拉取请求。

维护人员发布

PyPI发布由以下人员处理 .github/workflows/publish.yml 使用PyPI可信 出版。要发布新版本,请执行以下操作:

  1. 更新中的版本 pyproject.toml 和 stella_mcp/__init__.py.
  2. 将发布更改合并到 main.
  3. 例如,创建并发布带有匹配标签的GitHub版本 v0.5.0.

GitHub发布事件构建源代码分发和轮,然后发布 通过配置的可信发布者将它们发送到PyPI。

许可证

MIT许可证-请参阅 许可证 了解详情。

致谢

工具与能力

工具数量

28

资源数量

0

提示词数量

0

能力标签

系统动力学Python本地部署模型构建AI辅助StellaXMILE

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 工具数量 28 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Stella MCP Server

MCP World · 本页

28stdio有2 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Stella MCP Server 怎么安装?

公开资料给出的安装命令是 pip install stella-mcp,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Stella MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Stella MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Stella MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Stella MCP Server 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP