Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ZEMAX_MCP_ZEMAX_ROOTNoZemax root whose Glasscat subdirectory should be searched
ZEMAX_MCP_INSTALL_DIRNoOpticStudio installation root
ZEMAX_MCP_INSTANCE_IDNoInteractive Extension instance ID0
ZEMAX_MCP_WORKER_NAMENoInternal serialized ZOS worker namezemax-zos-worker
ZEMAX_MCP_ZOSAPI_PATHNoZOS-API directory or full path to ZOSAPI.dll
ZEMAX_MCP_GLASSCAT_DIRNoExplicit Glasscat search root(s), separated by the Windows path separator
ZEMAX_MCP_CONNECTION_MODENostandalone or extensionstandalone
ZEMAX_MCP_ALLOW_DESTRUCTIVENoMust be 1 in addition to explicit tool confirmation for destructive Design Lockdown

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
zemax_add_configuration_operandD

Add an MCE operand.

zemax_add_material_catalogB

Add a material catalog to the current optical system.

zemax_add_operandC

Add an optimization operand to the merit function.

zemax_add_surfaceC

Insert a new sequential surface.

zemax_analysis_seriesC

Run an arbitrary series analysis and return decimated curves.

zemax_batch_ray_traceC

Trace a batch of normalized sequential rays.

zemax_cardinal_pointsC

Calculate focal lengths, principal planes, and other cardinal points.

zemax_chromatic_focal_shiftB

Calculate longitudinal chromatic focal shift versus wavelength.

zemax_close_fileA

Close the current optical system while retaining the application connection.

zemax_connectC

Connect to OpticStudio in standalone or interactive-extension mode.

zemax_constrained_optimizeC

Run the custom bound-constrained Levenberg-Marquardt optimizer.

zemax_delete_configuration_operandC

Delete an MCE operand row.

zemax_design_lockdownC

Apply destructive Design Lockdown to an owned disposable sequential system.

zemax_diffraction_encircled_energyC

Calculate FFT diffraction encircled energy versus radius.

zemax_disconnectC

Disconnect cleanly and close an owned OpticStudio application.

zemax_evalC

Advanced backend-defined diagnostic/evaluation escape hatch; disabled unless explicitly allowed.

zemax_export_analysisB

Export an analysis result as text, bitmap, or structured data.

zemax_export_glass_catalogC

Export filtered glasses to a new AGF catalog.

zemax_fft_mtfC

Calculate diffraction FFT MTF curves for all fields.

zemax_fft_mtf_vs_fieldB

Calculate polychromatic FFT MTF versus Y field for up to six frequencies.

zemax_fft_psfC

Calculate a diffraction FFT point-spread function.

zemax_field_curvature_distortionC

Calculate tangential/sagittal field curvature and distortion.

zemax_filter_glassesC

Filter glasses by preferred state, optical coordinates, cost, TCE, coverage, and melt frequency.

zemax_forbes_merit_functionC

Build explicit OPD operands using Forbes 1988 Gaussian quadrature sampling.

zemax_geometric_encircled_energyB

Calculate ray-based geometric encircled energy versus radius.

zemax_geometric_image_analysisC

Run geometric image analysis and return/export the image grid.

zemax_geometric_mtfC

Calculate geometric MTF curves for all fields.

zemax_geometric_mtf_vs_fieldC

Calculate geometric MTF versus field for up to six frequencies.

zemax_get_afocal_modeB

Get the sequential afocal-mode setting.

zemax_get_apodizationB

Get aperture apodization settings.

zemax_get_aspheric_surfaceC

Get Even Asphere conic and alpha1-alpha8 coefficients.

zemax_get_clear_semi_diameter_marginC

Get the clear semi-diameter margin.

zemax_get_configurationA

Get number of configurations and current configuration.

zemax_get_configuration_operandsB

Get MCE operands and values across configurations.

zemax_get_extra_dataC

Read surface Extra Data (XDAT) values.

zemax_get_glass_catalogsB

List glass catalog names installed in Glasscat.

zemax_get_glassesB

List glasses and optical/manufacturing properties from catalogs.

zemax_get_merit_functionC

Retrieve merit-function operands and optional calculated values.

zemax_get_mtf_unitsB

Get MTF spatial-frequency units.

zemax_get_polarizationB

Get the current optical system's default input polarization settings.

zemax_get_ray_aimingB

Get the ray-aiming setting.

zemax_get_surfaceC

Get detailed data for a sequential surface.

zemax_get_surface_solvesB

Get solve, pickup, and variable states for all surface properties.

zemax_get_systemC

Get optical-system data, optionally including surfaces, fields, and wavelengths.

zemax_get_system_unitsB

