etabs-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ETABS_MCP_TOKEN | No | Token for HTTP mode; required to authenticate requests via Authorization: Bearer <token>. Without it, requests receive 401. | |
| ETABS_MCP_READONLY | No | Set to 1 to enable read-only mode, which disables all write tools. Equivalent to --readonly. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| etabs_model_infoA | Datos del modelo abierto: archivo, version de ETABS, unidades y si esta analizado. |
| etabs_set_unitsA | Cambia las unidades de presentacion usadas al leer datos (p. ej. 'Ton_m_C', 'kN_m_C'). Solo afecta como se reportan los valores; no modifica el modelo. |
| etabs_storiesA | Lista los niveles con su elevacion y altura. |
| etabs_grid_systemsC | Nombres de los sistemas de ejes (grids) del modelo. |
| etabs_pointsD | Nudos con coordenadas cartesianas, etiqueta y nivel. |
| etabs_framesC | Elementos frame (vigas/columnas) con seccion asignada y nudos extremos. |
| etabs_areasC | Elementos area (losas y muros) con su propiedad y nudos de contorno. |
| etabs_frame_sectionsB | Secciones de frame definidas, con sus propiedades geometricas si se piden. |
| etabs_area_sectionsB | Nombres de las propiedades de area (losas, muros, deck). |
| etabs_materialsC | Materiales definidos con su tipo y peso especifico. |
| etabs_load_patternsC | Patrones de carga con su tipo y multiplicador de peso propio. |
| etabs_load_casesB | Nombres de los casos de carga definidos. |
| etabs_load_combinationsC | Combinaciones de carga y, opcionalmente, los casos y factores que las componen. |
| etabs_select_outputC | Selecciona que casos y combinaciones se usaran al consultar resultados. |
| etabs_modal_periodsB | Periodos y frecuencias modales del analisis ejecutado. |
| etabs_base_reactionsB | Reacciones en la base para los casos/combinaciones seleccionados. |
| etabs_story_driftsC | Derivas por nivel para los casos/combinaciones seleccionados. |
| etabs_joint_reactionsB | Reacciones en nudos. item_type: 0=objeto, 1=elemento, 2=grupo, 3=seleccion. Con item_type=2 y name='All' se consulta todo el modelo. |
| etabs_frame_forcesC | Fuerzas internas en frames. item_type: 0=objeto, 1=elemento, 2=grupo, 3=seleccion. |
| etabs_reconnectA | Vuelve a adjuntar el servidor a la instancia de ETABS abierta. |
| etabs_new_modelA | Crea un modelo nuevo con una retícula regular y los niveles indicados. Descarta el modelo abierto sin guardar, asi que guarda antes con etabs_save_model. |
| etabs_new_blank_modelC | Crea un modelo vacio, sin ejes ni niveles predefinidos. |
| etabs_open_modelB | Abre un archivo .EDB existente. |
| etabs_save_modelB | Guarda el modelo. Con |
| etabs_set_storiesB | Define los niveles del modelo (de abajo hacia arriba) con su altura. |
| etabs_define_concrete_materialC | Define un material de concreto (f'c y modulo en las unidades actuales). |
| etabs_define_rectangular_sectionB | Define una seccion rectangular de concreto (depth = peralte, width = base). |
| etabs_define_circular_sectionC | Define una seccion circular. |
| etabs_define_slabD | Define una propiedad de losa. |
| etabs_define_wallD | Define una propiedad de muro. |
| etabs_add_frameC | Crea una viga o columna entre dos coordenadas globales. |
| etabs_add_areaC | Crea una losa o muro a partir de sus vertices [[x, y, z], ...] en orden. |
| etabs_set_point_restraintC | Asigna restricciones a un nudo: [U1, U2, U3, R1, R2, R3]. Por defecto empotrado. |
| etabs_add_load_patternC | Crea un patron de carga. load_type: 1=Dead, 2=SuperDead, 3=Live, 5=Quake, 6=Wind, 8=Other. |
| etabs_assign_frame_distributed_loadC | Asigna carga uniformemente distribuida a un frame (fuerza por longitud). |
| etabs_assign_area_uniform_loadC | Asigna carga uniforme a una losa o muro (fuerza por area). |
| etabs_add_load_combinationC | Crea una combinacion de carga. case_type: 0=load case, 1=combo. |
| etabs_run_analysisC | Corre el analisis. Con |
| etabs_unlock_modelA | Desbloquea el modelo para poder seguir editandolo tras un analisis. |
| etabs_refresh_viewA | Refresca las ventanas de ETABS para ver los cambios recien creados. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 40 tools
Each tool targets a distinct entity or action: list vs create vs define vs assign vs analyze vs query. Even closely related tools like load_patterns, add_load_pattern, and load_combinations are clearly separated by their purpose.
All tools share the etabs_ prefix, but the action style is mixed: noun-only names for queries (etabs_stories, etabs_points), verb+noun for actions (etabs_set_units, etabs_add_frame), and inconsistent creation verbs such as new_model, add_load_pattern, and define_rectangular_section.
With 40 tools, the surface is far larger than the typical well-scoped 3–15 tool set. While ETABS is a complex domain, this many tools risks overwhelming agents and indicates the server is trying to cover too many operations.
The set covers a broad workflow: model creation, geometry, property definitions, load patterns/combinations, assignments, analysis, and results. However, critical gaps remain: there is no explicit tool to assign defined sections/materials to frame or area elements, and no update/delete operations for created objects.