Skip to content

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 12:12

Tekla MCP Server v0.5.0

Reliability and scale release. The live server now connects to Tekla setups where the Open API
channel is published under a non-default name (and no longer trips over stale Tekla assemblies
in the GAC), and the whole-model tools are fast enough for 400k+-object models. Agents also
get a formal way to report missing capabilities.

What's new since v0.4.0

Connection fixes for real-world Tekla setups (issue #7)

  • Some Tekla installations publish the Open API remoting pipe as
    Tekla.Structures.Model-Console:<version> instead of the default
    Tekla.Structures.Model-:<version> — the server previously reported "Not connected" even
    though Tekla was open. It now probes the machine's named pipes before the first connection and
    targets the channel Tekla actually publishes. Override with the TEKLA_MCP_CHANNEL env var.
  • If the compile-baseline Tekla assemblies (2021) were installed in the GAC, .NET silently
    loaded them and spoke the wrong protocol version to the running Tekla. The universal build now
    always loads the Open API DLLs from your installed/running Tekla, never from the GAC.
  • "Not connected" errors now include real diagnostics: the client channel name, the loaded API
    version and where it was loaded from, and the Tekla model pipes present on the machine.

Large-model performance (issue #5)

On a ~420k-object model, tekla_count_objects used to take ~10 minutes and
tekla_get_model_summary ran until the MCP client dropped the connection (-32000). Now:

  • Object data is fetched in batches during enumeration (AutoFetch) instead of one remoting
    round-trip per property read.
  • Scans match on cheap direct properties first and read report properties / solids only for the
    objects actually returned. GetSolid() — the most expensive Open API call — is no longer
    executed per object on whole-model paths.
  • An unfiltered tekla_count_objects returns instantly (enumerator size, no object walk).
  • tekla_get_model_summary streams cheap reads, and gains options for huge models:
    includeWeights=false (skip the per-part weight lookup) and maxObjects (cap the scan; the
    result is marked truncated).
  • Type-filtered queries (Beam, PolyBeam, ContourPlate, Grid) pre-filter at the Tekla API
    level via GetAllObjectsWithType.

Gap reporting for agents

  • MCP server instructions now steer connecting agents to work with the provided tools and to
    report missing functionality instead of scripting around it or fabricating data.
  • New tool tekla_report_gap — produces a ready-to-file GitHub issue draft (title + body) for a
    missing capability, logs the request locally, and points to the issues URL (configurable via
    TEKLA_MCP_ISSUES_URL). The server never files issues itself.

Downloads

Asset Use case
TeklaMcp.Server-0.5.0-net48-win-x64.zip Production — Windows + Tekla Structures 2021+ with an open model (universal; loads the matching Tekla DLLs at runtime)
TeklaMcp.Server-0.5.0-net8.0-mock.zip Development / testing without Tekla

Requirements

Windows + Tekla (net48):

  • Windows x64
  • Tekla Structures 2021 or newer, running with a model open
  • .NET Framework 4.8 runtime
  • If the server can't find Tekla automatically, set TEKLA_BIN_DIR to the Tekla bin folder
  • If connection still fails with Tekla open, check the error message: it lists the published
    Tekla pipes; set TEKLA_MCP_CHANNEL to the exact pipe name if needed

Mock backend (net8.0):

MCP client configuration

Extract the zip, then point your MCP client to the executable:

{
  "mcpServers": {
    "tekla": {
      "command": "C:\\path\\to\\TeklaMcp.Server.exe"
    }
  }
}

Keep the .exe, all .dll files and TeklaMcp.Server.exe.config in the same directory —
the config is required for correct Tekla assembly resolution.

Full changelog

See CHANGELOG.md.