v0.6.0
Tekla MCP Server v0.6.0
Two big changes. Releases are now built per Tekla version — download the zip matching your Tekla (2021–2026); the wrong one fails fast with a clear message instead of cryptic remoting errors. And agents get a policy-checked C# scripting escape hatch (tekla_run_csharp) for Tekla Open API capabilities that have no dedicated tool yet.
⚠️ Pick the right zip
The universal single-exe build is gone (#11) — it silently broke on machines with stale Tekla assemblies in the GAC (#7). Each zip below is compiled for one Tekla version:
| Asset | For |
|---|---|
TeklaMcp.Server-v0.6.0-tekla2021.zip |
Tekla Structures 2021 |
TeklaMcp.Server-v0.6.0-tekla2022.zip |
Tekla Structures 2022 |
TeklaMcp.Server-v0.6.0-tekla2023.zip |
Tekla Structures 2023 |
TeklaMcp.Server-v0.6.0-tekla2024.zip |
Tekla Structures 2024 |
TeklaMcp.Server-v0.6.0-tekla2025.zip |
Tekla Structures 2025 |
TeklaMcp.Server-v0.6.0-tekla2026.zip |
Tekla Structures 2026 |
TeklaMcp.Server-0.6.0-net8.0-mock.zip |
Development / testing without Tekla (mock backend) |
The Tekla DLLs themselves are not bundled — they load at runtime from your installed Tekla, after the server verifies the version matches its build. On a mismatch, every Tekla operation returns "Wrong build for this Tekla version … download …-tekla<year>.zip". Stale GAC copies of a different Tekla version can no longer hijack the process.
What's new since v0.5.0
Per-Tekla-version builds (#11)
TeklaAssemblyResolverrewritten policy-free: locate the installed Tekla'sbin(TEKLA_BIN_DIR→ runningTeklaStructures.exe→ registry, preferring the install matching the build), verify the major version,Assembly.LoadFrom. No binding redirects, no byte-loading.- The "server started before Tekla" flow still recovers without a restart, and the remoting-channel auto-alignment (
…-Console:<version>pipes) from v0.5.0 is unchanged. - Building from source now takes
-p:TeklaVersion=<NuGet version>(e.g.2023.0.1); CI compiles the whole 2021–2026 matrix on every PR. - Verified live on Tekla Structures 2023 (80k+-object model) on a machine where the universal build previously failed.
C# scripting escape hatch (#10)
tekla_run_csharp— run a short C# script against the live model: Roslyn scripting, Tekla namespaces pre-imported,Print(...)for output, the last expression returned as JSON. Pipeline: syntax-level safety policy → compile → execute, with every failure reported back so the agent can self-correct.tekla_search_api/tekla_get_api_doc— offline search over the locally generated Tekla Open API reference (tools/TeklaApiDoc), so agents verify signatures instead of guessing them.- Safety: read-only by default — mutating members require
allowMutations=true, which the agent must only set after showing you the script and getting your explicit go-ahead. No file/network/process/reflection/thread/Consoleaccess, no#r/#load, hard timeout, capped output. This is a barrier for well-behaved agents, not a security sandbox. - New MCP server instructions give agents an escalation ladder: dedicated tools → script escape hatch →
tekla_report_gap.
Requirements
Windows + Tekla (net48):
- Windows x64
- Tekla Structures 2021–2026, running with a model open — with the matching zip from above
- .NET Framework 4.8 runtime
- If the server can't find Tekla automatically, set
TEKLA_BIN_DIRto the Teklabinfolder - If connection fails with Tekla open, check the error message: it lists the published Tekla pipes; set
TEKLA_MCP_CHANNELto 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.
Full changelog
See CHANGELOG.md.