Plant Simulation Research Bridge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bridge_infoA | Return bridge version, available policies/backends, and verification status. |
| validate_instanceB | Validate a scheduling instance and report engine compatibility and summary statistics. |
| compare_policiesC | Run FIFO/SPT/EDD (or a subset) over seeds and compare standard metrics with reference cross-check. |
| run_experimentC | Run one dispatch policy over one or more seeds and persist reproducible records. |
| reproduce_runB | Run the same instance/policy/seed several times and verify identical schedules and metrics. |
| generate_simtalkC | Generate model/table/dispatch/result SimTalk templates for Plant Simulation (NOT_VERIFIED). |
| schedule_vs_referenceB | Compare the dispatch engine schedule with the independent reference oracle for one policy. |
| list_runsC | List stored run records under a work directory. |
| experiment_summaryB | Aggregate stored run records (counts by status/policy, metric aggregates, validity failures). |
| model_statusB | Report whether a model session is connected and which model it tracks. |
| model_openC | Load a .spp model into the running Plant Simulation and fingerprint the file. |
| model_list_objectsC | List the objects in a frame (name and real class path per object). |
| model_object_infoC | Return one object's name and real class path. |
| model_create_deviceC | Create a device from the measured class allow-list and return its path. |
| model_delete_deviceB | Delete one object. Requires confirm=true; never deletes the frame. |
| model_connect_objectsC | Connect a source to a target with a MaterialFlow connector. |
| model_get_propertyC | Read one writable attribute of an object. |
| model_set_propertyC | Write one attribute declared writable for that object class, then read it back. |
| simulation_statusB | Report whether the EventController runs, the simulated time and the end period. |
| simulation_startB | Start the EventController. Returns immediately (measured: start is asynchronous). |
| simulation_stopB | Stop the EventController and report where it stopped. |
| simulation_resetC | Reset the EventController without touching the model. |
| simulation_runC | Start and block until the controller stops, polling isRunning. |
| method_createC | Create a Method object in a frame and write its SimTalk source. |
| method_set_sourceB | Replace a Method's SimTalk source; the write is read back and compared. |
| method_get_sourceC | Read a Method's SimTalk source. |
| object_set_controlC | Attach a Method as an object's EntranceCtrl, ExitCtrl or InitCtrl. |
| mu_create_attributeC | Declare a custom attribute on the MU class (e.g. OpIndex, integer). |
| simulation_set_sourceC | Make a Source emit a fixed number of parts, starting at a given time. |
| model_read_countersC | Read StatNumIn, StatNumOut and StatWorkingTime for named objects in a frame. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 30 tools
Most tools have clearly distinct resource+action targets, and potentially overlapping pairs (simulation_start vs simulation_run, run_experiment vs compare_policies vs schedule_vs_reference) are differentiated by their descriptions. A few boundaries in the experiment group remain fuzzy, e.g. run_experiment vs reproduce_run vs schedule_vs_reference all execute a policy over seeds.
Tools fall into clear families (model_*, simulation_*, method_*), but the pattern within families flips between noun_verb (model_status, simulation_status, experiment_summary) and verb_noun (model_open, simulation_start, validate_instance, list_runs). The unprefixed tools (bridge_info, generate_simtalk, object_set_control, mu_create_attribute) add further variation, though everything remains readable.
30 tools is heavy relative to the apparent scope, and several (model_get_property/model_object_info, model_status/bridge_info) could plausibly be consolidated. The surface feels like it grew by adding one tool per capability rather than being scoped deliberately.
Scheduling (validate/run/reproduce/compare/list/aggregate) and model manipulation cover strong lifecycle depth, but there are gaps: no way to close or save a model session, no method delete or method listing, and deletion is limited to devices via model_delete_device. Agents can work around these but will hit dead ends when cleaning up or discovering existing methods.