Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ETABS_MCP_TOKENNoBearer token for `--transport streamable-http/sse` (`--token`); required to listen beyond localhost.
ETABS_MCP_RUNTIMENo.NET host for pythonnet (`netfx` as a fallback).coreclr
ETABS_MCP_VERSIONNoETABS major version to use (`--etabs-version`), e.g. `22`. Defaults to the newest installed.newest
ETABS_MCP_VISIBLENoShow the ETABS window when launching (`--hidden`). Default is visible.visible
ETABS_MCP_AUDIT_LOGNoAppend every model-changing call (time, instance, call, arguments, result) to a JSON-lines file (`--audit-log`). Default is off.off
ETABS_MCP_READ_ONLYNoRefuse every call that changes the model (`--read-only`). Default is off.off
ETABS_MCP_INSTALL_DIRNoETABS program folder (`--install-dir`). Set this if ETABS lives somewhere unusual.auto
ETABS_MCP_CONNECT_MODENoConnection mode (`--connect-mode`). `attach` to a running ETABS, `start` a new one, or `auto` (attach if one is open, else start).auto
ETABS_MCP_MAX_TABLE_ROWSNoDefault page size for tables and results.500
ETABS_MCP_MAX_ARRAY_ITEMSNoCap on array lengths returned by `etabs_call_api`.2000
ETABS_MCP_ALLOW_DESTRUCTIVENoSkip `confirm=true` for destructive calls (`--allow-destructive`), for CI / unattended use. Default is off.off

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
etabs_list_installationsB

List ETABS installations on this machine (v22+ are supported) and ETABS instances that are running now.

etabs_connectA

Connect to ETABS. Other tools connect automatically with mode 'auto', so call this only to choose a specific instance or version, to drive several ETABS instances, or to recover after ETABS was closed. Launching ETABS takes 10-30 s.

etabs_instancesA

List the ETABS instances this server drives, switch which one every other tool acts on, or remove one. Typical use: compare two design options side by side, or copy data from one model into another.

etabs_statusA

Connection and model status without connecting: whether ETABS is attached, its version, the open model file, present units, and whether the model is locked (has analysis results).

etabs_disconnectA

Release the ETABS connection. ETABS keeps running unless close_etabs is true.

etabs_model_overviewA

One-call summary of the open model: file, version, units, lock state, object counts, stories, load patterns/cases/combinations, materials, sections and groups. Start every task with this.

etabs_new_modelA

Start a new model (replaces the open one). Lengths are in the chosen units.

etabs_open_modelA

Open an existing ETABS model file (.EDB, or an importable .e2k text file). Replaces the open model.

etabs_save_modelA

Save the model. A new (untitled) model needs a path. Analysis also requires a saved model.

etabs_set_unitsB

Set the present units. All tool inputs and outputs use the present units.

etabs_get_storiesB

Story table, top story first: name, elevation, height, master/similar settings.

etabs_set_storiesA

Redefine the story table. ETABS only accepts this on a model without objects on the affected stories.

etabs_add_framesA

Draw beams, columns and braces between two points (like Draw > Frame). Joints are created or merged automatically. Returns the ETABS names of the new frames, in input order; failures are listed per item.

etabs_add_areasB

Draw floors, slabs and walls from corner points (like Draw > Floor/Wall). Returns new area names.

etabs_add_pointsB

Add joints at coordinates (existing joints at the same location are reused).

etabs_list_objectsB

List frames, areas or points with their geometry (in present units), sections and stories. ETABS 'name' is the unique name used by every API call; 'label' is what the GUI shows per story.

etabs_delete_objectsB

Delete frames, areas or points chosen by name, by group, or the current selection.

etabs_set_restraintsB

Assign supports (Assign > Joint > Restraints): fixed, pinned, roller or custom DOFs, to joints chosen by name, by elevation, by group, or the current selection.

etabs_assign_sectionC

Assign a frame section or an area property (Assign > Frame > Section / Shell > Property).

etabs_selectB

Change or read the selection, like clicking in the ETABS window. Many tools accept selected=true to act on it. Returns the selected objects grouped by type.

etabs_generate_buildingA

Build a complete regular building in one call: grids, stories, materials, sections, columns, beams, braces or shear walls (with pier labels), slabs, fixed supports, a rigid diaphragm, SDL/LL patterns with slab loads, and default design combinations. Follow with lateral loads (etabs_define_seismic_load ...), then analysis.

etabs_list_propertiesB

List materials (with type), frame sections (with shape and dimensions in present units) and area properties (slabs, decks, walls).

etabs_define_materialA

Define a material, either from the ETABS library (region + standard + grade, the same lists as the 'Add Material' dialog) or as a custom isotropic material from E, weight and strength.

etabs_define_frame_sectionA

Define a frame section: parametric concrete/steel shapes, or a steel shape imported from an ETABS section library. Dimensions are in present length units.

