Update features
update_featuresChange a project's features by id: add (a feature, with optional children, under parentId or null for top level), update (name and/or description), move (to parentId, optional position), remove (the feature and every feature under it). Every feature needs a concise name and description. Changes apply in order as one atomic write against baseRevision from get_features; split a large restructure into several calls, each with the revision the previous one returned. Hands-off marks belong to the vibe coder: hands-off features and every feature under them cannot be changed, moved, removed, or added to. Stale writes are refused, as is a change to a feature the vibe coder has open for editing in the browser.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"projectId": "<projectId>",
"baseRevision": "<baseRevision>",
"changes": "<changes>"
},
"name": "update_features"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| changes | Yes | Changes to apply in order: add, update, move, or remove; descriptions hold no tables. | |
| projectId | Yes | Id of the Project. | |
| baseRevision | Yes | Revision returned by get_features. |