From 49fbf0765e36a721beb978344797c20336f0619c Mon Sep 17 00:00:00 2001 From: ispyisail Date: Tue, 29 Sep 2026 14:47:50 +1300 Subject: [PATCH] ai_assistants, mcp_server: #1129 merged; pending sections for #1135-#1138 --- ai_assistants.md | 61 ++++++++++++++++++++++++++++++++++++++++++++---- mcp_server.md | 14 ++++------- 2 files changed, 60 insertions(+), 15 deletions(-) diff --git a/ai_assistants.md b/ai_assistants.md index c1a932d..69cd1d2 100644 --- a/ai_assistants.md +++ b/ai_assistants.md @@ -56,11 +56,10 @@ explicitly. They go to a new file you name. ### Telling it where QElectroTech is -> **Status: pending.** The `QET_BINARY` setting below comes with -> [PR #1129](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1129), -> not yet merged. Until it is, leave it in the setup anyway (it does no -> harm), and tell the assistant in the chat where the QElectroTech program -> is when it asks. This section will drop this notice once the PR lands. +With a QElectroTech built before +[PR #1129](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1129) +(September 2026), `QET_BINARY` is ignored: tell the assistant in the chat +where the QElectroTech program is when it asks. Exports and edits start QElectroTech in the background. The server finds it from `QET_BINARY`, else from `qelectrotech` on your `PATH`. The assistant @@ -219,6 +218,58 @@ The server speaks MCP over standard input and output. --- +## Not merged yet + +Four changes will make this simpler. Until each lands, the setup above is +the way. + +### Windows: exports and edits + +> **Status: pending.** This section describes +> [PR #1135](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1135), +> not yet merged. Nothing here works until that lands — check the PR +> before trying any of this against your own build. This section will drop +> this notice once it does. + +Without it, on Windows only the reading tools work: every export, edit, +check and query fails, because the server could not start QElectroTech +there. + +### The server installed with QElectroTech + +> **Status: pending.** This section describes +> [PR #1136](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1136), +> not yet merged. Nothing here works until that lands — check the PR +> before trying any of this against your own build. This section will drop +> this notice once it does. + +`qet_mcp.py` comes with QElectroTech (`share/qelectrotech/mcp/` on Linux, +`mcp\` in the Windows installation folder) and finds that QElectroTech and +its symbols by itself, so no download and no `QET_BINARY` are needed. + +### Python with the Windows installer + +> **Status: pending.** This section describes +> [PR #1137](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1137), +> not yet merged. Nothing here works until that lands — check the PR +> before trying any of this against your own build. This section will drop +> this notice once it does. + +The installer offers "Python for the AI assistant" (unticked by default), +so Windows users need not install Python themselves. The command becomes +`C:\Program Files\QElectroTech\mcp\python\python.exe` (in JSON, each `\` is written `\\`). + +### Help → Connect an AI assistant + +> **Status: pending.** This section describes +> [PR #1138](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1138), +> not yet merged. Nothing here works until that lands — check the PR +> before trying any of this against your own build. This section will drop +> this notice once it does. + +A dialog in QElectroTech writes the setup for your assistant with the +paths filled in, for you to copy. + ## ChatGPT, and Claude or Copilot in a web browser These reach a server only through the internet, from their own computers. diff --git a/mcp_server.md b/mcp_server.md index bedd955..b1ee439 100644 --- a/mcp_server.md +++ b/mcp_server.md @@ -176,19 +176,13 @@ server. A path outside it is refused with an error naming what was allowed; symlinks are resolved first, so a link planted inside the workspace is judged by where it points. -Two arguments are deliberately **not** confined: `binary` (the -`qelectrotech` executable) and `elements_dir` (the element collection). -**This changes with the PR below.** +`binary` (the `qelectrotech` executable) and `elements_dir` (the element +collection) have their own rule, below. #### The program the server runs -> **Status: pending.** This section describes -> [PR #1129](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1129), -> not yet merged. Nothing here works until that lands — check the PR -> before trying any of this against your own build. This section will drop -> this notice once it does. - -Before this change, `binary` was taken from each tool call and whatever +Since [PR #1129](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/1129) +(merged 2026-09-29). Before it, `binary` was taken from each tool call and whatever executable file it named was run, with the call's own paths as arguments. Text inside a project from someone else could therefore steer an assistant into starting another program. Now the server finds QElectroTech itself