Get the current optical system's lens units.

zemax_get_title_notesA

Get the current optical system's title, notes, and author.

zemax_get_variablesB

Scan the system for optimization variables and constraint states.

zemax_global_searchC

Run native global optimization with optional glass substitution.

zemax_hammerC

Run native Hammer optimization.

zemax_huygens_mtfC

Calculate Huygens MTF by direct pupil integration.

zemax_huygens_psfC

Calculate a Huygens point-spread function.

zemax_infoC

Report the current session and optical-system information.

zemax_lateral_colorB

Calculate lateral color versus field.

zemax_lde_insert_surfaceC

Insert a surface at a zero-based LDE position.

zemax_lde_set_surfaceC

Legacy wrapper for editing common surface properties.

zemax_lde_summaryA

Return a compact sequential Lens Data Editor prescription.

zemax_list_surface_typesB

List surface types supported by the installed OpticStudio build.

zemax_load_merit_function_fileC

Load a .MF merit-function file.

zemax_longitudinal_aberrationB

Calculate longitudinal aberration versus pupil position.

zemax_mce_add_configC

Legacy wrapper to append a configuration.

zemax_mce_add_operandC

Legacy wrapper to append an MCE operand.

zemax_mce_summaryD

Legacy compact MCE summary.

zemax_merit_valueB

Calculate the current merit-function value.

zemax_merit_wizardC

Legacy merit-function wizard wrapper.

zemax_multistart_optimizeB

Start non-blocking randomized multistart constrained optimization.

zemax_multistart_statusB

Poll multistart progress without blocking.

zemax_multistart_stopB

Request graceful stop of multistart optimization.

zemax_new_systemB

Create a blank sequential or non-sequential optical system.

zemax_nsc_add_objectC

Append a non-sequential object.

zemax_nsc_clear_detectorsA

Clear all or one non-sequential detector.

zemax_nsc_convert_to_nonsequentialB

Convert or make the current optical system non-sequential.

zemax_nsc_convert_to_sequentialC

Convert an eligible NSC group to sequential mode.

zemax_nsc_detector_dataC

Read full detector data and aggregate statistics.

zemax_nsc_detector_pixelC

Read one detector pixel or aggregate index.

zemax_nsc_detector_viewerC

Run bounded Detector Viewer extraction for scalar or RGB data.

zemax_nsc_get_objectB

Get a non-sequential object and its common/type-specific data.

zemax_nsc_get_object_parameterC

Get a type-specific NSC object parameter.

zemax_nsc_get_source_spectrumC

Get typed spectrum settings for an NSC source object.

zemax_nsc_insert_objectC

Insert a non-sequential object.

zemax_nsc_load_detectorC

Load detector data from a type-compatible detector data file.

zemax_nsc_polar_detector_dataC

Read bounded full Detector Polar data.

zemax_nsc_polar_detector_pixelC

Read one Detector Polar pixel or aggregate value.

zemax_nsc_ray_traceC

Run a non-sequential ray trace.

zemax_nsc_remove_objectC

Remove a non-sequential object.

zemax_nsc_save_detectorC

Save detector data to a type-compatible detector data file.

zemax_nsc_set_objectC

Set common placement, material, comment, and reference properties of an NSC object.

zemax_nsc_set_object_parameterC

Set a type-specific NSC object parameter.

zemax_nsc_set_source_spectrumC

Set typed spectrum settings for an NSC source object.

zemax_nsc_summaryB

List non-sequential objects and common properties.

zemax_opd_fanB

Calculate optical-path-difference fans for all fields and wavelengths.

zemax_open_fileC

Open a Zemax .zmx or .zos lens file.

zemax_operand_helpC

Get detailed documentation for an optimization operand.

zemax_optimization_wizardC

Construct a merit function using Optimization Wizard criteria.

zemax_optimizeC

Run native local optimization.

zemax_popC

Run Physical Optics Propagation (POP).

zemax_pupil_aberration_fanB

Calculate entrance-pupil aberration fans.

zemax_quick_focusC

Run Quick Focus to adjust back focal distance.

zemax_ray_fanB

Calculate transverse ray aberration fans for all fields and wavelengths.

zemax_ray_traceC

Trace one normalized sequential ray.

zemax_relative_illuminationB

Calculate relative illumination and effective F-number versus field.

zemax_remove_material_catalogC

Remove a material catalog from the current optical system.

zemax_remove_operandB

Remove a merit-function operand.

zemax_remove_surfaceC

Remove a sequential surface.

zemax_restartA

Restart the OpticStudio connection when the current session is unhealthy.

zemax_rms_spotC

Calculate an RMS spot radius for a normalized field point.

