COMSOL MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| COMSOL_PATH | Yes | Path to the COMSOL installation directory, e.g., C:\Program Files\COMSOL\COMSOL62\Multiphysics |
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
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| launch_guiA | Launch the COMSOL desktop GUI with the live bridge loaded. Operations issued afterwards drive the visible GUI in real time. |
| connect_guiB | Connect to an already-running COMSOL GUI bridge. |
| gui_statusA | Report the current GUI/bridge session state. |
| shutdown_guiA | Stop the COMSOL GUI bridge session. |
| load_modelC | Load a .mph model from disk. |
| save_modelB | Save the current model to a .mph file. |
| new_modelB | Create a new empty model. |
| model_infoA | Return the structure of the current model. |
| add_blockC | Add a block (box) to a geometry sequence. |
| add_cylinderC | Add a cylinder to a geometry sequence. |
| add_sphereC | Add a sphere to a geometry sequence. |
| boolean_opC | Boolean combine geometry features (union|intersect|difference). |
| import_geometryC | Import a geometry from a CAD/file format. |
| add_physicsB | Add a physics interface (ht, spf, tds, es, solid, ...). |
| add_materialC | Add a material to the model. |
| build_meshD | Build the mesh. |
| add_studyB | Add a study (Stationary|TimeDependent|Parametric|Eigenfrequency). |
| run_solverC | Run the solver for a study. |
| solver_statusB | Report whether a study has been solved. |
| evaluateC | Evaluate an expression (or global evaluation) and return data. |
| export_resultsC | Export results (plot/data) to a file. |
| exec_model_apiA | Run arbitrary COMSOL Java API code. Provide either a full class with |
| generate_model_javaA | Generate a standalone, compilable COMSOL Java model source file. Works WITHOUT COMSOL installed. Use it on a COMSOL-less machine to prepare a
Java model, then move the file to a COMSOL machine and compile it:
comsolcompile .java
comsolbatch -java
|
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 23 tools
Each tool targets a distinct stage or resource: geometry primitives, physics/material, mesh/study/solver, results, model files, GUI bridge, and code generation. Even similar lifecycle tools such as launch_gui vs connect_gui and solver_status vs gui_status are clearly separated. exec_model_api is intentionally broad but explicitly labeled as arbitrary Java API, so it does not create real ambiguity.
Many tools follow a verb_noun pattern, but the set is mixed: add_* dominates creation, while solver_status, gui_status, and model_info use noun-first naming, and boolean_op lacks a verb entirely. The names are readable and all lowercase with underscores, but the conventions are not consistent enough for a strong score.
With 23 tools, this sits in the 16-25 'heavy' band. The breadth is somewhat justified by COMSOL's wide scope spanning geometry, physics, meshing, solving, GUI, file I/O, and code generation, but the count feels slightly large for an MCP tool surface.
The set covers the core COMSOL workflow end-to-end: new/load/save models, geometry creation, physics and materials, meshing, studies, solving, evaluation, export, and GUI bridging. Fine-grained editing of existing features, material properties, or mesh settings is missing, but exec_model_api and generate_model_java provide workarounds for those gaps.