ETABS MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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_get_statusA | Get the current ETABS connection status, model filename, and lock state. Returns JSON with: connected (bool), model_file (str), model_is_locked (bool). Use this tool first to verify ETABS is running before calling other tools. |
| etabs_new_modelA | Create a new ETABS model, optionally from a template. Args: units: Unit system. One of: lb_in_F, lb_ft_F, kip_in_F, kip_ft_F, kN_mm_C, kN_m_C, kgf_mm_C, kgf_m_C, N_mm_C, N_m_C, Ton_mm_C, Ton_m_C, kN_cm_C, kgf_cm_C, N_cm_C, Ton_cm_C. template: Template type — "blank", "steel_deck", or "grid_only". num_stories: Number of stories (for templates). typical_story_height: Typical story height in current units. bottom_story_height: Bottom story height in current units. num_bays_x: Number of bays in X direction (for templates). num_bays_y: Number of bays in Y direction (for templates). bay_width_x: Bay width in X direction in current units. bay_width_y: Bay width in Y direction in current units. Returns: Success confirmation with model info. |
| etabs_open_modelA | Open an existing ETABS model (.edb) file. Args: file_path: Full path to the .edb model file (e.g. "C:/Models/Building.edb"). Returns: Success confirmation. |
| etabs_save_modelA | Save the current ETABS model. Args: file_path: Full path to save as (e.g. "C:/Models/Building.edb"). Leave empty to save to the current file. Returns: Success confirmation with saved path. |
| etabs_close_modelA | Close the current ETABS model without exiting the application. Args: save_first: If True, save the model before closing. Returns: Success confirmation. |
| etabs_set_unitsA | Set the active display units for the ETABS model. Args: units: Unit system. One of: lb_in_F, lb_ft_F, kip_in_F, kip_ft_F, kN_mm_C, kN_m_C, kgf_mm_C, kgf_m_C, N_mm_C, N_m_C, Ton_mm_C, Ton_m_C, kN_cm_C, kgf_cm_C, N_cm_C, Ton_cm_C. Returns: Confirmation of the unit change. |
| etabs_add_pointA | Add a point (joint) object at the specified coordinates. Args: x: X coordinate in current units. y: Y coordinate in current units. z: Z coordinate in current units. name: Optional user-defined name. ETABS assigns a default if blank. csys: Coordinate system name (default "Global"). Returns: JSON with the assigned point name. |
| etabs_add_frameA | Add a frame object (beam, column, brace) between two points by coordinates. Args: x1: X coordinate of start point. y1: Y coordinate of start point. z1: Z coordinate of start point. x2: X coordinate of end point. y2: Y coordinate of end point. z2: Z coordinate of end point. prop_name: Frame section property name. Use "Default" for auto-assigned. name: Optional user-defined name for the frame. csys: Coordinate system name (default "Global"). Returns: JSON with the assigned frame name. |
| etabs_add_areaA | Add an area object (slab, wall, deck) defined by corner coordinates. The coordinates should be ordered clockwise or counter-clockwise. Must have at least 3 points. Args: x_coords: List of X coordinates for each corner. y_coords: List of Y coordinates for each corner. z_coords: List of Z coordinates for each corner. prop_name: Area section property name. Use "Default" for auto-assigned. name: Optional user-defined name for the area. csys: Coordinate system name (default "Global"). Returns: JSON with the assigned area name. |
| etabs_get_all_pointsA | Get a list of all point/joint objects in the model with their coordinates. Returns: JSON array of points, each with name, x, y, z coordinates. |
| etabs_get_all_framesA | Get a list of all frame objects in the model with connectivity and section info. Returns: JSON array of frames, each with name, start point, end point, section name. |
| etabs_get_all_areasA | Get a list of all area objects in the model with connectivity and section info. Returns: JSON array of areas, each with name, number of points, point names, section. |
| etabs_delete_objectA | Delete a named object from the model. Args: object_type: Type of object — "point", "frame", "area", or "link". name: Name of the object to delete. Returns: Success confirmation. |
| etabs_get_storiesA | Get all story definitions in the model. Returns: JSON array of stories with name, elevation, height, is_master, and similar_to. |
| etabs_set_storiesA | Define the building stories. Stories are listed from bottom to top. Args: story_names: List of story names, bottom to top (e.g. ["Base", "Story1", "Story2"]). story_heights: List of story heights for each story (same length). bottom_elevation: Elevation of the base (default 0.0). Returns: Confirmation with the story definitions. |
| etabs_get_grid_systemsA | Get all grid system names defined in the model. Returns: JSON array of grid system names. |
| etabs_set_grid_systemA | Define or modify a Cartesian grid system. Args: name: Name of the grid system. x_spacings: List of X-direction grid spacings (e.g. [6.0, 6.0, 6.0] for 3 bays). y_spacings: List of Y-direction grid spacings. x_grid_ids: Optional grid line IDs for X (default: A, B, C, ...). y_grid_ids: Optional grid line IDs for Y (default: 1, 2, 3, ...). Returns: Confirmation with the grid system definition. |
| etabs_define_materialA | Define a new material property. Args: name: Name for the material (e.g. "4000Psi", "A992Fy50"). material_type: One of: Steel, Concrete, NoDesign, Aluminum, ColdFormed, Rebar, Tendon, Masonry. region: Design region (default "United States"). standard: Standard name (e.g. "ASTM A992" for steel, "ACI 318" for concrete). grade: Grade/class (e.g. "Grade 50", "f'c 4000 psi"). Returns: Confirmation of the material definition. |
| etabs_get_materialsA | Get a list of all defined materials in the model. Returns: JSON array of material names and types. |
| etabs_define_frame_sectionA | Define a frame section property (beam/column cross-section). For Rectangular and Circular shapes, only depth and width are needed. For I, Tee, Channel shapes, provide flange and web dimensions. Args: name: Section name (e.g. "W14X22", "C24x12", "Beam24x12"). material: Material name (must be previously defined). shape: Section shape — Rectangular, Circular, I, Tee, Channel, Box, Pipe, Angle. depth: Total depth (or diameter for circular). width: Total width (or diameter for Pipe). flange_width_top: Top flange width (for I, Tee, Channel). flange_thickness_top: Top flange thickness. web_thickness: Web thickness. flange_width_bot: Bottom flange width (for I). flange_thickness_bot: Bottom flange thickness (for I). Returns: Confirmation with section details. |
| etabs_get_frame_sectionsB | Get a list of all defined frame section properties. Returns: JSON array of section names. |
| etabs_define_area_sectionA | Define an area/shell section property (for slabs, walls, decks). Args: name: Section name (e.g. "Slab8in", "Wall12in"). material: Material name (must be previously defined). section_type: "Shell-Thin", "Shell-Thick", "Membrane", "Plate-Thin", "Plate-Thick". thickness: Shell thickness in current units. shell_type: 1=Shell-Thin, 2=Shell-Thick, 3=Plate-Thin, 4=Plate-Thick, 5=Membrane, 6=Shell-Layered. Returns: Confirmation with section details. |
| etabs_get_area_sectionsA | Get a list of all defined area/shell section properties. Returns: JSON array of area section names. |
| etabs_define_rebarA | Define a rebar size. Args: name: Rebar name (e.g. "#4", "#8", "T10"). area: Cross-sectional area in current units. diameter: Bar diameter in current units. Returns: Confirmation of the rebar definition. |
| etabs_assign_frame_sectionA | Assign a frame section property to a frame object. Args: name: Frame object name, or group name if item_type is "Group". section_name: Name of the frame section to assign. item_type: "Object" (single object), "Group", or "SelectedObjects". Returns: Confirmation. |
| etabs_assign_frame_releasesA | Set end releases (moment releases / pins) for a frame object. Each release list has 6 booleans for [P, V2, V3, T, M2, M3]:
Args: name: Frame object name. start_release: 6-element list of bools for I-end (start) releases [P, V2, V3, T, M2, M3]. end_release: 6-element list of bools for J-end (end) releases. item_type: "Object", "Group", or "SelectedObjects". Returns: Confirmation. |
| etabs_assign_area_sectionA | Assign an area/shell section property to an area object. Args: name: Area object name, or group name if item_type is "Group". section_name: Name of the area section to assign. item_type: "Object", "Group", or "SelectedObjects". Returns: Confirmation. |
| etabs_assign_diaphragmA | Assign a diaphragm constraint to an area or point object. Args: name: Object name or group name. diaphragm_name: Name of the diaphragm to assign. item_type: "Object", "Group", or "SelectedObjects". Returns: Confirmation. |
| etabs_assign_pier_labelB | Assign a pier label to an area or line object (for wall piers). Args: name: Object name. pier_name: Name of the pier label. item_type: "Object", "Group", or "SelectedObjects". Returns: Confirmation. |
| etabs_assign_spandrel_labelC | Assign a spandrel label to an area or line object (for wall spandrels). Args: name: Object name. spandrel_name: Name of the spandrel label. item_type: "Object", "Group", or "SelectedObjects". Returns: Confirmation. |
| etabs_assign_frame_stiffness_modifiersA | Apply cracked-section stiffness modifiers to one or more frame objects (beams, columns, braces). Pick a target with either Pick a Presets (ACI 318-19 Table 6.6.3.1.1(a)):
Args: names: List of frame object names (e.g. ["B1", "B2"]). None/empty → apply to group, or to all frames if group is also blank. group: Apply to all frames in this named ETABS group. preset: One of the preset names above (case-insensitive). area: Axial stiffness modifier (overrides preset). m2: Minor-axis bending modifier (overrides preset). m3: Major-axis bending modifier (overrides preset). torsion:Torsional stiffness modifier (overrides preset). mass: Mass modifier (default 1.0 if neither preset nor arg given). weight: Self-weight modifier (default 1.0). Returns: JSON with the modifier values applied and the number of frames updated. |
| etabs_assign_area_stiffness_modifiersA | Apply cracked-section stiffness modifiers to one or more area objects (walls, slabs, decks). Pick a target with Presets (ACI 318-19 Table 6.6.3.1.1(a)):
Args: names: List of area object names. None → group, or all areas. group: Named ETABS group. preset: One of the preset names above (case-insensitive). f11, f22, f12: Membrane (in-plane) stiffness modifiers. m11, m22, m12: Bending (out-of-plane) stiffness modifiers. v13, v23: Transverse shear modifiers. Returns: JSON with the modifier values applied and the number of areas updated. |
| etabs_apply_aci_stiffness_modifiersA | One-shot convenience: apply ACI 318 stiffness modifiers to beams, columns, walls, and slabs in a single tool call. For each category, supply either an explicit Defaults (ACI 318-19 Table 6.6.3.1.1(a)):
Example — apply to all members via groups: beam_group="BEAMS", column_group="COLUMNS", wall_group="WALLS", slab_group="SLABS" Example — apply to specific objects: beam_names=["B1","B2"], column_names=["C1","C2","C3"], wall_names=["W1"], slab_names=["S1","S2"] Args: beam_names / column_names / wall_names / slab_names: Explicit lists of object names per category. beam_group / column_group / wall_group / slab_group: Named ETABS groups to apply each preset to. beam_preset / column_preset / wall_preset / slab_preset: Override the default ACI preset for any category. (See etabs_assign_frame_stiffness_modifiers and etabs_assign_area_stiffness_modifiers for the full preset list.) Returns: JSON summary: per-category count + preset, plus grand totals. |
| etabs_define_load_patternA | Define a new load pattern (e.g. Dead, Live, Wind, Quake). Args: name: Name of the load pattern. load_type: Type of load (Dead, Live, Wind, Quake, Snow, etc.). self_weight_multiplier: Self-weight multiplier (typically 1.0 for Dead, 0.0 for others). Returns: Confirmation. |
| etabs_get_load_patternsA | Get all defined load patterns in the model. Returns: JSON array of load pattern names. |
| etabs_define_load_caseA | Define a new load case. Args: name: Name of the load case. case_type: One of: "LinearStatic" — standard gravity/wind/static case "Modal" — Eigenvector modal case (use etabs_define_modal_case for full control) "ResponseSpectrum" — RSA case (use etabs_define_response_spectrum for full IS 1893 / ASCE 7 setup) "LinearHistory" — linear time history "NonlinearStatic" — pushover / nonlinear static modal_case: For ResponseSpectrum cases only — name of the modal case to source mode shapes from (default "MODAL"). Returns: Confirmation. |
| etabs_define_load_comboA | Define a new load combination. Args: name: Name of the load combination. combo_type: 0=LinearAdd, 1=Envelope, 2=AbsoluteAdd, 3=SRSS, 4=RangeAdd. load_names: List of load case or pattern names to include. scale_factors: List of scale factors corresponding to load_names. Returns: Confirmation. |
| etabs_assign_point_loadA | Assign point loads/moments to a joint object. Args: name: Point object name. load_pattern: Name of the load pattern. f1, f2, f3: Forces in 1, 2, 3 (X, Y, Z) directions. m1, m2, m3: Moments about 1, 2, 3 axes. replace: If True, replace existing loads; if False, add to them. item_type: "Object", "Group", or "SelectedObjects". Returns: Confirmation. |
| etabs_assign_frame_loadA | Assign a uniform or trapezoidal distributed load to a frame object. For uniform load, set w1 = w2, dist_1 = 0.0, dist_2 = 1.0. Args: name: Frame object name. load_pattern: Name of the load pattern. w1: Start load value. w2: End load value. dir: Load direction. 1=Local1, 2=Local2, 3=Local3, 4=X, 5=Y, 6=Z, 10=Gravity. dist_1: Distance to start of load. dist_2: Distance to end of load. rel_dist: If True, distances are relative (0 to 1). If False, absolute. replace: If True, replace existing loads. item_type: "Object", "Group", or "SelectedObjects". Returns: Confirmation. |
| etabs_assign_area_loadA | Assign a uniform surface load to an area object. Args: name: Area object name. load_pattern: Name of the load pattern. value: Load value (force per area). dir: Load direction. 1=Local1, 2=Local2, 3=Local3, 4=X, 5=Y, 6=Z, 10=Gravity. replace: If True, replace existing loads. item_type: "Object", "Group", or "SelectedObjects". Returns: Confirmation. |
| etabs_run_analysisA | Run the structural analysis for all active load cases. Note: The model must be saved (have a file path) before running analysis. Returns: Confirmation of analysis completion. |
| etabs_get_analysis_statusA | Get the status of all analysis cases. Returns: JSON array of load cases and their status (e.g. "Finished", "Not Run"). |
| etabs_set_active_dofA | Set the active degrees of freedom for the analysis (e.g. 3D, 2D X-Z). For 3D space: all True. For 2D X-Z plane: u1=True, u3=True, r2=True, others False. Args: u1, u2, u3: Active translations (X, Y, Z). r1, r2, r3: Active rotations (about X, Y, Z). Returns: Confirmation. |
| etabs_delete_resultsA | Delete all analysis results, unlocking the model. Returns: Confirmation. |
| etabs_setup_resultsA | Configure which load cases/combos to include when extracting results. MUST be called before getting displacements, forces, or reactions if you want to filter the results. Args: case_names: List of load cases to select. combo_names: List of load combos to select. Returns: Confirmation. |
| etabs_get_joint_displacementsA | Get joint displacements for a specified point or group. Ensure analysis has been run and results are set up. Args: name: Name of the point or group. item_type: "Object", "Group", or "SelectedObjects". Returns: JSON array of displacements per load case/combo. |
| etabs_get_joint_reactionsA | Get joint reactions (support forces) for a specified point or group. Ensure analysis has been run and results are set up. Args: name: Name of the point or group. item_type: "Object", "Group", or "SelectedObjects". Returns: JSON array of reactions per load case/combo. |
| etabs_get_frame_forcesA | Get frame internal forces (P, V2, V3, T, M2, M3). Ensure analysis has been run and results are set up. Args: name: Name of the frame or group. item_type: "Object", "Group", or "SelectedObjects". Returns: JSON array of frame forces. |
| etabs_get_base_reactionsA | Get global base reactions for the model. Returns: JSON array of base reactions per load case. |
| etabs_define_modal_caseA | Define a modal analysis load case (Eigenvector or Ritz). IS 1893:2016 Cl. 7.7.5a requires at least enough modes to capture 90% of the total seismic mass in each principal direction. Recommended: set max_modes = 3 × number of storeys, minimum 12. Args: case_name: Name for the modal load case (default "MODAL"). modal_type: "Eigenvector" or "Ritz" (Ritz is faster for RSA). max_modes: Maximum number of modes to compute. min_modes: Minimum modes required. shift_value: Frequency shift (rad²/s²) for eigenvalue extraction; 0.0 for typical buildings. Returns: JSON confirmation with case name and parameters. |
| etabs_define_response_spectrumA | Define a multi-directional Response Spectrum Analysis (RSA) load case. Per IS 1893:2016 Cl. 7.7.5:
Per ASCE 7-22 Sec. 12.9.1: same rules apply. The scale factors encode (Z/2R) × I × g for IS 1893 or (SD1 / R / Ie) × g for ASCE 7. Compute them before calling this tool or use etabs_set_is1893_seismic_params which calculates them automatically. Args: case_name: Name for the RSA load case (e.g. "EQX", "RSX"). modal_case: Name of the modal case supplying mode shapes (default "MODAL"). direction_x: Apply spectrum in the global X direction. direction_y: Apply spectrum in the global Y direction. direction_z: Apply spectrum in the vertical Z direction. scale_x: Scale factor for X spectrum (Z·I·g / 2R for IS 1893). scale_y: Scale factor for Y spectrum. scale_z: Scale factor for Z spectrum (typically 0.5 × horizontal scale). modal_combo: Modal combination rule: "CQC" (recommended) or "SRSS". dir_combo: Directional combination: "SRSS" or "ABS". ecc_ratio: Accidental eccentricity ratio (default 0.05 = 5%). func_name_x: Name of the spectral function for X (must be pre-defined). func_name_y: Name of the spectral function for Y. func_name_z: Name of the spectral function for Z (empty = not used). Returns: JSON confirmation with RSA case parameters. |
| etabs_get_modal_resultsA | Get modal analysis results: periods, frequencies, and mass participation ratios. IS 1893:2016 Cl. 7.7.5a: The sum of modal masses considered shall be at least 90% of the total seismic mass. Verify the cumulative UX and UY columns against this criterion. Args: modal_case: Name of the modal load case (default "MODAL"). Returns: JSON array of modes, each with: - mode_number, period_s, frequency_hz - mass_ratio_UX, mass_ratio_UY, mass_ratio_UZ (per-mode fractions) - cum_UX, cum_UY, cum_UZ (cumulative fractions) - mass_ratio_RX, mass_ratio_RY, mass_ratio_RZ (rotational) |
| etabs_get_story_driftsA | Get inter-storey drift ratios and check IS 1893:2016 / ASCE 7-22 limits. IS 1893:2016 Cl. 7.11.1: Maximum storey drift under seismic loads (with R = 1.0, i.e. on the Design Basis Earthquake forces) shall not exceed 0.004 × storey height (= h/250). ASCE 7-22 Table 12.12-1: Δa / hsx (varies 0.010 to 0.025 by risk category and structure type). Args: case_or_combo: Load case or combo name. Empty string = all selected cases. direction: "X", "Y", or "Both". check_is1893: If True, flag storeys exceeding IS 1893 Cl. 7.11.1 limit of 0.004 (= h/250). Returns: JSON array of storeys, each with drift ratio and code-check result. |
| etabs_get_story_forcesA | Get storey forces (shear, overturning moment, axial) for each floor. Used to verify base shear distribution meets IS 1893:2016 Cl. 7.6.3 (parabolic distribution of seismic forces with height). Args: case_or_combo: Load case or combo name. Empty = use currently selected. Returns: JSON array of story forces including: - story, load_case - P (axial), VX, VY (storey shear), MX, MY (overturning moment), MZ |
| etabs_set_is1893_seismic_paramsA | Compute and report IS 1893:2016 seismic scale factors for RSA cases. Calculates the scale factor SF = (Z/2) × (I/R) × (g/Sa_g_at_T1) for use in etabs_define_response_spectrum. The full equivalent static base shear: VB = Ah × W where Ah = (Z/2) × (Sa/g) × (I/R) For response spectrum analysis the ETABS scale factor applied to the spectrum function is typically: g × I / R (when the spectrum function is already in units of Sa/g, i.e. normalized). ETABS multiplies the function value by scale_factor to get spectral acceleration in length/time² units. Args: load_case_x: Name of RSA case in X direction (e.g. "EQX"). load_case_y: Name of RSA case in Y direction (e.g. "EQY"). zone: IS 1893 seismic zone "II", "III", "IV", or "V". importance_factor: I — importance factor (1.0 ordinary, 1.2 important, 1.5 critical). IS 1893:2016 Table 8. response_reduction: R — response reduction factor. IS 1893:2016 Table 9. Typical: OMRF=3.0, SMRF=5.0. soil_type: Site type "I" (hard), "II" (medium), "III" (soft). IS 1893:2016 Table 1. damping_ratio: Critical damping ratio (default 0.05 = 5%). IS 1893:2016 Cl. 6.4.6. structure_type: "RC_frame", "Steel_frame", "Shear_wall", "Composite". Used for informational note only. modal_case: Name of the modal case. apply_scale_to_rsa: If True, returns ready-to-use ETABS scale factor (in m/s² for SI kN_m models). Set False for kip_ft models. Returns: JSON with zone factor Z, Ah, scale factors, and IS 1893 clause references. |
| etabs_check_is1893_driftA | Run IS 1893:2016 Cl. 7.11.1 inter-storey drift compliance check. Retrieves drifts for both seismic directions and classifies each storey as PASS/FAIL against the 0.004h limit (= h/250). IS 1893:2016 Cl. 7.11.1: The storey drift in any storey due to the minimum specified design lateral force, with partial load factor of 1.0, shall not exceed 0.004 times the storey height (h/250). Args: rsa_case_x: RSA load case name for X seismic (e.g. "EQX"). rsa_case_y: RSA load case name for Y seismic (e.g. "EQY"). story_heights_m: Optional dict of {story_name: height_m} to compute absolute drift in mm. If None, uses drift ratio only. Returns: Tabulated compliance report with PASS/FAIL per storey per direction. |
| etabs_run_steel_designA | Run the steel frame design check. Returns: Confirmation. |
| etabs_run_concrete_designA | Run the concrete frame design check. Returns: Confirmation. |
| etabs_get_design_results_summaryA | Get a summary of design results for frames. Args: design_type: "Steel" or "Concrete". name: Object or group name. Leave empty for all objects. item_type: "Object", "Group", or "SelectedObjects". Returns: JSON array of design summary results (e.g., PMM ratio). |
| etabs_set_design_codeA | Set the design code for steel or concrete design. Args: design_type: "Steel" or "Concrete". code_name: The exact string name of the code (e.g., "AISC 360-16", "ACI 318-19"). Returns: Confirmation. |
| etabs_get_available_tablesA | Get a list of all available database tables in the ETABS model. Returns: JSON array of table names. Use these names in get_table_data. |
| etabs_get_table_dataA | Get the contents of a specific database table. Args: table_key: The internal key of the table (from get_available_tables). group_name: Optional group name to filter results (default "" means all). Returns: JSON object containing table fields and row data. |
| etabs_set_table_dataA | Set data in a specific database table (for interactive editing). Note: You must call etabs_apply_table_edits after setting data for it to take effect. Args: table_key: The internal key of the table. fields: List of field keys (column names). data_rows: List of rows, where each row is a list of string values corresponding to the fields. Returns: Confirmation. |
| etabs_apply_table_editsA | Apply all pending database table edits to the model. Returns: Confirmation. |
| etabs_select_objectsA | Select objects by name in the ETABS UI. Args: name: Name of the object to select. object_type: "Point", "Frame", "Area", or "Link". clear_previous: If True, clears existing selection before selecting. Returns: Confirmation. |
| etabs_get_selectedA | Get a list of currently selected objects. Returns: JSON array of selected object names and types. |
| etabs_define_groupB | Define a new group. Args: group_name: Name of the group. color: Color for the group (-1 for auto). specified_for_selection: Whether group is available for selection. specified_for_section_cut: Whether group is available for section cuts. specified_for_steel_design: Whether group is available for steel design. specified_for_concrete_design: Whether group is available for concrete design. Returns: Confirmation. |
| etabs_add_to_groupA | Add or remove an object from a group. Args: name: Name of the object. group_name: Name of the group. object_type: "Point", "Frame", "Area", or "Link". remove: If True, removes the object from the group instead of adding. Returns: Confirmation. |
| etabs_call_apiA | Call ANY method in the ETABS API that isn't covered by other tools. This is a powerful escape hatch to access all 1,300+ methods in the API. Examples:
Args: interface_path: Dot-separated path to the interface relative to SapModel. Leave empty string to call methods directly on SapModel. method_name: Name of the method to call. arguments: List of arguments to pass to the method. COM 'ref' and 'out' parameters must still be provided (usually as dummy values or empty arrays). Returns: JSON representation of the COM method's raw return tuple. Typically the first element is the return code (0 = success). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mdvaleed7/ETABS-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server