使用说明
Simulations MCP Server
AI-powered simulation modeling for ExtendSim
An MCP (Model Context Protocol) server that enables AI assistants to build, configure, run, and analyze ExtendSim simulation models. Works with Claude Code, Claude Desktop, Gemini CLI, Cursor, and ChatGPT.
Note: This is an independent third-party tool by Duke Systems AB. It is not affiliated with or endorsed by Imagine That, Inc. (a subsidiary of ANDRITZ Inc.), the makers of ExtendSim.
Overview
AI Client (Claude, Gemini, Cursor, ChatGPT)
│
│ MCP Protocol (JSON-RPC 2.0)
▼
TypeScript MCP Server (116 tools)
│
│ JSON over stdin/stdout
▼
Python COM Backend (pywin32)
│
│ COM/DCOM
▼
ExtendSim Application
The server exposes 116 tools across 18 categories:
| Category | Tools |
|---|---|
| Model Management | model_open, model_save, model_new, model_close, model_info, model_validate, model_extract, model_overview, model_snapshot, model_list, model_files_list, model_files_repoint, model_files_configure |
| Block Operations | block_add, block_add_batch, block_connect, block_disconnect, connect_chain, connect_graph, block_remove, block_list, connection_list, block_info, block_discover, block_discover_variables, block_introspect |
| Block Layout | block_move, block_get_position, block_align, block_duplicate, block_find |
| Configuration | block_configure, block_set_value, block_get_value, execute_command, attribute_set, attribute_get, table_get, table_set, detect_attributes, resources_configure |
| Simulation | simulation_run, simulation_stop, simulation_pause, simulation_resume, simulation_status, simulation_get_results, simulation_setup_get, simulation_setup_set, simulation_step, simulation_get_state |
| Statistics | block_get_stats, simulation_get_block_stats, resource_pool_get_stats |
| Multi-Run | simulation_run_multi, simulation_run_scenarios, scenario_manager_configure, scenario_manager_run, scenario_manager_status, scenario_manager_get_results, optimizer_configure, optimizer_run, optimizer_get_results, analysis_manager_configure, analysis_manager_get_results |
| Database | db_list, db_table_info, db_get_value, db_set_value, db_get_records, db_add_records, db_delete_records, db_create, db_import, db_export, db_find_record, db_sort, db_relations_list, db_relation_create |
| Global Arrays | ga_list, ga_create, ga_read, ga_write |
| Hierarchy | hierarchy_list, hierarchy_get_contents |
| AI Assistance | MCP_init, modeling_guide, pattern_search, model_advisor, simulation_type_guide, guide_draft, guide_save, guide_delete |
| Reference | modl_search, block_search, block_profile, dialog_search, template_list, block_template |
| Templates | text_block_add |
| Time/Date | time_convert |
| Context | context_set, context_get, context_clear |
| Status | extendsim_status, extendsim_start, extendsim_get_license |
| Patterns & Mining | instantiate_pattern, compose_flow, list_patterns, get_pattern, extract_psg, mine_candidates, cluster_patterns, approve_pattern |
| Telemetry | telemetry_control |
Requirements
- Windows 10/11 (64-bit)
- Node.js 18+
- Python 3.9+ — developed and tested on 3.13; the backend uses no syntax newer than 3.7
- Python packages:
pip install -r src/ExtendSimMCP.TypeScript/requirements.txt(pywin32for COM,comtypesfor reading the text of blocking ExtendSim dialogs — without the latter the server still runs and still dismisses dialogs, but a timeout can no longer tell you what ExtendSim complained about) - ExtendSim installed with COM component registered
Quick Start
Install from Source
cd src/ExtendSimMCP.TypeScript
npm install
npm run build
Install from Installer
Download SimulationsMCP-Setup-1.27.0.exe from the installer/ directory and run it.
The prebuilt installer matches the current source: v1.27.0, 116 tools. See CHANGELOG.md
for release history.
Configure Your AI Client
Add to your MCP configuration (e.g., .mcp.json for Claude Code):
{
"mcpServers": {
"SimulationsMCP": {
"command": "node",
"args": ["C:/Program Files/SimulationsMCP/dist/index.js"]
}
}
}
For other clients (Claude Desktop, Gemini CLI, Cursor, ChatGPT), see the User Manual.
First Session
- Start ExtendSim
- Open your AI client
- Run
MCP_initto get rules and guidance - Use
modeling_guideorpattern_searchto find the right approach - Build, configure, run, and analyze your simulation
Transport Modes
| Mode | Use Case | Setup |
|---|---|---|
| stdio (default) | Claude Code, Claude Desktop, Gemini CLI, Cursor | Zero config — AI client starts the server as a subprocess |
| HTTP | ChatGPT | Windows Service on localhost:3001, requires HTTPS reverse proxy |
Key Features
- block_configure — Single tool that auto-detects block type and configures Activity, Queue, Create, Exit, Select Item, Gate, Tank, Valve, and 25+ more block types
- Fire-and-forget —
simulation_runstarts non-blocking by default; poll with status tools.scenario_manager_runandoptimizer_runcheck their outcome withwaitForCompletion: true - 268 example models — Search verified patterns via
pattern_search - 12 modeling guides — Step-by-step guidance for queuing, manufacturing, logistics, resources, flow, and continuous systems
- Block guides —
block_searchwithdetail: trueexplains a block: what it is for, recipes proved with the server's tools, what is not proved, and pitfalls (first: Queue Matching, Queue Equation, Query Equation (I)) - block_profile — understand any block, including your own libraries, by asking ExtendSim through COM
- Model advisor — Automatic warnings, suggestions, and completions for your model
- Auto-dialog-dismisser — Clicks OK on ExtendSim's own blocking message boxes (never another program's), also during long simulations, and passes the message text to the AI; also closes ExtendSim's start-up reminders, whose text (it can hold the licence key) is never passed on
- Stuck-safe — If ExtendSim does not finish a command, further commands are answered at once
with
EXTENDSIM_BUSYinstead of queuing behind it; the server resumes by itself when ExtendSim answers
Documentation
- User Manual — Installation, configuration, tool reference, workflows, troubleshooting
- Design Document — Architecture, security analysis, threat model, data flows
Build
cd src/ExtendSimMCP.TypeScript
npm install
npm run build
The test suite and development tooling are kept in the development repository and are not part of this distribution.
Security
- stdio mode: In stdio mode the server listens on no port. Its only network activity is that monthly guide check; the fetched file is treated as untrusted input (size-capped, schema-validated, unknown fields dropped).
- No credentials stored — COM uses Windows process-level trust
- Local-only telemetry — Usage patterns logged to disk, never transmitted
- Input validation — Zod schemas on all tool parameters, ModL string sanitization
- Works fully offline. By default the server checks
duke.sefor newer modelling guides at most once a month, with one HTTPS GET that sends nothing about you or your models. Turn it off withSIMULATIONSMCP_WEB_LOOKUP=off, or machine-wide withpolicy.json(see the user manual).
See the Design Document for the full security architecture and threat analysis.
License
MIT — see LICENSE
Author
Duke Systems AB
Built with the Model Context Protocol
Trademark Notice: ExtendSim is a registered trademark of Imagine That, Inc., a subsidiary of ANDRITZ Inc. This project is an independent third-party integration and is not affiliated with, endorsed by, or sponsored by Imagine That, Inc. or ANDRITZ. All other trademarks are the property of their respective owners.
