How the MCP server handles solutions created with a different FrameworX version, and how to point an MCP client at a specific installed version.
AI Integration → MCP SDK Reference → MCP Version Mismatch Handling
Starting with FrameworX 10.1.5, multiple product versions can be installed side-by-side on the same machine (10.1.4 on .NET 8 and 10.1.5 on .NET 10 run as isolated runtimes by design). When an MCP client attaches to a DesignerMCP server for a given version and then requests a solution that was created with a different version, the server must decide whether to open it directly, refuse, or hand control back to the LLM so the user can choose.
This page covers what happens in each case, the structured JSON responses the LLM sees, and how to reconfigure an MCP client to target an older installed version when needed.
Two facts drive every routing decision:
Legacy 9.2 and earlier (.tproj) solutions are out of scope for MCP. Use Solution Center to upgrade them first.
When open_solution (DesignerMCP / ConsoleMCP) or open_workspace (ConsoleMCP) is called, the MCP server reads the solution's ProductVersion and compares it to the running server's version. One of three outcomes applies.
Outcome | When it applies | What the LLM sees |
|---|---|---|
Open directly |
Same version, or solution is in the 10.1.0-10.1.4 baseline range and the running server is in the same baseline, or solution is older than the running server and no side-by-side install of the older version exists. |
Normal success response. If the solution is crossing a baseline, the Designer silently creates a versioned backup ( |
Prompt upgrade |
Solution is older than the running server AND the matching older version is currently installed side-by-side (the user has a genuine choice). |
Structured JSON with |
Version newer (cannot open) |
Solution was created with a version newer than the running server. |
Error with code |
When the server returns Prompt upgrade, the response is success-shape JSON (not an error) so the LLM can present the options in chat rather than fail the turn:
Error rendering macro 'code': Invalid value specified for parameter 'com.atlassian.confluence.ext.code.render.InvalidValueException'{
"success": false,
"versionMismatch": true,
"solutionVersion": "fx-10.1.4",
"runningVersion": "fx-10.1.5",
"solutionName": "Demo",
"message": "Solution 'Demo' was created with version fx-10.1.4. This MCP server is running version fx-10.1.5.",
"options": [
{
"option": "upgrade",
"description": "Upgrade the solution from fx-10.1.4 to fx-10.1.5. A backup will be created automatically. To proceed, call open_solution again — the upgrade happens automatically."
},
{
"option": "use_older_version",
"description": "Keep the solution at version fx-10.1.4. The user must change their MCP server configuration to point to the older version's DesignerMCP: C:\\Program Files\\Tatsoft\\FrameworX\\fx-10.1.4\\net8.0\\DesignerMCP.dll"
}
]
}
If the user accepts the upgrade, the LLM calls open_solution a second time for the same solution. The server remembers that the version mismatch has already been surfaced for that solution name and bypasses the check on the retry — the second call proceeds directly into the normal open flow, which creates the versioned backup and migrates the schema transparently.
The bypass is per-solution-name and applies only to PromptUpgrade. The VERSION_NEWER outcome is not bypassed on retry: a solution that requires a newer product version cannot be opened no matter how many times the LLM is asked, so the server keeps refusing until the product is updated.
When the user chooses use_older_version, the fix is in the MCP client configuration — not in FrameworX. Replace the DesignerMCP.dll path with the one that matches the solution's version.
FrameworX 10.1.5 installers place each version in its own folder under C:\Program Files\Tatsoft\FrameworX\. The runtime subfolder depends on the version's .NET target.
Solution / running version | DesignerMCP path |
|---|---|
10.1.0 – 10.1.4 (net8.0) |
|
10.1.5 and later (net10.0) |
|
The fx-10.1.X folders are created by the installer and exist as long as the matching version is installed side-by-side. The default fx-10 folder used by earlier documentation continues to point at the primary installed version; the versioned folders are the stable path for multi-version setups.
To target 10.1.4 from Claude Desktop, edit %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"FrameworX-Designer": {
"command": "dotnet",
"args": [
"C:\\Program Files\\Tatsoft\\FrameworX\\fx-10.1.4\\net8.0\\DesignerMCP.dll"
],
"transport": "stdio"
}
}
}
Save the file, fully quit Claude Desktop, and relaunch. The MCP server that starts up is now the 10.1.4 server — the versionMismatch response disappears for 10.1.4 solutions.
For Copilot, edit mcp.json (Command Palette → MCP: Open User Configuration) and use the same versioned path in args:
{
"servers": {
"FrameworX-Designer": {
"type": "stdio",
"command": "dotnet",
"args": [
"C:\\Program Files\\Tatsoft\\FrameworX\\fx-10.1.4\\net8.0\\DesignerMCP.dll"
]
}
}
}
Restart the MCP server from MCP: List Servers after saving.
The use_older_version choice is a one-time reconfiguration per solution — it changes which MCP server Claude talks to, not which FrameworX Designer runs. Once pointed at the 10.1.4 server, the user continues to work on the 10.1.4 solution with the 10.1.4 Designer until they decide to upgrade.
Symptom | Likely cause | Fix |
|---|---|---|
|
The solution was created with a product version newer than the MCP server. This is expected behavior — the server refuses on purpose to protect the file. |
Install the newer product version side-by-side, then edit the MCP client config to point at the newer |
LLM keeps receiving |
The second |
Call |
No prompt appears when opening a 10.1.3 solution on 10.1.5 |
10.1.3 is inside the 10.1.0-10.1.4 baseline. The server opens it directly — no prompt is expected in this case. |
None. The Designer will silently create a versioned backup if any schema migration is needed. |
|
The older product version was uninstalled after the solution was created, or the folder layout was customized at install time. |
Reinstall the matching version, or accept |