Skip to main content
Glama
Meteor-Simulation

BULC MCP

Official

Shape export obst

shape_export_obst

Voxelizes a selected shape or visible roots and exports it as an FDS obstacle with voxel geometry, optionally aligning voxels to project mesh cells or using shell mode.

Instructions

Shape Studio → FDS: voxelize the shape (node_id, or union of all visible roots) and add it to the model as an obstacle with voxel geometry. Recommended: align_to_mesh=true — voxels then use the project MESH cell size and sit exactly on FDS cell boundaries (no ±1 cell snapping). Otherwise voxel_size (m, e.g. 0.1) or per-axis cell [dx,dy,dz]. voxel_mode "shell" voxelizes only the surface (hollow meshes such as hoods, ducts, funnels, open imported STL); default "solid" fills the inside. origin optionally repositions the bbox min corner in the domain (breaks mesh alignment). [bulc-mcp rules] GEN-003, GEO-009, GEO-010 — bulc_knowledge_search ""

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cellNoPer-axis voxel size [dx,dy,dz] (m) — overrides voxel_size
originNoDomain position of bbox min corner (default: keep authored coords)
node_idNoNode to export (default: union of visible roots)
surf_idNoSURF for all faces (default: node surf or INERT)
voxel_modeNosolid (default) or shell (surface only)
voxel_sizeNoVoxel edge (m), e.g. 0.1 — ignored when align_to_mesh
obstacle_idYesNew obstacle ID
align_to_meshNoUse the (finest) project MESH cell size and grid origin

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv4.0.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations establish a non-destructive write; the description adds real behavioral context: the voxels sit on FDS cell boundaries via align_to_mesh (no +/-1 snapping), origin repositions the bbox and 'breaks mesh alignment', and voxel_size is ignored when align_to_mesh is set. It does not mention permissions, side effects on the shape, or whether the source shape is consumed, but the alignment/snapping semantics are valuable beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded purpose followed by dense, earning sentences covering alignment, size overrides, mode, and origin. Slightly cluttered by the trailing '[bulc-mcp rules]' reference, but overall efficient for an 8-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-param, no-output-schema write tool, the description covers all the semantic decisions an agent must make (alignment, sizing, fill mode, positioning). It is complete enough to invoke correctly, with only minor gaps around side effects and source-shape handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds precedence rules the schema does not state (cell overrides voxel_size; voxel_size ignored under align_to_mesh) and concrete examples for shell mode ('hoods, ducts, funnels, open imported STL'). It enriches the interaction between parameters rather than restating them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'voxelize the shape ... and add it to the model as an obstacle with voxel geometry.' It distinguishes itself from sibling geometry tools and obstacle-creation tools by naming the exact transformation (Shape Studio -> FDS). An agent can identify this as the shape-to-obstacle conversion step without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives strong conditional guidance: 'Recommended: align_to_mesh=true', shell vs solid based on whether the mesh is hollow, and voxel_size vs per-axis cell. It does not name alternative tools (e.g. shape_preview_voxels or add_obstacle) or state when not to use this tool, so routing vs siblings is left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools