All posts
Jul 28, 20255 min readAfrasayab MahsudResearch

Introducing CSIChat v0.1 — Putting the LLM Inside the Engineering Software

The MCP-server-on-the-outside experiment was working. But the next version had to live inside the platform — not next to it. CSIChat v0.1 is the prototype for that idea: an LLM with API-documentation retrieval (BM25s — several times faster than traditional RAG), baked directly into SAP 2000 and ETABS.

Three weeks in, and the SAP 2000 MCP prototype is doing real work — modeling, materials, loads, all driven from a chat window. But every test session follows the same awkward pattern: a SAP window on one monitor, Claude Desktop on the other, the engineer’s gaze bouncing between them like a tennis match. The chat needs to live where the work lives.

CSIChat v0.1 is the experiment in that direction. It is unaffiliated with CSI Labs — the name is a placeholder for the prototype, not a product. The idea: bake an LLM and API-documentation retrieval directly into the engineering software so the engineer never has to leave the platform.

What CSIChat v0.1 actually is

Two pieces working together:

  • A large language model wired into SAP 2000 / ETABS via an embedded chat panel
  • A retrieval layer over the entire OAPI documentation set — using BM25s, a fast variant of BM25 that benchmarks several times faster than a traditional RAG baseline on the same corpus

Together that means the user can ask questions about the API in the same chat where they ask the model to build geometry. "Which load combination type should I use for ASCE 7 Section 2.3.2?" gets a documentation answer with citations. "Apply that combination to all area objects in the slab group" gets a tool call that does it.

Why integrated beats external

The MCP-server-plus-Claude-Desktop architecture works. It also requires the user to install Claude Desktop, configure an MCP server, manage a Python environment, and remember which window the chat is in. None of that is engineering work. All of that is friction.

When the chat lives inside SAP 2000 or ETABS, three things change at once:

  • The user runs the engineering tool they already have — no separate install of Claude Desktop, no Python setup, no MCP configuration files
  • The chat sees the same window the engineer sees — opening a file, scrolling the model, switching units — context the external chat had to be told about explicitly
  • API documentation is one panel away, retrieved with citations, instead of a separate browser tab and a manual search

The multi-product play

CSI Labs ships several products on the same OAPI architecture. The CSIChat prototype is being developed across the family:

  • SAP 2000 — prototype shipped
  • ETABS — port in progress, mostly mechanical work given the OAPI overlap
  • CSiBridge — planned

The bet is that one well-designed embedded chat experience can serve every CSI product, plus an eventual port to Autodesk Robot Structural Analysis and others on top of their own APIs.

What still needs work

Honest list of where v0.1 is rough — including the caveat one early commenter raised, that CSI’s own documentation has gaps that retrieval cannot fully paper over:

  • The MCP server still runs out-of-process and the embedded UI talks to it locally — the goal is to bring the MCP client and server fully inside the host software so there is one process, one install
  • Some API documentation chunks are too dense for the retrieval layer to surface cleanly — sectioning and metadata still need work
  • Streaming UX inside an SAP modal is a different beast from a Claude Desktop window — there are race conditions when the model writes to the SAP scene while the engineer is also clicking around

But the core feedback so far is consistent: an LLM you can talk to inside the platform feels qualitatively different from an LLM you have to alt-tab to. That difference is what made me commit to the integrated path.

Thanks

Computers and Structures, Inc. — thanks again for building software open enough to support this kind of experimentation. CSIChat is unofficial; the goal is to validate the integrated-chat shape, then talk about what an official version of this could look like once the prototype is solid enough to take that conversation seriously.