Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ABAQUS_MCP_HOMENoWorking directory for file IPCauto-detect
ABAQUS_MCP_HOSTNoTCP host for the bridge127.0.0.1
ABAQUS_MCP_PORTNoTCP port for the bridge48152
ABAQUS_MCP_TIMEOUTNoSocket timeout in seconds60
ABAQUS_MCP_PLUGIN_DIRNoPlugin install directory~/abaqus_plugins
ABAQUS_MCP_MAX_MESSAGE_BYTESNoMax message size33554432

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
pingB

Check whether the Abaqus-side socket bridge is reachable.

check_abaqus_connectionC

Return a concise human-readable bridge status.

run_pythonB

Execute Python code in the active Abaqus/CAE kernel.

Single-line expressions are evaluated and returned. Multi-line scripts are executed; set a variable named result to return structured data.

execute_scriptC

Compatibility wrapper around run_python that returns stdout/text.

set_workdirC

Change the current Abaqus working directory.

get_model_infoC

Get parts, materials, steps, loads, BCs, interactions, jobs, and viewports.

list_jobsB

List all Abaqus jobs in the current CAE session.

submit_jobA

Submit an existing Abaqus job and wait for completion.

monitor_job_statusB

Inspect job objects and tail .sta/.msg diagnostics. Set diagnose=True for full solver-log analysis.

diagnose_jobA

Run a comprehensive solver-log diagnosis on a job's output files.

Scans .sta, .msg, .dat, .log files for 40+ known error/warning patterns across 14 categories: license, convergence, model setup, contact, material, resources, environment, ODB, syntax, explicit, output, scripting, mesh, and general.

Returns a structured Markdown diagnostic panel with severity markers, source file references, and actionable fix suggestions.

inspect_odbB

Open an ODB read-only and return metadata about steps, frames, and outputs.

get_odb_infoC

Compatibility wrapper for inspect_odb returning formatted JSON.

extract_kpisB

Extract KPIs from an ODB file using declarative queries.

queries is a JSON array of query objects, each with:

  • query_id (str): unique identifier for this KPI

  • field (str): field output name, e.g. "S", "U", "RF", "PEEQ", "NT"

  • component (str, optional): e.g. "Mises", "U1", "S11", "RF2"

  • invariant (str, optional): e.g. "Mises", "MaxPrincipal", "Tresca"

  • step (str, optional): step name, default first step

  • frame (str, optional): "last", "first", or frame index, default "last"

  • aggregation (str, optional): max, min, sum, avg, range, abs_max, default "max"

  • region (str, optional): node/element set name, default ALL

Example queries JSON: [ {"query_id": "max_stress", "field": "S", "invariant": "Mises", "aggregation": "max"}, {"query_id": "max_disp", "field": "U", "component": "Magnitude", "aggregation": "max"}, {"query_id": "rf_sum", "field": "RF", "component": "RF2", "aggregation": "sum", "region": "FIXED_END"} ]

Returns a structured Markdown KPI report.

create_capsuleA

Capture current Abaqus session state into an experiment capsule.

Saves model info, job status, output file inventory, and Abaqus version for reproducibility and later comparison.

Args: capsule_id: Unique identifier for this capsule (e.g. "baseline_v1"). notes: Optional description of this run.

list_capsulesA

List all saved experiment capsules.

load_capsuleB

Load a saved experiment capsule by ID.

delete_capsuleB

Delete a saved experiment capsule.

compare_capsulesC

Compare two experiment capsules and show differences.

check_physics_contractsA

Check physics contracts against KPI values from a capsule or direct JSON.

Validates that simulation results meet design requirements defined as contracts (range, threshold, exact, pct_change). Supports two modes:

  1. Direct mode: provide contracts_json and kpis_json directly.

  2. Capsule mode: provide contracts_json and capsule_id to load KPIs from a previously saved experiment capsule.