etabs_define_area_sectionC

Define a slab or wall property (Define > Section Properties > Slab/Wall Sections).

etabs_define_load_patternsC

Define load patterns (Define > Load Patterns), each optionally with its linear static load case.

etabs_assign_loadsA

Assign loads (Assign > Frame/Shell/Joint Loads): distributed or point loads on frames, uniform loads on areas, and forces/moments on joints. Values are in present units; 'gravity' acts downward (-Z).

etabs_define_combinationsA

Define load combinations (Define > Load Combinations) from load cases and other combinations, and/or generate the default design combinations for the active design codes.

etabs_list_load_definitionsB

Load patterns (with type and self-weight multiplier), load cases (with type) and combinations (with their cases and scale factors).

etabs_define_seismic_loadB

Define an ASCE 7-16 equivalent-lateral-force seismic load pattern (Define > Load Patterns > Auto Lateral Load). Creates the Quake pattern and its load case.

etabs_define_wind_loadA

Define an automatic wind load pattern applied to diaphragms (Define > Load Patterns > Auto Lateral Load > Wind). ASCE 7-16 is fully parameterised; other codes take their table fields via 'fields'.

etabs_define_response_spectrumC

Define an ASCE 7-16 response spectrum function and a response-spectrum load case that uses it.

etabs_set_mass_sourceB

Set the default mass source (Define > Mass Source): element self mass, added mass and load patterns.

etabs_assign_diaphragmB

Define a rigid or semi-rigid diaphragm and assign it to the slabs (area objects) on the chosen stories.

etabs_set_modal_caseB

Set how many modes the eigen modal case computes (raise it until mass participation is enough).

etabs_run_analysisA

Run the analysis (Analyze > Run Analysis). ETABS needs a saved model, saves it again before running, and locks the model afterwards. Large models can take minutes: use background=true to avoid client timeouts.

etabs_analysis_statusB

Per-case analysis status (not run / finished ...), run flags, and whether the model is locked.

etabs_unlock_modelA

Unlock the model so it can be edited after analysis (the padlock button). Deletes analysis results.

etabs_get_resultsA

Read analysis results the way they appear in ETABS tables: base reactions, story drifts and forces, joint displacements/reactions, modal periods and mass ratios, element forces, piers and spandrels. For any other result table use etabs_get_table.

etabs_run_designA

Run design (Design > ... > Start Design/Check) with the model's current design codes and preferences. Needs analysis results. Steel and concrete return a member summary, worst first.

etabs_job_statusA

Status of a background job (analysis or design): running / done / failed, elapsed time, the tail of the ETABS analysis log while it runs, and the full result once done. Never blocks.

etabs_job_waitA

Wait for a background job to finish, up to timeout_seconds, then report it (same shape as etabs_job_status). Call again if it is still running.

etabs_get_design_summaryB

Design results per member: steel demand/capacity ratios with governing combo, or concrete required reinforcement for beams and columns. Worst members first.

etabs_design_codesA

Read, list or change the design codes (Design > ... > View/Revise Preferences). 'list' returns every code this ETABS version supports for steel, concrete, shear wall, slab and composite design.

etabs_run_shear_wall_designA

Run shear wall design (Design > Shear Wall Design > Start Design/Check) and return pier and spandrel results. The ETABS API has no call for this, so the server invokes the menu command through Windows UI Automation; ETABS must be visible. Walls must carry pier/spandrel labels (etabs_assign_label).

etabs_get_wall_designA

Shear wall design results: piers (reinforcing ratio, D/C, boundary zones, messages) or spandrels (flexural and shear reinforcement), worst first. Run etabs_run_shear_wall_design first.

etabs_get_concrete_designA

Concrete frame design results (after etabs_run_design(kind='concrete')): required longitudinal and shear reinforcement for beams, PMM ratios and areas for columns, joint shear and beam/column capacity ratios. Areas are in present units.

etabs_get_slab_designA

Concrete slab design results (after etabs_run_design(kind='concrete_slab')): design-strip flexure and shear reinforcement, or punching shear checks at columns, worst first.

etabs_menuA

Use ETABS menu commands that have no API, exactly as a person would click them (through Windows UI Automation, no mouse). 'list' browses the menus; 'invoke' runs a command. Commands that open a dialog leave it open: check with etabs_screenshot and close it with etabs_dialogs.

etabs_dialogsA

List or close dialogs ETABS has open. A modal dialog blocks the ETABS API, so close leftovers after etabs_menu or a design run.

etabs_code_checksA

Run the standard post-analysis checks in one call: story drift against the allowable, torsional irregularity, soft story, weight (mass) irregularity, modal mass participation and response-spectrum base shear vs ELF. Each check reports its clause, the governing numbers and pass/fail.

etabs_scale_response_spectrumA

