diff --git a/crates/mcp/src/tools.rs b/crates/mcp/src/tools.rs index eb2a066..585af5b 100644 --- a/crates/mcp/src/tools.rs +++ b/crates/mcp/src/tools.rs @@ -137,7 +137,9 @@ pub fn tool_definitions() -> Vec { "Check the model", "The model check (model.check): every error and warning, each naming its item (a set member not on the \ mesh, an element with no section, a missing density for a frequency step, implausible units…). A model \ - with errors does not solve or write.", + with errors does not solve or write. `progress` is the setup checklist: `next` names the next stage and \ + the command that does it, `stages` every stage (geometry … results) as done, next, todo, blocked or \ + optional.", obj(json!({}), &[]), true, false, diff --git a/docs/mcp.md b/docs/mcp.md index 92828bd..621e486 100644 --- a/docs/mcp.md +++ b/docs/mcp.md @@ -95,7 +95,7 @@ software on the computer. | `execute` | `command`, `params?` | Run any command (`list_commands`). A failure leaves the model unchanged and names what to fix; a command whose `requires` are not met fails before doing anything, naming each missing piece and the command that provides it. | | `batch` | `commands: [{command, params}]` | Run steps in order, stop at the first error; the reply has every result and the failing step (`failed.index`, `failed.command`, `failed.error`). Steps before it stay applied (`undo` takes them back). | | `inspect_model` | — | `model.info` (counts, units, definitions), `model.activity` (the step table) and `geometry.bodies` (bodies with measures, persistent face names, which sets name as `{body, face}`, and persistent edge names `|` with lengths, which sets name as `{body, edge}`). | -| `check_model` | — | `model.check`: errors and warnings, each naming its item. | +| `check_model` | — | `model.check`: errors and warnings, each naming its item, and `progress`: the setup checklist with the next stage and its command. | | `open` | `path`, `model?` | By extension: `.fieldcraft` (`file.open`), `.solidcraft` (`geometry.open`), `.3mf` (`geometry.import.mesh`). For a design, `model` is `keep` (default: the mesh and definitions stay, as a reopen after an edit wants) or `new` (a new model with the design); the reply's `related` is false when the design has none of the bodies the model refers to, and `stale` lists the mesh bodies and sets that no longer resolve. | | `save` | `path?` | `file.save`: to `path` or the model's own file. | | `write_deck` | `format` (abaqus, nastran, lsdyna), `path`, `steps?` | `deck.write`. |