Skip To Main Content
All modules

Projects

Fields marked * are required. Updates keep every field they are not given. An AI app can ask vritto_describe for the same details, filtered to what its connection may use.

Projectproject

A multi-step outcome with milestones and progress.

projects_getProjectFindthrough vritto_find

Fetch one project by its ID. Requires a real projectId; use projects_queryProjects first when the ID is unknown.

FieldTypeDescription
projectId*stringProject ID.
projects_queryProjectsFindthrough vritto_find

Search projects by free text, status, priority, tag, or area. Use status 'active' with a small limit for current outcomes. Rows are compact summaries (id, name, status, targetDate, milestoneCount, progress); use projects_getProject (or detail 'full') when the user needs the summary/outcome text or milestone list.

FieldTypeDescription
querystringSearch query.
statusone of planned, active, paused, completed, cancelled
priorityone of low, normal, high, urgent
tagstringExact tag filter.
areastringArea filter.
detailone of summary, fullRow shape: "summary" (default, id/name/status/targetDate/milestoneCount/progress) or "full" (every field incl. summary/outcome text and milestones).
includeArchivedbooleanInclude archived (deleted) projects; default false.
limitintegerMax records to return (default 50 in summary mode, 200 in full).
projects_createProjectCreatethrough vritto_create

Create a project for a serious multi-step outcome; do not create one for a single one-off task. Capture name, summary, outcome (definition of done), status, priority, area, startDate/targetDate (YYYY-MM-DD), tags, and milestones. Example: name 'Launch Vritto beta', status 'active', targetDate '2026-08-01', tags ['work'].

FieldTypeDescription
project*objectProject fields; name is required.
project.name*stringProject name.
project.summarystringShort description.
project.outcomestringDefinition of done or desired outcome.
project.statusone of planned, active, paused, completed, cancelledProject status (default 'active').
project.priorityone of low, normal, high, urgent
project.areastringArea or domain.
project.startDatestringLocal date YYYY-MM-DD.
project.targetDatestringLocal date YYYY-MM-DD.
project.tagslist of stringTags.
project.ownerPersonIdslist of stringOwner person IDs.
project.linkedRefslist of objectLinked module records.
project.milestoneslist of objectProject milestones.
project.progressintegerProgress percent; task-weighted automatically when project tasks exist.
project.favoritebooleanFavorite project.
project.idempotencyKeystringStable dedupe key.
Example input
{
  "project": {
    "name": "Kitchen remodel",
    "outcome": "A kitchen we cook in every night",
    "status": "active",
    "targetDate": "2027-03-01"
  }
}
projects_patchProjectUpdatethrough vritto_update

Apply a partial update to one project; only the fields present in patch change. Requires projectId. Example: patch { progress: 40 }.

FieldTypeDescription
projectId*stringProject ID.
patch*objectFields to change.
patch.namestringProject name.
patch.summarystringShort description.
patch.outcomestringDefinition of done or desired outcome.
patch.statusone of planned, active, paused, completed, cancelledProject status (default 'active').
patch.priorityone of low, normal, high, urgent
patch.areastringArea or domain.
patch.startDatestringLocal date YYYY-MM-DD.
patch.targetDatestringLocal date YYYY-MM-DD.
patch.tagslist of stringTags.
patch.ownerPersonIdslist of stringOwner person IDs.
patch.linkedRefslist of objectLinked module records.
patch.milestoneslist of objectProject milestones.
patch.progressintegerProgress percent; task-weighted automatically when project tasks exist.
patch.favoritebooleanFavorite project.
patch.idempotencyKeystringStable dedupe key.
expectedRevisionintegerRevision guard from the last read.
projects_deleteProjectDeletethrough vritto_delete

Delete a project (marks it cancelled and archived). Only for explicit deletion requests.

FieldTypeDescription
projectId*stringProject ID.
expectedRevisionintegerRevision guard from the last read.

Project Taskproject_task

A work item on a project board.

