csibridge-mcp
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 |
|---|---|
| statusA | Show whether CSiBridge is attached and what is open in it. Reports the program version, the open model file, present units, whether the model is locked, and whether a long operation is still running. Call this first. |
| connectA | Attach to a running CSiBridge, or start one. The other tools attach to a running CSiBridge automatically, so this is only needed to start CSiBridge (mode="launch"), to choose between several running instances (pid), or to re-attach after CSiBridge was restarted. Args: mode: "attach" to use a running instance, "launch" to start a new one. pid: With "attach", the process id of the instance to use. program_path: With "launch", the full path of a specific CSiBridge.exe. Defaults to the latest installed version. |
| callA | Call any CSiBridge API function by its documented path. Returns {"ret": return value, "outputs": {ref parameter: value}, "ok": bool}. For most
functions Args:
method: The function path, e.g. "SapModel.FrameObj.AddByCoord".
args: Input arguments in signature order. Trailing optional and |
| batchA | Run many API calls in order in one round trip. Use this to build or query a model efficiently (for example adding dozens of objects). Args:
calls: [{"method": "...", "args": [...], "kwargs": {...}}, ...], each with the same
meaning as the |
| api_searchA | Search the installed CSiBridge API for functions by name. Matches every word of the query against function paths and parameter names, and returns full signatures, e.g. query "frame distributed load" or "BridgeModeler span". |
| api_describeA | Describe part of the CSiBridge API, read from the installed version's type library. Args: path: A function path ("SapModel.FrameObj.AddByCoord") for its exact parameters, an interface path ("SapModel.FrameObj") to list its functions, or empty for the tree of all interfaces. filter: When listing an interface, only show functions whose name contains this text. |
| api_enumA | List the values of an API enum such as eUnits, eMatType or eLoadPatternType. Give an enum name, or part of an enum or member name to find it. Empty lists all enums. |
| job_waitB | Wait for a pending operation (one that returned a job_id) and return its result. |
| open_modelA | Open a CSiBridge model file (.bdb), replacing the model currently open. Unsaved changes to the current model are lost, so save it first if they matter. Args: path: Full Windows path of the model on the machine running CSiBridge. |
| save_modelA | Save the open model. Args: path: Full Windows path (.bdb) to save as. Empty saves to the model's current file, which fails if the model has never been saved. |
| new_modelA | Start a new blank model, replacing the model currently open. Unsaved changes to the current model are lost, so save it first if they matter. Args: units: Present units for the new model, 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. |
| run_analysisA | Run the analysis of the open model. The model must already have been saved to a file. Running locks the model. Large models take a while: if this returns pending, keep waiting with job_wait. |
| list_tablesA | List CSiBridge database tables: model definitions and analysis/design results. Each entry has the table key (used by get_table) and its import_type: 0 = read-only, 1 = editable only by file import, 2 = editable with edit_table while the model is unlocked, 3 = editable with edit_table at any time. Args: filter: Only tables whose key contains every word, e.g. "bridge section" or "joint". include_empty: Also list tables that have no data in the current model. limit: Maximum number of tables to return. |
| get_tableA | Read a CSiBridge database table as {"fields": [...], "rows": [[...], ...]}. Works for model definition tables and, after an analysis, result tables. All values are text, in the model's present units. Args: table_key: The table's key, from list_tables. fields: Only these fields. Default: all fields. group: Only objects in this group. Default: all objects. where: Only rows whose fields equal these values, e.g. {"OutputCase": "DEAD"}. limit: Maximum number of rows to return. offset: Number of matching rows to skip, for paging. for_editing: Read the table in the form edit_table expects (all fields, plus the table_version to pass back). load_cases: For result tables, the load cases to report. load_combos: For result tables, the load combinations to report. load_patterns: For result tables, the load patterns to report. |
| edit_tableA | Replace the contents of an editable database table (CSiBridge's interactive database editing). The rows given become the table's entire contents: records left out are removed from the model. So read the table with get_table(for_editing=True), change what is needed, and send every row back. The model must be unlocked for most tables. Returns CSiBridge's import log. Args:
table_key: The table's key, from list_tables.
fields: Field keys, in the order used by each row.
rows: The records, each a list of values in |
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 15 tools
Most tools target clearly distinct actions (status vs connect, list/get/edit_table, call vs batch, job_wait). The three discovery tools api_search/api_describe/api_enum overlap somewhat in intent, and the generic `call` tool conceptually overlaps with many specific tools, but descriptions differentiate them reasonably well.
Predominantly consistent snake_case with verb_noun or noun_action patterns (list_tables, get_table, edit_table, run_analysis, open_model, save_model, api_search). A few single-word tools (status, connect, call, batch) deviate slightly but remain clear and idiomatic.
15 tools is well within a healthy range for a complex bridge-engineering API. Each tool earns its place: lifecycle (new/open/save), execution (run_analysis/job_wait), table I/O (list/get/edit), discovery (api_*), and generic escape hatches (call/batch).
Covers connection, model lifecycle, analysis, table read/write, discovery, and arbitrary API calls plus batching, giving near-complete coverage via the generic `call`. Minor gaps like closing/disconnecting a model or instance explicitly are absent but workable around.