batch_update_nodes
Update multiple planning nodes simultaneously to modify status, titles, or descriptions in bulk within a hierarchical plan structure.
Instructions
Update multiple nodes at once
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | Yes | Plan ID | |
| updates | Yes | List of node updates |
Implementation Reference
- src/tools.js:693-716 (handler)The main handler for the batch_update_nodes tool. It iterates over the list of updates, calls the underlying updateNode API for each node, collects successful results and errors, and returns a formatted response with summary statistics.if (name === "batch_update_nodes") { const { plan_id, updates } = args; const results = []; const errors = []; for (const update of updates) { const { node_id, ...updateData } = update; try { const result = await apiClient.nodes.updateNode(plan_id, node_id, updateData); results.push({ node_id, success: true, data: result }); } catch (error) { errors.push({ node_id, success: false, error: error.message }); } } return formatResponse({ total: updates.length, successful: results.length, failed: errors.length, results, errors }); }
- src/tools.js:348-375 (registration)Tool registration in the ListTools response, including the name, description, and input schema definition for batch_update_nodes.{ name: "batch_update_nodes", description: "Update multiple nodes at once", inputSchema: { type: "object", properties: { plan_id: { type: "string", description: "Plan ID" }, updates: { type: "array", description: "List of node updates", items: { type: "object", properties: { node_id: { type: "string", description: "Node ID" }, status: { type: "string", enum: ["not_started", "in_progress", "completed", "blocked"] }, title: { type: "string" }, description: { type: "string" } }, required: ["node_id"] } } }, required: ["plan_id", "updates"] } },
- src/tools.js:348-375 (schema)Input schema for the batch_update_nodes tool, defining the expected parameters: plan_id and array of updates with node_id required.{ name: "batch_update_nodes", description: "Update multiple nodes at once", inputSchema: { type: "object", properties: { plan_id: { type: "string", description: "Plan ID" }, updates: { type: "array", description: "List of node updates", items: { type: "object", properties: { node_id: { type: "string", description: "Node ID" }, status: { type: "string", enum: ["not_started", "in_progress", "completed", "blocked"] }, title: { type: "string" }, description: { type: "string" } }, required: ["node_id"] } } }, required: ["plan_id", "updates"] } },