Creates a whole project in one call. Pass just a name for a project with a default board, or pass a full structure (columns, milestones, tasks) that you have designed yourself. The calling agent is the generator here; this tool only persists the structure and does NOT run the paid asynchronous AI generation pipeline. The creator becomes the project owner.
Safety: Write
Tool names, field names, and schema descriptions remain in canonical MCP English so copied calls match the server exactly.
Input schema
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | yes | The project name. |
description |
string | no | Optional project description (plain text). |
columns |
array | no | Optional board columns. Each item is an object with "name" (string) and optional "type" (one of: planning, progressing, testing, finish). Omit to scaffold a sensible default board. Capped at 12. |
milestones |
array | no | Optional milestones. Group related tasks into a phase with a real span; a milestone holding a single task is a task, not a milestone. Capped at 50. |
tasks |
array | no | Optional tasks. Each item is an object with "name" (string, required), optional "description" (rich-text HTML), optional "column" (see preserve_task_columns), optional "milestone" (name of one of the milestones above), and optional "due_date" (YYYY-MM-DD). Capped at 100. |
preserve_task_columns |
boolean | no | Defaults to false: every task is created in the first column, because a project that was just created cannot already have work in progress, testing or done. Set this to true only when importing work that genuinely is already underway, e.g. migrating an existing board. |
Example prompt
Use create-project-tool to help me with the relevant Taskavel task.
Example call
{
"name": "create-project-tool",
"arguments": {}
}