MCP.Market

ETABS MCP server

by Moha2005269·io.github.Moha2005269/etabs-mcp·v0.3.2·20 stars

Agentic MCP server for CSI ETABS v22+: model, load, analyse, design and inspect structures.

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
Growing

20 stars129 downloads/wk

Reviews

Write one

Nobody has reviewed ETABS MCP yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

ETABS MCP tools (71, 7 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • etabs_add_areas

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

  • etabs_add_frames

    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_points

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

  • etabs_analysis_status

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

  • etabs_assign_diaphragm

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

  • etabs_assign_label

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

  • etabs_assign_loads

    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_assign_section

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

  • etabs_call_api

    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_batchwrite action

    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.

  • etabs_checkpoint

    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_code_checkswrite action

    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_connect

    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_define_area_section

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

  • etabs_define_combinations

    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_define_frame_section

    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_load_patterns

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

  • etabs_define_material

    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_response_spectrum

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

  • etabs_define_seismic_load

    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_load

    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_delete_objectswrite action

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

  • etabs_describe_api

    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_design_codes

    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_design_reportwrite action

    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_dialogs

    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_disconnect

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

  • etabs_edit_table

    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_export_model

    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_find_objects

    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_generate_building

    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_get_concrete_design

    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_design_summary

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

  • etabs_get_results

    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_get_slab_design

    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_get_stories

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

  • etabs_get_table

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

  • etabs_get_wall_design

    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_instances

    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_job_status

    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_wait

    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_list_checkpoints

    Checkpoints saved for the open model, newest first.

  • etabs_list_installations

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

  • etabs_list_load_definitions

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

  • etabs_list_objects

    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_list_properties

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

  • etabs_list_tables

    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_menu

    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_model_overview

    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_model

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

  • etabs_open_model

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

  • etabs_refresh_view

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

  • etabs_render_view

    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_restore_checkpoint

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

  • etabs_run_analysiswrite action

    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_run_designwrite action

    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_run_shear_wall_designwrite action

    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_save_model

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

  • etabs_scale_response_spectrum

    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_screenshot

    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_search_api

    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_select

    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_set_mass_source

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

  • etabs_set_modal_case

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

  • etabs_set_restraints

    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_set_stories

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

  • etabs_set_units

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

  • etabs_show_window

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

  • etabs_status

    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_unlock_model

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

  • etabs_what_changed

    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.

Public scan report

scanner v0.1.10 · 2026-10-28 · same rubric, same numbers if you re-run it

no findings
  • Code scan43 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 11 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How ETABS MCP compares

Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
92/100
higher than 90% of 4,460 AI and agents servers
Tools
71
the typical AI and agents server has 6
Tools that change things
10%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
20
more than 89% of 2,711 AI and agents servers
Downloads a week
129
more than 68% of 1,538 AI and agents servers with a package

What its tools let an agent do: 64 read · 7 change

Install ETABS MCP in Claude Code, Cursor or VS Code

claude mcp add etabs-mcp -- uvx etabs-mcp
Add to Cursor

What the publisher says

From the ETABS MCP repository's README, as published. We do not edit it. Read it on GitHub

<!-- mcp-name: io.github.Moha2005269/etabs-mcp -->

Rendered from a live ETABS 23 session: every member, deflection and D/C ratio is real. MP4

etabs-mcp

Your AI agent, inside ETABS.

An agentic Model Context Protocol server for CSI ETABS v22+. Claude Code, Codex, Factory Droid, Cursor and any other MCP client can model, load, analyse, design and inspect structures the way an engineer does, through the official ETABS API, with every call checked against the real signatures.

Quick start · Tools · How it works · Testing · Configuration

Why

ETABS has a huge automation API: 143 interfaces, 1,293 reachable methods, 58 enums. It's also full of ref arrays, status codes and silent quirks. Agents should be designing buildings, not wrestling with COM marshalling.

etabs-mcp gives agents two layers:

Highlights

Full coverage, zero guesswork Search all 1,293 methods, read exact signatures with enum values, and call any of them. ByRef outputs come back as named JSON.

Sees like an engineer etabsrenderview draws the model offscreen from any angle: deformed shapes, D/C ratios, sections, stories. etabs_screenshot shows the real ETABS window.

The Interactive Database Read any of ETABS's tables and edit importable ones (update / append / delete rows, then apply), with the import log returned.

Safe by design Destructive calls need confirm=true, internals are blocked, and --read-only mode refuses every write. Tool annotations tell clients what is safe.

Version-adaptive Finds every ETABS 22/23/24… install, loads that version's ETABSv1.dll and reflects its API live. Methods missing in older versions fail clearly.

Built for agents Errors carry a code and a hint. Lengths accept "6 m" or "20 ft", long runs go to background jobs, and etabswhatchanged notices hand edits in ETABS.

Quick start

Requirements: Windows · ETABS 22 or newer (licensed) · Python 3.10+ · the .NET 8 Desktop Runtime (installed with ETABS 22+).

Install from PyPI:

pip install etabs-mcp

Or run it without installing, using uv:

uvx etabs-mcp --list-installs

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

ETABS MCP: common questions

Is ETABS MCP server safe?
Yes, by our scan: it is graded A (92/100). Read the ETABS MCP safety report
How do I install ETABS MCP?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does ETABS MCP need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is ETABS MCP maintained?
The last commit was 17 days ago (2026-10-18). The latest release is v0.3.2.
What can I use instead of ETABS MCP?
Servers from other publishers that do the same job: Figma Context MCP server, agent-device MCP server and Agent-Native Design MCP server.
How does ETABS MCP compare with other AI and agents MCP servers?
safety score 92/100 (higher than 90% of 4,460 AI and agents servers); tools 71 (the typical AI and agents server has 6); tools that change things 10% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to ETABS MCP

Same job from other publishers: the closest match first, then the best rated.

  • Figma Context
    Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
    B
  • agent-device
    Let AI agents inspect, control, and debug real iOS, Android, desktop, and TV apps
    A
  • Agent-Native Design
    Agent-Native design tool - create and edit visual designs with agent assistance
    A
  • Roast My Design System
    Audit your Design System and serve your Agent the rules that keep AI-written UI on-system.
    A
  • PDF
    Agentic RAG over one PDF or a whole folder: hybrid search, selective page reads, tables, OCR.
    A