MCP server exposing ANSYS Lumerical FDTD as a tool an AI assistant can drive
27 tools with complete schemas and descriptions, but quality is uneven. Most tools have basic descriptions (50-150 chars) and proper parameter types, meeting minimum standards. However, descriptions lack LLM-optimized guidance on WHEN to use each tool vs. alternatives, and many parameters lack constraints (enums, ranges). Error handling is minimal, tools return raw results without recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk distinctions (WRITE vs READ_ONLY). Output schemas are not documented. Composition is reasonable (single responsibility per tool), but parameter naming could be more explicit (e.g., 'dimension' should be 'simulation_dimension' with enum constraint).
Add a circular geometry object to the simulation
Add a dipole source to the simulation
Add an FDTD simulation region to the project
Add a Gaussian beam source to the simulation
Add a grating analysis group to the simulation
Add a magneto-optic material with tensor properties
Add a mode-expansion monitor to the simulation
Add a plane wave source to the simulation
No tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite clear risk classification. 14 WRITE tools and 13 READ_ONLY tools are unmarked, preventing agents from reasoning about side effects and retry safety.
Parameter constraints missing. 'dimension' in add_fdtd_region accepts '2D' or '3D' but has no enum constraint. 'monitor_type', 'boundary_condition', 'dipole_type', 'plane_wave_type' similarly lack enums, inviting hallucinated values.
Output schemas not documented. Tools like get_result, compute_q_factor, compute_purcell_factor, compute_farfield return complex structures (arrays, nested objects) but no schema is visible in descriptions. LLMs cannot plan downstream calls without knowing return structure.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | <=2025-11-25 | v2 |
Add a power monitor to the simulation
Add a rectangular geometry object to the simulation
Add a spherical geometry object to the simulation
Add a time-domain monitor to the simulation
Close the Lumerical FDTD session
Compute far-field radiation pattern from a far-field analysis group
Compute Purcell factor for a dipole source
Compute quality factor from time-domain monitor data
Diagnose an error message and provide remediation advice
Get simulation results from a monitor
Load an existing Lumerical FDTD project file
Create a new Lumerical FDTD project
Run the FDTD simulation
Save the current project to a file
Get a summary of objects in the current scene
Get the current Lumerical FDTD session object
Set boundary conditions for the FDTD region
Set global monitor settings
Set a property of a named object
Vague parameter names and descriptions. 'set_named' is generic, does not convey it modifies object properties. 'session' returns 'the current Lumerical FDTD session object' but does not explain what fields/methods the object exposes or when to call it.
No error recovery guidance. Tools have no descriptions of failure modes or recovery steps. E.g., if run_simulation fails due to invalid geometry, the agent has no hint to call scene_summary or diagnose.