Pull requests / #1227
#1227 mcp: the install plan follows setup's AMD rules - Windows AMD and vision=cpu on Linux are planned (#990)
closed · @BGonnermann · 0 comentarios · En GitHub
Setup & installServer & APIAMD / HIPNVIDIA / CUDADocumentationWindowsLinux
Descripción
Fixes #990.
## The problem
`strata_install` (the MCP server's install planner) kept its own copy of the AMD rules, and the copy was older than
setup's:
- `backend: hip` on Windows was refused ("runs on Linux only"), although setup installs the ready-made Windows AMD
engine since 0.1.34.
- Any `vision` other than `no` with `backend: hip` was refused, although `--vision cpu` works on Linux AMD since 0.1.32.
- The hardware check listed AMD cards on Linux only, so on Windows an AMD-only PC got no recommendation.
## The change
| Where | Change |
|---|---|
| `Strata.amd_images()` (new) | Asks `setup.py`'s own `hip_vision` what `--vision` gives on an AMD card, so the plan and setup cannot drift apart. The same rule is built in for when `setup.py` does not import. Setup's warning is kept out of stdout. |
| `install_plan` | The Windows guard is gone. `vision: cpu` plans where setup supports it. `vision: yes` / `gpu` on an AMD card is still refused, because setup would only switch images off; the message now names `vision=cpu`. `gpus` with an AMD card on Windows is refused, where setup stops too. |
| `install_plan`, no `backend` given | On an AMD-only PC setup picks the AMD engine by itself, so the same image rule applies there. Before, `vision: yes` passed the plan and setup dropped the images silently. |
| `_hardware` | AMD cards are listed on Windows from setup's `amd_gpus_windows()` (display adapters and registry). |
| `recommend` | An unsupported AMD card is named with setup's reason instead of "AMD cards run on Linux only"; the AMD note says what the platform gets. |
| Tool descriptions, `docs/MCP_SERVER.md` | Updated to match. |
## Two things to know
- On Windows the hardware check does not call `amd_gpus()`: with an AMD engine installed that runs
`strata-device --list-devices` and copies runtime files beside it, and `strata_status` is a read-only tool. So the
card numbering can differ from setup's once an AMD engine is installed. Say so if you would rather have setup's
numbering there.
- #1156 removes the Windows gate in `hip_vision`. The planner follows it without a change here; one assertion in
`test_amd_cards_are_listed_on_windows` (`"no images"`) and the Windows rows of `test_amd_plans_follow_setup` would
then need updating.
## Tests
`python -m unittest tools/test_strata_mcp.py`: 27 pass (23 before, 4 new), on Windows 11, Python 3.14.7. No GPU and no
download; the hardware is mocked, and Linux / Windows are both run by patching `WIN`.
- `test_amd_plans_follow_setup`: Linux AMD + `vision: cpu` plans; `yes` / `gpu` refused; Windows AMD text plans;
Windows AMD images refused; Windows AMD `gpus` refused. Every case checks that nothing was started.
- `test_amd_is_recognized_without_backend`: the AMD-only PC with `backend` left out or `auto`; a PC with an NVIDIA card
keeps `vision: yes`.
- `test_amd_image_rule_is_setups`: `amd_images` equals `setup.hip_vision` for every value on both systems, and so does
the built-in rule.
- `test_amd_cards_are_listed_on_windows`: a supported card is recommended with the AMD engine; an integrated Radeon is
named with setup's reason; the engine probe is not run.
`python tools/test_setup_amd.py`: 30 pass.
Not tested on a real AMD card: this PC has an RTX 5070 Ti and an integrated Radeon (listed as not supported, as it
should be). The issue's own request (`backend: hip`, `vision: cpu`, `confirm: false`) was replayed here on Windows: it
is refused for Windows only, and the same request without `vision` returns a plan.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
En el sitio
Enlaces a install, modelos, releases.