Args: contracts_json: JSON array of contract dicts. Each dict must have contract_id, kpi_name, contract_type. Optional: expected, tolerance, severity, description. kpis_json: JSON object mapping KPI names to values, e.g. {"max_stress": 345.6}. Required if capsule_id is empty. capsule_id: Load KPIs from this capsule instead of kpis_json.

Contract types: - range: value must be within [min, max] - threshold_gt: value must be greater than X - threshold_lt: value must be less than X - exact: value must equal X (within tolerance) - pct_change: change from baseline must be within X%

Returns: Markdown-formatted contract validation report.

generate_reportA

Generate a comprehensive simulation report in Markdown format.

Combines capsule snapshot, KPI lens results, physics contracts validation, solver diagnosis, and silent failure detection into a single structured report. Supports two modes:

  1. Full mode: provide capsule_id (and optionally contracts_json). The report will include model info, job status, KPIs, solver diagnosis, and contract validation from the capsule.

  2. Quick mode: provide contracts_json and kpis_json directly (uses check_physics_contracts internally).

Args: capsule_id: Load data from this capsule. If provided, the report includes model info, job status, KPIs, and diagnosis from the capsule. contracts_json: JSON array of contract dicts to validate against capsule KPIs. Only used when capsule_id is provided. report_title: Title for the report. output_path: If provided, save the report to this file path. Otherwise, return the report as text. include_silent_failures: If True, run silent-failure checks on the model and include the results in the report.

Returns: The generated report as Markdown text, or a confirmation message if output_path is provided.

capture_viewportC

Capture an Abaqus viewport as base64 image data.

get_viewport_imageC

Compatibility wrapper returning a data URI for the requested viewport.

check_silent_failuresA

Run silent-failure checks on the current Abaqus model.

Detects 7 categories of model issues that Abaqus does not report as errors:

  1. Mesh integrity: parts with zero elements, unmeshable hex requests

  2. Constraint coverage: tie constraints that may silently drop nodes

  3. Volume/logic: cut operations that removed nothing, degenerate geometry

  4. Contact validity: contact pairs without adjacency

  5. Element quality: risky elements (C3D8R hourglass), hourglass-prone configs

  6. Job output: completed jobs with no ODB, meaningless exit codes

  7. Unconstrained parts: instances free to undergo rigid body motion

These checks measure the model you built, not just the answer it produced.

Args: model_name: Name of the model to check (default: first available model). workdir: Working directory for job output checks (default: current).

Returns: Structured Markdown report with pass/fail/warning findings.

check_model_integrityA

Quick model integrity check: mesh, constraints, contacts, volumes.

A fast subset of check_silent_failures focused on the most common silent failures. Runs the same checks but returns a compact format.

Use this after building a model and before submitting a job.

Args: model_name: Name of the model to check (default: first available model).

Returns: Compact text report of findings.

converge_adviceA

Get auto-fix suggestions for convergence problems diagnosed by the Solver Doctor.

Supports two modes:

  1. From diagnosis: pass the result of diagnose_job as diagnosis_result (JSON string). The advisor extracts error/warning patterns and returns ranked fix suggestions.

  2. Direct: pass comma-separated pattern_ids to get advice for specific patterns.

Each suggestion includes:

  • Priority (1 = try first, 5 = last resort)

  • Risk level (low/medium/high)

  • Code template for the fix (where applicable)

  • Description of what to do

Patterns supported: too_many_attempts, time_increment_too_small, maximum_increments_exceeded, negative_eigenvalues, rigid_body_motion, contact_overclosure, excessive_distortion, explicit_stable_time_too_small, zero_pivot, material_instability, excessive_pivot_ratio.

Args: diagnosis_result: JSON string from diagnose_job output. If provided, pattern_ids is ignored. pattern_ids: Comma-separated pattern IDs (e.g., "too_many_attempts,rigid_body_motion"). Only used if diagnosis_result is empty.

Returns: Markdown-formatted fix suggestions with priority and risk levels.

create_elastic_materialC