zemax_run_analysisC

Run an arbitrary AnalysisIDM by name and extract sample results.

zemax_run_tolerancingC

Run bounded Monte Carlo tolerancing.

zemax_save_fileB

Save the current lens, optionally using Save As.

zemax_save_merit_function_fileC

Save the merit function to a .MF file.

zemax_scale_lensC

Scale a disposable lens by factor or convert it to another lens unit.

zemax_search_operandsB

Search operand names and descriptions.

zemax_seidel_coefficientsC

Calculate third-order Seidel and chromatic aberration coefficients.

zemax_set_afocal_modeA

Enable or disable sequential afocal mode.

zemax_set_apertureC

Set the system aperture type and value.

zemax_set_apodizationC

Set aperture apodization type and factor.

zemax_set_aspheric_surfaceC

Convert to Even Asphere and set conic and alpha coefficients.

zemax_set_clear_semi_diameter_marginC

Set the clear semi-diameter margin.

zemax_set_configuration_operand_valueC

Set a value or pickup solve for one configuration operand cell.

zemax_set_current_configurationC

Set the active configuration.

zemax_set_extra_dataC

Set one or more surface Extra Data (XDAT) values.

zemax_set_fieldsC

Set all field points and the field coordinate type.

zemax_set_mtf_unitsC

Set MTF spatial-frequency units.

zemax_set_number_of_configurationsC

Set the number of configurations.

zemax_set_number_of_fieldsC

Set the number of field rows.

zemax_set_number_of_wavelengthsC

Set the number of wavelength rows.

zemax_set_polarizationC

Update the current optical system's default input polarization settings.

zemax_set_ray_aimingB

Set ray aiming to Off, Paraxial, or Real.

zemax_set_surfaceC

Modify common properties and variable states of a sequential surface.

zemax_set_surface_parameterC

Set a type-specific surface parameter.

zemax_set_surface_solveD

Set the solve type for a surface property.

zemax_set_surface_typeC

Change a surface to a named Zemax surface type.

zemax_set_system_unitsC

Set the current optical system's lens units.

zemax_set_title_notesC

Update the current optical system's title, notes, and author.

zemax_set_variableC

Legacy wrapper to make a surface cell variable.

zemax_set_variable_constraintsC

Set hard min/max constraints on optimization variables.

zemax_set_wavelengthsB

Replace wavelength definitions and select the primary wavelength.

zemax_spot_diagramC

Calculate spot-size analysis for one field.

zemax_spot_rmsB

Legacy RMS spot radius analysis for every field.

zemax_statusA

Return connection, ownership, license, and current-system status.

zemax_tde_summaryB

Return tolerance operands and bounds.

zemax_tolerance_wizardC

Populate default sequential tolerances.

zemax_zrd_readC

Read a bounded nested ray and segment sample from a ZRD.

zemax_zrd_summaryB

Stream an existing ZRD and return bounded aggregate metadata.

Prompts

Interactive templates invoked by user choice

NameDescription
zemax_analyze_systemPlan a concise quality review of the current optical system.
zemax_optimize_systemPlan a bounded, inspectable sequential optimization workflow.
zemax_build_nsc_systemPlan a non-sequential illumination or stray-light workflow.

Resources

Contextual data attached and managed by the client

NameDescription
zemax-tool-manifestComplete Zemax MCP union tool manifest.
zemax-capability-evidenceDerived production capability and live-evidence summary.
zemax-session-statusCurrent CLR-free session status snapshot.

TDQS

C2.7/5.0

Scored across 143 tools

Disambiguation2/5

Many tools overlap heavily, including legacy wrappers alongside modern equivalents (e.g., zemax_set_surface vs zemax_lde_set_surface, zemax_optimization_wizard vs zemax_merit_wizard) and multiple spot/MTF/detector variants. Descriptions sometimes clarify legacy status, but the boundaries remain unclear and misselection is likely.

Naming Consistency4/5

Almost all tools use a consistent zemax_ prefix and snake_case, and getter/setter pairs follow predictable verb_noun patterns. However, many analysis tools use noun phrases (e.g., zemax_fft_mtf, zemax_ray_fan) and legacy wrappers introduce minor naming deviations.

Tool Count1/5

With 143 tools, this server is far beyond any reasonable MCP tool surface, even for a complex optical design domain. The set includes many legacy wrappers and overlapping analysis/detector variants, making it an extreme mismatch rather than a well-scoped collection.

Completeness5/5

The surface covers sequential and non-sequential systems, surface/object CRUD, optimization, tolerancing, numerous analyses, file lifecycle, and configuration handling. No obvious core gaps are apparent for the stated optical design purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues