ai_assistants, mcp_server: #1129 merged; pending sections for #1135-#1138

ispyisail
2026-09-29 14:47:50 +13:00
parent 9ab0fa5357
commit 49fbf0765e
2 changed files with 60 additions and 15 deletions
+56 -5
@@ -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.
+4 -10
@@ -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