Create a linear elastic material in Abaqus.

create_plastic_materialB

Create an elasto-plastic material with isotropic hardening.

list_materialsB

List all materials in the specified model.

create_solid_sectionB

Create a homogeneous solid section.

assign_sectionC

Assign a section to a region.

create_encastre_bcC

Create an encastre (fully fixed) BC.

create_displacement_bcC

Create a displacement BC.

create_pressure_loadC

Create a pressure load.

create_gravity_loadC

Create a gravity load.

create_tieC

Create a tie constraint.

create_static_stepC

Create a Static, General step.

create_modal_stepC

Create a Frequency (modal) analysis step.

create_part_cubeB

Create a 3D deformable cube/box part.

create_part_cylinderB

Create a 3D deformable cylinder.

generate_meshC

Generate mesh for the whole model.

get_field_output_summaryC

Get summary of field outputs in an ODB.

set_viewport_displayB

Set the viewport display type and variable.

Args: plot_type: "contour", "symbol", "material", "undeformed" variable: Field output variable (e.g., "S", "U", "RF") component: Component (e.g., "Mises", "U1", "S11") deformation_scale: Deformation scale factor (None = auto)

set_viewport_viewC

Set the camera view in the viewport.

Args: view_type: "iso", "front", "back", "top", "bottom", "left", "right"

set_viewport_annotationsA

Set viewport annotations (title, legend, etc.).

Args: title: Title text for the viewport subtitle: Subtitle text legend: Show/hide legend

create_multiple_viewportsB

Create multiple viewports for side-by-side comparison.

Args: layout: "2x2", "3x1", "1x3", "2x1", "1x2"

create_concentrated_forceB

Create a concentrated force on a vertex or reference point.

create_moment_loadC

Create a moment load on a vertex or reference point.

create_shell_edge_loadC

Create a shell edge load (force per unit length).

create_line_loadC

Create a line load (force per unit length) on an edge set.

create_body_forceB

Create a body force (force per unit volume) on the entire model.

create_heat_flux_loadC

Create a surface heat flux load.

create_body_heat_fluxC

Create a body heat flux (heat generation per unit volume).

create_connector_forceC

Create a connector force on a connector/wire set.

create_symmetry_bcC

Create a symmetry boundary condition.

Args: symmetry_type: "XSYMM", "YSYMM", "ZSYMM", "XASYMM", "YASYMM", "ZASYMM"

create_pinned_bcB

Create a pinned BC (U1=U2=U3=0, rotations free).

create_velocity_bcC

Create a velocity boundary condition.

create_acceleration_bcC

Create an acceleration boundary condition.

create_temperature_bcC

Create a temperature boundary condition.

create_connector_displacement_bcC

Create a connector displacement BC.

create_rigid_body_constraintC

Create a rigid body constraint.

Args: body_type: "BODY" or "PIN" (pin constrains only translational DOFs)

create_coupling_constraintC

Create a coupling constraint between a reference point and a surface.

Args: coupling_type: "KINEMATIC", "DISTRIBUTING", or "STRUCTURAL"

create_mpc_constraintC

Create an MPC constraint.

Args: mpc_type: "BEAM", "LINK", "PIN", "TIE", "ELBOW", "SLIDER", "PLANAR", "REVOLUTE", "UNIVERSAL", "WELD"

create_embedded_regionC

Create an embedded region constraint (e.g., reinforcement in concrete).

create_equation_constraintC

Create a linear equation constraint.

Args: terms: list of (coefficient, set_name, dof) tuples. e.g., [(1.0, "Set-1", 1), (-1.0, "Set-2", 1)] for u1(Set-1) = u1(Set-2)

create_instanceC

Create an instance of a part in the assembly.

translate_instanceC

Translate an instance in the assembly.

rotate_instanceB

Rotate an instance around an axis by a given angle (degrees).

create_reference_pointC

Create a reference point in the assembly.

create_set_by_faceC

Create a set from faces of an instance.

create_set_by_edgesB

Create a set from edges of an instance.

create_set_by_verticesC

Create a set from vertices of an instance.

create_surfaceB

Create a surface from faces of an instance.

create_surface_by_edgesB

Create a surface from edges of an instance (for shell/beam).

find_face_by_coordinateC

Find the face index of an instance closest to the given coordinate.

find_edge_by_coordinateA

Find the edge index of an instance closest to the given coordinate.

create_contact_propertyC

Create a contact interaction property.

create_surface_to_surface_contactC

Create a surface-to-surface contact interaction.

create_surface_to_surface_contact_expB

Create a surface-to-surface contact interaction for explicit analysis.

create_general_contactC

Create a general contact (all-inclusive) interaction.

create_general_contact_expC

Create a general contact for explicit analysis.

create_explicit_stepC

Create an Explicit Dynamics step.

create_heat_transfer_stepC

Create a Heat Transfer step.

create_coupled_temp_disp_stepC

Create a Coupled Temperature-Displacement step.

create_dynamic_implicit_stepC

Create a Dynamic Implicit step.

create_static_riks_stepC

Create a Static Riks step (for post-buckling analysis).

create_buckle_stepC

Create a Linear Buckle step.

create_field_output_requestB

Create a field output request for a specific step.

Args: variables: list of variable names, e.g. ["S", "E", "U", "RF"] frequency: output frequency (every N increments)

create_history_output_requestC

Create a history output request.

Args: variables: list of variable names region_name: set name for the region (empty = whole model) frequency: output frequency (every N increments)

seed_partC

Seed a part with a global element size.

set_element_typeC

Set the element type for a part.

Args: elem_type: e.g., "C3D8R", "C3D8", "C3D10", "CPS4R", "CPE4R", "S4R", "B31"

set_mesh_controlC

Set mesh control algorithm for a part.

Args: algorithm: "MEDIAL_AXIS", "ADVANCING_FRONT", or "SWEEP"

create_tabular_amplitudeC

Create a tabular amplitude.

Args: data: list of (time/frequency, amplitude) tuples smooth: "SOLVER_DEFAULT", "STEP", "LINEAR", "SMOOTH"

create_smooth_step_amplitudeC

Create a smooth step amplitude.

create_periodic_amplitudeC

Create a periodic (Fourier series) amplitude.

get_xy_dataC

Extract XY data from an ODB.

Args: node_label: node label for history-based extraction element_label: element label for element-based extraction frame_index: -1 for last frame

get_history_outputC

Get history output data from an ODB.

get_node_coordinatesC

Get the coordinates of a specific node.

list_elementsB

List elements in an instance with their type and connectivity.

list_nodesC

List nodes in an instance.

create_hyperelastic_materialC

Create a hyperelastic (Mooney-Rivlin) material.

create_viscoelastic_materialC

Create a viscoelastic material with Prony series.

Args: relaxation_data: list of (g_i, k_i, tau_i) Prony series terms

create_thermal_expansionB

Add thermal expansion to an existing material.

create_thermal_conductivityC

Add thermal conductivity to an existing material.

create_specific_heatB

Add specific heat to an existing material.

create_damage_initiationC

Add ductile damage initiation to a material.

create_part_sphereC

Create a 3D sphere part.

create_part_beamC

Create a 3D wire (beam) part.

create_part_plateB

Create a 3D shell (planar) part.

create_beam_sectionC

Create a beam section.

Args: integration: "BEFORE_ANALYSIS" or "DURING_ANALYSIS"

create_shell_sectionC

Create a homogeneous shell section.

Prompts

Interactive templates invoked by user choice

NameDescription
setup_optimizationGuided optimization setup.
setup_dynamic_analysisGuided dynamic analysis setup.
setup_coupled_analysisGuided coupled thermomechanical analysis.
setup_fatigue_analysisGuided fatigue analysis setup.
setup_static_analysisGuided workflow for static stress analysis.
setup_contact_analysisGuided workflow for contact analysis.
define_materialGuided material definition.
setup_meshGuided meshing workflow.
debug_jobGuided job debugging.
extract_odb_resultsGuided ODB result extraction.
setup_modal_analysisGuided modal analysis setup.
setup_thermal_analysisGuided thermal analysis setup.
session_workflowMaster workflow prompt.

Resources

Contextual data attached and managed by the client

NameDescription
session_telemetryLive Abaqus/CAE session telemetry from the socket bridge. Shows models, viewports, version, and connection status.
abaqus_statusCompatibility status resource. Returns the same telemetry as session-telemetry.
_readerAbaqus modeling instructions for MCP clients. Includes skills knowledge base reference.
_readerAbaqus Skills Index
_readerGeometry
_readerMaterial
_readerMesh
_readerInteraction
_readerStep
_readerBoundary Condition
_readerLoad
_readerOutput
_readerJob
_readerODB
_readerStatic Analysis
_readerModal Analysis
_readerContact Analysis
_readerDynamic Analysis
_readerThermal Analysis
_readerFatigue Analysis
_readerCoupled Analysis
_readerOptimization
_readerTopology Optimization
_readerShape Optimization
_readerAmplitude
_readerField
_readerExport
_readerUnits
_readerAPI Documentation
_readerAnalyze multi-body contact. Use when user mentions parts touching, friction between surfaces, bolt-plate contact, press fit, or assembly with contact.
_readerComplete workflow for coupled thermomechanical analysis. Use when user mentions thermal stress, thermal expansion, or temperature causing deformation.
_readerComplete workflow for static structural analysis. Use when analyzing stress, displacement, or reaction forces under constant loads. For strength and stiffness evaluation.
_readerComplete workflow for dynamic analysis. Use when user mentions impact, crash, drop test, transient, or time-varying response. Handles explicit and implicit dynamics.
_readerWorkflow for fatigue and durability analysis - cycle counting, damage accumulation, and fatigue life prediction.
_readerComplete workflow for heat transfer analysis - steady-state and transient thermal. Use when user asks about temperature distribution, conduction, convection, or heat flow.
_readerComplete workflow for modal/frequency analysis - extract natural frequencies and mode shapes. Use for vibration analysis and resonance avoidance.
_readerDeep integration with finite element analysis tools for structural simulation across static, dynamic, and nonlinear domains
_reader>
_readerDefine contact and interactions - contact pairs, tie constraints, connectors. Use when user mentions contact, friction, tie, parts touching, or bonded surfaces.
_readerGenerate finite element meshes. Use when user mentions mesh, elements, nodes, refine mesh, mesh size, or asks about element types like C3D8R, C3D10, S4R.
_readerCreate and manipulate Abaqus geometry - parts, sketches, extrusions, CAD import. Use for any geometry creation task including box, cylinder, or STEP/IGES import.
_readerDefine material properties for FEA models. Use when user mentions steel, aluminum, Young's modulus, elastic, plastic, density, or asks about material properties.
_readerDefine analysis steps and procedures. Use when user mentions static analysis, dynamic step, frequency analysis, heat transfer step, or asks about analysis type, time increments, or nlgeom.
_readerDefine time-varying amplitudes. Use when user mentions ramp, time-varying, cyclic, pulse, or gradually increasing loads. Does NOT handle static constant loads.
_readerApply forces and pressures to structures. Use when user asks to apply a force, add pressure, put a load on, or mentions gravity, point loads, or distributed forces.
_readerDefine boundary conditions - fixed supports, displacements, symmetry. Use when user mentions fixed, pinned, clamped, supported, or constrained. Does NOT handle loads or forces.
_readerDefine initial conditions and predefined fields. Use when user mentions initial temperature, pre-stress, residual stress, or import from previous analysis.
_readerConfigure output requests - field outputs, history outputs. Use when user asks what results to save, output variables, reduce output file size, or history output.
_readerDownload and manage abqpy API documentation. Use when user asks about API documentation, API reference, or downloading Abaqus docs.
_readerOptimize fillet/notch geometry. Use when user mentions stress concentration, fillet optimization, reshaping surfaces, or reducing peak stress. Moves surfaces only.
_readerConfigure Tosca optimization. Use when user mentions design response, objective function, optimization constraint, or SIMP penalty. Base module for topology/shape optimization.
_readerComplete workflow for topology optimization using Tosca. Use to minimize weight while maintaining stiffness. Requires full Abaqus license (not Learning Edition).
_readerMaster skill for Abaqus FEA scripting. Use for any finite element analysis, topology optimization, or Abaqus Python scripting task. Routes to appropriate specialized skills.
_reader"Master skill for composite curing simulation with mold contact, friction, temperature, and Model Change springback in Abaqus. Invoke when user asks for curing simulation, springback analysis, composite layup with mold, or UMAT subroutine for composites. Routes to specialized sub-skills."
_reader
_reader
_reader
_reader"Define composite layup with ply angles, thickness, and count. Invoke when user asks to change ply angles, modify layup, or adjust ply count for curing simulation."
_reader"Generate through-thickness mesh for composite curing simulation. Invoke when user needs C3D8 solid elements, composite mesh, or through-thickness element layout."
_reader"Create mold/tool geometry for composite curing simulation. Invoke when user needs to set up mold part, tool surfaces, or mold-composite contact geometry."
_reader"Define contact pairs and friction for composite curing simulation: mold-composite contact (S1↔S4+S6), temperature-dependent friction (0.45→0.2→0.169), HARD contact property. Invoke when setting up contact, friction, or mold interaction in curing models."
_reader
_reader
_reader"Define boundary conditions for composite curing simulation: mold contact constraints (TOOL U1=0, U2=0), springback Set-2 constraints, and Model Change demolding. Invoke when setting up BCs, constraints, or boundary conditions for curing models with mold."
_reader
_reader"Master skill for composite curing simulation with mold contact, friction, temperature, and Model Change springback in Abaqus. Routes to appropriate specialized skills."
_reader
_reader
_reader
_reader
_readerRead analysis results. Use when user asks about maximum stress, extracting displacements, reaction forces, or exporting results. Post-processes ODB files.
_readerExport Abaqus geometry and results. Use when user mentions exporting to STL, STEP, CSV, or generating input files for external use.
_readerCreate and manage Abaqus jobs. Use when user asks to run the analysis, submit the job, execute the model, or generate input file.
_skill_listComplete list of all available Abaqus skill resources with descriptions.

TDQS

C2.6/5.0

Scored across 110 tools

Disambiguation2/5

The set contains explicit wrappers/duplicates such as run_python/execute_script, inspect_odb/get_odb_info, and capture_viewport/get_viewport_image, plus overlapping tools like check_silent_failures/check_model_integrity and monitor_job_status/diagnose_job. Even with good individual descriptions, an agent will struggle to tell which tool is the intended one.

Naming Consistency4/5

Tool names are overwhelmingly snake_case and follow a consistent verb_noun pattern such as create_*, list_*, get_*, set_*, and check_*. Minor deviations like the bare 'ping', compatibility wrapper names, and _exp suffixes keep this from being a perfect 5.

Tool Count1/5

110 tools is far beyond the calibrated extreme-mismatch threshold of 50+. The surface includes several near-duplicate and subset tools that should be merged, making the overall tool count excessive for effective agent selection.

Completeness3/5

The workflow coverage is broad: parts, materials, meshes, steps, loads, BCs, contacts, job submission, diagnosis, ODB extraction, and reporting are all present. However, nearly every create_* entity lacks corresponding update/delete tools, so iterative correction requires the generic run_python escape hatch rather than a complete structured lifecycle.

Maintenance

ActivityMaintained
ResponsivenessNo issues