update_project
Use this tool to update mutable fields on an existing Marcora project.
To set or change the project's brief, pass an existing content UUID as `project_brief_id` - the tool resolves it to the appropriate document wrapper internally. **If the content isn't already attached to the project, this tool will attach it for you AND set it as the brief in one call** — you don't need to add the content separately first.
**To READ the existing brief instead of replacing it, do not come here.** `get_project` returns the brief as a `project_brief` block with an excerpt, and `get_content` with that block's `content_id` returns the full body. Read it before you change it — the brief is the project's authoritative statement of premise and structural decisions, and overwriting it blind discards them.
Important notes:
- Only fields you pass are updated (PATCH semantics). Omit a field to leave it unchanged.
- `visibility` must be exactly `team` or `private`.
- `status` must be exactly `active` or `archived`.
- `name` must be non-empty when provided.
Common use cases:
- "Set the brief on the Acme Launch project to <content>" -> call with project_id and project_brief_id (works whether or not the content is already in the project).
- "Rename the project" -> call with project_id and name.
- "Make the project private" -> call with project_id and visibility="private".
- "Archive the project" -> call with project_id and status="archived".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": {
"project_id": "<project_id>"
},
"name": "update_project"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New project name. Must be non-empty when provided. Omit to leave unchanged. | |
| status | No | New project status. "active" for ongoing work; "archived" to hide from the active list while preserving content. Setting to "active" requires available active-project usage. Omit to leave unchanged. | |
| project_id | Yes | UUID of the project to update. Get from list_projects or get_project. | |
| visibility | No | New visibility setting. "team" makes it visible to all team members; "private" restricts to the creator and explicit project members. Omit to leave unchanged. | |
| project_brief_id | No | UUID of an existing content item to set as this project's brief. If the content isn't already attached to the project, this tool will attach it AND set it as the brief in one call. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message | No | Human-readable status message. | |
| project | No | The updated project record. | |
| success | Yes | True if the update applied successfully. |