Scale a response-spectrum case so its base shear reaches the ELF base shear (ASCE 7-16 12.9.1.4), then optionally re-run and verify.

etabs_list_tablesA

List ETABS database tables (definitions, assignments, analysis and design results), with whether each has data and whether it can be edited. Result tables appear after analysis/design.

etabs_get_tableB

Read any ETABS database table as rows (Display > Show Tables). Values with units are in present units.

etabs_edit_tableB

Edit a model table the way the Interactive Database editor does: read it, change/append/delete rows, then apply. Returns ETABS's import log with error and warning counts.

etabs_screenshotA

Take a screenshot of the ETABS window: the model views, selection and any open dialog, exactly what an engineer sees. Use it to check geometry, deformed shapes or design colours after other tools ran.

etabs_show_windowA

Show or hide the ETABS application window. Hidden ETABS runs faster for batch work.

etabs_refresh_viewA

Redraw the ETABS model views (and optionally zoom to fit) after model changes made through the API.

etabs_render_viewA

Render the model offscreen from its data: any angle, deformed shape of any case, members coloured by design ratio, displacement, section or storey. Works with ETABS hidden and never takes focus. Use it to look at what you built and at results the ETABS window cannot be switched to through the API.

etabs_find_objectsA

Find objects by engineering criteria: 'columns on Story3', 'beams longer than 8 m', 'members with D/C over 0.9', 'everything in this box'. Returns names usable by every other tool; can select them.

etabs_what_changedA

What changed in the model since the last call (or since the baseline): objects added, removed or modified, sections/loads/combos/groups/stories added or removed, units, lock and file. Picks up edits the engineer made by hand in the ETABS window, so the agent can stay in sync. The first call records the baseline.

etabs_checkpointA

Save the model and keep a copy as a named checkpoint (an undo point before risky edits). Restore it with etabs_restore_checkpoint. Needs a saved model.

etabs_list_checkpointsA

Checkpoints saved for the open model, newest first.

etabs_restore_checkpointB

Roll the model back to a checkpoint. The model keeps its original file name.

etabs_export_modelA

Export the whole model as ETABS's .e2k text and return it (paged). One read gives the complete definition (stories, grids, materials, sections, objects, assignments, loads, cases), ideal for audits.

etabs_design_reportB

Write an engineering summary in Markdown: model, loads, analysis status, base reactions, modal periods, drifts and the design check with the most critical members. Returns the text and the file.

etabs_assign_labelC

Assign objects to a group, pier or spandrel label (created if missing), like Assign > ... in ETABS.

etabs_search_apiA

Search all ~1,300 ETABS API methods. Use this to find a method when no curated tool covers the task, then etabs_describe_api for its parameters and etabs_call_api to run it.

etabs_describe_apiA

Show a method's exact signature (types, ByRef outputs, defaults, enum values, safety level), or list an interface's methods and sub-interfaces, or an enum's values. Reflects the connected ETABS version.

etabs_call_apiB

Call any ETABS API method. Arguments are validated and converted against the live signature; ByRef values come back in 'outputs'. A non-zero 'ret' means ETABS rejected the call (ok=false).

etabs_call_api_batchA

Run several API calls in order in one round trip (for example, define and assign many properties). Each result is reported; with stop_on_error the batch halts at the first failure.

Prompts

Interactive templates invoked by user choice

NameDescription
etabs_build_and_checkStep-by-step workflow for modelling, analysing and designing a structure in ETABS.

Resources

Contextual data attached and managed by the client

NameDescription
api_interfacesEvery ETABS API interface with its access path and method count.
server_infoServer version, settings and connection state.

TDQS

B3.2/5.0

Scored across 71 tools

Disambiguation3/5

The tool set spans modeling, analysis, design, results, UI automation, and raw API access, and several names are close enough to invite confusion (e.g. get_results vs get_table, get_design_summary vs get_concrete_design, status vs analysis_status vs model_overview). Descriptions generally clarify intent, but with 71 tools the boundaries are not crisp enough to eliminate occasional misselection.

Naming Consistency4/5

All names share the etabs_ prefix and nearly all follow snake_case verb_noun or noun_phrase patterns (define_*, get_*, list_*, assign_*, run_*). A few tools are bare nouns such as status, menu, dialogs, screenshot, and checkpoint, which is a minor deviation from a strict verb_noun convention.

Tool Count1/5

71 tools is far beyond the typical 3-15 range and exceeds the 50+ threshold for an extreme mismatch, creating a very large selection surface for an agent. Although the ETABS domain is broad and many tools cover distinct operations, the count is still excessive for reliable tool choice.

Completeness5/5

The surface covers the full lifecycle: modeling, loads, analysis, design, results, reporting, checkpoints, UI automation, and a raw API escape hatch for anything not curated. No obvious dead ends remain.

Maintenance

ActivityMaintained
ResponsivenessNo issues