ETABS MCP Server
This server connects an AI assistant to CSI ETABS through its API to prepare sessions, create/modify/query models, run analysis, and generate model views without computer-use.
Discover available API guidance and read ETABS-specific skills.
List running ETABS instances and check connection/version/model/lock status.
Open ETABS and prepare a new or existing model/session with grid, stories, and spacing.
Read point, frame, area, opening, and story geometry in metres.
Execute sandboxed Python against the ETABS COM API, with CSV/XLSX input and output support.
Search ETABS API documentation for method names, parameters, and return formats.
Render 3D, plan, and elevation PNG views from API-derived model geometry, not screenshots.
Support modeling tasks such as geometry, materials, sections, loads, combinations, analysis, results, and design queries, subject to ETABS API/version.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ETABS MCP Server Check modal mass participation and tell me if it meets 90%"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ETABS MCP
Conecta tu asistente de IA con CSI ETABS mediante MCP (Model Context Protocol). Crea, modifica y consulta modelos con instrucciones en lenguaje natural, a través de su interfaz de programación (API).
Descargar · Instalación · Cambios
Requisitos
Windows 10 u 11 de 64 bits.
ETABS 21 o superior instalado.
Un cliente MCP local: Codex, OpenCode, Claude Code o Claude Desktop.
El ejecutable incluye su entorno de Python. No necesitas instalar Python por separado.
Related MCP server: ETABS MCP Server
Instalar con un prompt
Pega esto en un chat local de Codex, con acceso a archivos y terminal:
Instala o actualiza el conector MCP de ETABS y su skill en Codex:
https://github.com/david-mamani/etabs-mcp
Configúralo con el .exe de la última versión publicada y verifica la conexión.
Usa archivos, terminal y la API de ETABS. Nunca uses computer-use.La skill etabs-mcp-api guía al asistente para trabajar solo por API. El manual de instalación explica cómo instalarla y configurar cada cliente.
Qué puedes hacer
Crear modelos con pisos, alturas y malla de ejes.
Modificar geometría, materiales, secciones, cargas y combinaciones.
Ejecutar análisis y consultar resultados y diseño.
Obtener imágenes 3D, de elevación y de planta desde los datos del modelo.
Ejemplo
Después de instalar el MCP:
Crea un modelo conceptual nuevo de 5 niveles: recepción y oficinas en el primero;
del 2 al 5, tres departamentos por piso con dos dormitorios y balcón cada uno.
Incluye el núcleo y hueco del ascensor. Entrega vistas 3D y planta del nivel 3.
Usa solo el MCP de ETABS, sin computer-use.El MCP puede abrir ETABS y preparar un archivo nuevo mediante prepare_session. No necesitas cargar una plantilla de antemano.
Trabajo por API
El MCP y su skill prohíben Computer Use en todo el flujo de ETABS. Las imágenes son dibujos de la geometría del modelo; no son capturas de su ventana. Consulta el alcance de las vistas.
Las operaciones dependen de lo que exponga la API de tu versión de ETABS. Un modelo conceptual requiere revisión y cálculo antes de usarse como proyecto estructural.
Desarrollo y créditos
Código y compilación · Skill incluida · Licencia MIT
Mantenido por David Mamani. Basado en Shekh-Muhsen/ETABS-MCP. Proyecto independiente, sin afiliación con CSI.
Available Tools
9 toolsdiscover_apiDiscover API and skillsARead-onlyIdempotent
Discover available API guidance and skills.
Call this FIRST before using other etabs-mcp tools.
Then use read_skills with one or more specific skill names to load full guidance.
Inputs: no named parameters. Returns: result
execute_codeExecute Python codeADestructive
Execute Python code in a sandbox against the ETABS COM API (call discover_api and read_skills first).
The sandbox provides a pre-connected model variable (SapModel) and optional input_data
(if input_data_path is provided), plus json and math modules.
import statements, dir(), getattr(), and dunder access are BLOCKED.
The last expression value or an explicit result = ... assignment is returned.
Inputs: code (required), instance, overwrite, input_data_path, +1 more. Returns: object
get_model_geometryRead model geometry through the APIARead-onlyIdempotent
Read point, frame, area, opening and story geometry in metres.
Preserves model units, lock, analysis results and all ETABS windows. Uses only the COM model API. Never reads or controls the desktop.
Inputs: instance, max_objects. Returns: object
get_statusGet ETABS instance statusARead-only
Check the connection to an ETABS instance.
Pass instance (alias from list_instances) to target a
specific instance. Omit it when only one instance is running.
Returns connection state, ETABS version, model path, and lock status.
Inputs: instance. Returns: object
list_instancesList running ETABS instancesARead-only
List all running ETABS instances.
Returns a list of instances with their alias, process ID, currently
open file path, and ETABS version. Call this before execute_code
when multiple ETABS instances may be running. The alias
(e.g. etabs1) is stable for the server session.
If a version is below the minimum supported (21.0.0), a warning
field is included with details.
Inputs: no named parameters. Returns: result
prepare_sessionOpen ETABS and prepare a model without desktop automationA
Open ETABS if needed and prepare a usable session, without computer-use.
Call this before creating geometry on the Start Page or when ETABS is closed. For a NEW building use new_model=True (omit instance): it opens a separate ETABS process, creates the requested grid in metres, and saves a unique model. Existing files and unsaved geometry are never reset or overwritten. With new_model=False a loaded model is returned unchanged; an empty, unsaved session receives a new grid and unique file automatically. This tool does not click, type, arrange other apps, or create view windows. If ETABS needs authentication, the user completes that sign-in manually.
Inputs: stories, instance, new_model, spacing_x, +5 more. Returns: object
read_skillsRead ETABS skillsARead-onlyIdempotent
Read one or more skills by name.
Use discover_api first to list available skills.
Each skill provides domain-specific guidance (e.g. analysis, geometry, loads).
Inputs: skills (required). Returns: result
render_model_viewRender model views without desktop accessA
Generate and return a PNG from ETABS API geometry, with no screen access.
For a plan specify an exact story such as Story3. Other views are 3d and a frontal elevation. Saves a unique PNG under Documents/ETABS-MCP/exports. These are API-derived drawings, NOT screenshots of ETABS's windows. No clicks, keys, focus changes, menus or native view window changes occur.
Inputs: view, story, width, height, +1 more.
search_docsSearch ETABS API documentationARead-onlyIdempotent
Search ETABS API documentation by natural language query.
Returns matching API methods with their Python calling convention. Use this to discover the correct method name, parameters, and return format for any ETABS operation before using execute_code.
Inputs: query (required), top_k. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Most tools target clearly distinct concerns (session prep, geometry read, rendering, code execution), but the trio of discover_api, read_skills, and search_docs all relate to finding API guidance and could be conflated by an agent. Similarly, get_status and list_instances both surface connection/version info, though the descriptions do clarify the split.
All nine tools use a consistent snake_case verb_noun pattern: get_model_geometry, discover_api, read_skills, list_instances, get_status, prepare_session, render_model_view, execute_code, search_docs. No camelCase or stylistic mixing, and verbs are meaningful and predictable.
Nine tools is a well-scoped set for a domain that delegates the bulk of operations to a code-execution escape hatch. Each tool (discovery, session, status, geometry, render, docs search, execute) earns its place without redundancy.
The surface covers the full lifecycle: discovery, session preparation, instance/status checks, geometry read, rendering, and a general execute_code path for writes and analysis. The only minor gap is the absence of dedicated higher-level write/analysis tools, but execute_code plus search_docs reasonably covers those workflows.
Maintenance
Related MCP Connectors
Connect AI assistants to your approved computer for files, commands, browser and desktop tasks.
Connects AI assistants to QCDatabase.AI for everyday construction quality-control work.
Connect your AI agent to the apitree API marketplace.
Connect AI agents to Turbine Studio for strategies, backtests, research, and trading activity.
Related MCP Servers
- AlicenseAqualityDmaintenanceConnects AI assistants to CSI ETABS for structural engineering tasks, enabling model creation, analysis, design, and seismic checks via the COM API.6910MIT
- AlicenseNot gradedqualityDmaintenanceEnables users to control CSI ETABS structural engineering software through Claude, allowing model creation, status checks, and engineering checks via COM automation.MIT
- AlicenseAqualityBmaintenanceEnables AI agents to interact with Bentley STAAD.Pro models for tasks like load case definition, data extraction, and property setting through natural language.556MIT
- AlicenseBqualityCmaintenanceConnects MCP-compatible AI agents to a local 3D garment design application through its Python API, enabling scene inspection, pattern and sewing operations, fabric/material management, simulation, mesh measurement, checkpoints, import/export, documentation search, and raw Python execution.42MIT