move_project
Move a whole project to a new start date, the way Microsoft Project's Move Project does. Every task without actual work moves by the difference between the old and the new project start, counted in working days on the project's working calendar, so durations, links and lags stay as they are and no date lands on a non-working day. Tasks with an actual start, any progress, or status Done stay where they are, as do tasks whose dates come from Microsoft Planner; tasks linked after them are rescheduled from their links. Dated constraints move with their task. Deadlines move only with moveDeadlines: true. The project start becomes start, and the project end (the target finish, project.endDate.to in the result) moves by the same working days, so this is also the tool that moves a plan's finish. The finish the plan actually reaches is finish.to: the latest task finish the project schedule computes after the move (finish.from before it). Tasks that stay can finish later than every task that moves; then finish.to is later than project.endDate.to, finish.held gives how many such tasks and the latest (drivingTaskId, drivingTaskTitle), and finishNote states it in one sentence. update_project's endDate changes only the target date and moves no task. dryRun: true returns the same counts (moving, staying and why, deadlinesMoving, constraintsMoving) and the finish, and writes nothing. Requires the project-level project.edit permission. A start equal to the current one returns changed: false and writes nothing. The result carries undo, the move that puts the plan back.
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>",
"start": "<start>"
},
"name": "move_project"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| start | Yes | The new project start, YYYY-MM-DD. | |
| projectId | Yes | The project to move. Use list_projects to find project ids. | |
| moveDeadlines | No | Move task deadlines by the same working days too. Default false. |