ensure_geometry
Ensure a geometry sequence exists in a server-side COMSOL model by specifying component, geometry name, and spatial dimension.
Instructions
Ensure a geometry sequence exists in the selected server-side model.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| component | No | comp1 | |
| geometry | No | geom1 | |
| dimension | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- comsol_mcp/mcp_server.py:744-756 (handler)The `ensure_geometry` MCP tool function decorated with @mcp.tool(). It defines the handler that wraps the inner _impl function and calls _run_tool to execute the tool logic.
@mcp.tool() def ensure_geometry(component: str = "comp1", geometry: str = "geom1", dimension: int = 2) -> str: """Ensure a geometry sequence exists in the selected server-side model.""" def _impl() -> dict[str, Any]: return _ensure_geometry_java( _require_model(), component.strip() or "comp1", geometry.strip() or "geom1", int(dimension), ) return _run_tool("ensure_geometry", _impl) - comsol_mcp/mcp_server.py:421-429 (helper)The `_ensure_geometry_java` helper function that performs the actual COMSOL Java API calls: ensures a component exists, then ensures a geometry sequence with the given dimension exists within that component.
def _ensure_geometry_java(model: Any, component: str, geometry: str, dimension: int) -> dict[str, Any]: java = model.java if component not in list(java.component().tags()): java.component().create(component, True) if dimension <= 0: dimension = 2 if geometry not in list(java.component(component).geom().tags()): java.component(component).geom().create(geometry, dimension) return {"component": component, "geometry": geometry, "dimension": dimension} - comsol_mcp/mcp_server.py:748-754 (handler)The inner `_impl` closure inside ensure_geometry that calls _ensure_geometry_java with the current model and validated arguments.
def _impl() -> dict[str, Any]: return _ensure_geometry_java( _require_model(), component.strip() or "comp1", geometry.strip() or "geom1", int(dimension), ) - comsol_mcp/mcp_server.py:745-746 (schema)The docstring/description and parameter definitions (component, geometry, dimension) for the ensure_geometry tool.
def ensure_geometry(component: str = "comp1", geometry: str = "geom1", dimension: int = 2) -> str: """Ensure a geometry sequence exists in the selected server-side model.""" - comsol_mcp/mcp_server.py:744-744 (registration)The @mcp.tool() decorator on ensure_geometry registers this function as an MCP tool with the FastMCP server instance.
@mcp.tool()