projects_queryProjectTasksFindthrough vritto_find

Search tasks owned by the Projects module across boards and timelines; filter by projectId, free text, status, priority, or tag. ALWAYS pass dueOnOrBefore when the question concerns near-term work (this week, overdue). Rows are compact summaries; pass detail 'full' only when the user needs complete task notes.

FieldTypeDescription
projectIdstringOnly tasks in this project.
querystringSearch query.
statusone of todo, in_progress, blocked, done, cancelled
priorityone of low, normal, high, urgent
tagstringExact tag filter.
dueOnOrBeforestringOnly open tasks due on or before this date (YYYY-MM-DD), use for near-term views like 'project work due this week'.
detailone of summary, fullRow shape: "summary" (default, id/title/status/dueDate/priority/projectId + notes preview) or "full" (every field incl. complete notes).
includeArchivedbooleanInclude archived (deleted) project tasks; default false.
limitintegerMax records to return (default 50 in summary mode, 500 in full).
projects_createProjectTaskCreatethrough vritto_create

Create a work item inside a project board; task.projectId and task.title are required. Set status, priority, dueDate, effortPoints (relative effort for workload and weighted progress), assignees, and tags when known.

FieldTypeDescription
task*objectProject task fields; projectId and title are required.
task.projectId*stringOwning project ID.
task.title*stringTask title.
task.notesstringSupporting notes.
task.statusone of todo, in_progress, blocked, done, cancelled
task.priorityone of low, normal, high, urgent
task.dueDatestringLocal date YYYY-MM-DD.
task.effortPointsintegerRelative effort estimate used for workload and weighted progress.
task.assigneePersonIdslist of stringAssignee person IDs.
task.tagslist of stringTags.
task.sortOrdernumberBoard sort order.
task.linkedTaskIdstringLinked Tasks-module task ID.
task.idempotencyKeystringStable dedupe key.
Example input
{
  "task": {
    "projectId": "proj_kitchen",
    "title": "Get three contractor quotes",
    "dueDate": "2026-10-15",
    "priority": "high"
  }
}
projects_patchProjectTaskUpdatethrough vritto_update

Apply a partial update to one project task; only the fields present in patch change. Requires projectTaskId and patch.

FieldTypeDescription
projectTaskId*stringProject task ID.
patch*objectFields to change.
patch.projectIdstringOwning project ID.
patch.titlestringTask title.
patch.notesstringSupporting notes.
patch.statusone of todo, in_progress, blocked, done, cancelled
patch.priorityone of low, normal, high, urgent
patch.dueDatestringLocal date YYYY-MM-DD.
patch.effortPointsintegerRelative effort estimate used for workload and weighted progress.
patch.assigneePersonIdslist of stringAssignee person IDs.
patch.tagslist of stringTags.
patch.sortOrdernumberBoard sort order.
patch.linkedTaskIdstringLinked Tasks-module task ID.
patch.idempotencyKeystringStable dedupe key.
expectedRevisionintegerRevision guard from the last read.
projects_publishProjectTaskToTasksUpdatethrough vritto_update

Copy and link one project task into the global Tasks module so it appears in the user's general task list. Use only when the user explicitly asks to copy or link a project task into Tasks.

FieldTypeDescription
projectTaskId*stringProject task ID.
expectedRevisionintegerRevision guard from the last read.
projects_setProjectTaskStatusUpdatethrough vritto_update

Set one project task's status (todo, in_progress, blocked, done, cancelled), optionally with a new board sortOrder. Requires projectTaskId and status. Example: { projectTaskId, status: 'done' }.

FieldTypeDescription
projectTaskId*stringProject task ID.
status*one of todo, in_progress, blocked, done, cancelledNew status.
sortOrdernumberBoard sort order.
expectedRevisionintegerRevision guard from the last read.

Kept in the Vritto app

  • projects_updateProject: Replaces a whole record and clears omitted fields; the merge operation is on MCP instead.