Capture GTD exposes two MCP tools — read-gtd and write-gtd — that give AI assistants full access to your GTD system. Both tools use a discriminated-union JSON schema: a top-level organizationId and a query or command object whose type field selects the operation.

Connection Details

PropertyValue
Server URLhttps://app.capture-gtd.com/mcp
TransportStreamable HTTP (MCP spec 2025-11-25)
AuthenticationOAuth 2.0 with scopes openid and offline_access

All requests require an organizationId (UUID). The authenticated user must be a member of the specified organization.


read-gtd

Query GTD data. Read-only; does not modify state.

Top-level parameters:

ParameterTypeRequiredDescription
organizationIdstring (UUID)YesThe organization to query
queryobjectYesThe query object; must include a type field

Returns: JSON-serialized query results as text content.

Task Queries

inbox

Retrieve all unclarified inbox items (tasks with kind Stuff).

ParameterTypeRequired
type"inbox"Yes

nextTasks

Retrieve all active next actions (Todos), sorted by impact score.

ParameterTypeRequired
type"nextTasks"Yes

engagedTasks

Retrieve prioritized actionable tasks, optionally filtered by context or project.

ParameterTypeRequiredDescription
type"engagedTasks"Yes
contextstring (UUID)NoFilter by context ID
projectstring (UUID)NoFilter by project ID

getTask

Retrieve full details for a single task.

ParameterTypeRequiredDescription
type"getTask"Yes
taskIdstring (UUID)YesThe task ID

allTasks

Retrieve all tasks in the system.

ParameterTypeRequired
type"allTasks"Yes

completedTasks

Retrieve all completed tasks.

ParameterTypeRequired
type"completedTasks"Yes

tasksCompletedBetween

Retrieve tasks completed within a date range.

ParameterTypeRequiredDescription
type"tasksCompletedBetween"Yes
startInclusivestring (date-time)YesRange start (inclusive)
endExclusivestring (date-time)YesRange end (exclusive)

tasksDueOnOrBefore

Retrieve tasks with deadlines on or before a given date.

ParameterTypeRequiredDescription
type"tasksDueOnOrBefore"Yes
datestring (date-time)YesThe cutoff date

doneOnDate

Retrieve tasks completed on a specific date.

ParameterTypeRequiredDescription
type"doneOnDate"Yes
datestring (date-time)YesThe date

trashed

Retrieve all trashed tasks.

ParameterTypeRequired
type"trashed"Yes

waitingFor

Retrieve all Waiting For tasks.

ParameterTypeRequired
type"waitingFor"Yes

Project Queries

projects

Retrieve all active projects.

ParameterTypeRequired
type"projects"Yes

allProjects

Retrieve all projects (including completed).

ParameterTypeRequired
type"allProjects"Yes

inProject

Retrieve all tasks belonging to a project.

ParameterTypeRequiredDescription
type"inProject"Yes
projectIdstring (UUID)YesThe project ID

subProjects

Retrieve sub-projects of a project.

ParameterTypeRequiredDescription
type"subProjects"Yes
projectIdstring (UUID)YesThe parent project ID

projectsWithoutNextActions

Retrieve projects that have no active next action (stuck projects).

ParameterTypeRequired
type"projectsWithoutNextActions"Yes

staleProjects

Retrieve projects with no activity since a threshold date.

ParameterTypeRequiredDescription
type"staleProjects"Yes
activityThresholdstring (date-time)YesNo activity since this date

blockedTasksInProject

Retrieve tasks in a project that are blocked by unresolved dependencies.

ParameterTypeRequiredDescription
type"blockedTasksInProject"Yes
projectIdstring (UUID)YesThe project ID

dependencyGraph

Retrieve the dependency graph for a task.

ParameterTypeRequiredDescription
type"dependencyGraph"Yes
taskIdstring (UUID)YesThe root task ID

Schedule Queries

scheduled

Retrieve all scheduled (calendar) items.

ParameterTypeRequired
type"scheduled"Yes

scheduledBefore

Retrieve scheduled items before a given date.

ParameterTypeRequiredDescription
type"scheduledBefore"Yes
datestring (date-time)YesThe cutoff date

tasksScheduledBetween

Retrieve tasks scheduled within a date range.

ParameterTypeRequiredDescription
type"tasksScheduledBetween"Yes
startInclusivestring (date-time)YesRange start (inclusive)
endExclusivestring (date-time)YesRange end (exclusive)

List Queries

somedayMaybe

Retrieve all Someday/Maybe items.

ParameterTypeRequired
type"somedayMaybe"Yes

referenceFiles

Retrieve all Reference items.

ParameterTypeRequired
type"referenceFiles"Yes

auditLog

Retrieve the audit log of all events.

ParameterTypeRequired
type"auditLog"Yes

Organization Queries

allContexts

Retrieve all contexts.

ParameterTypeRequired
type"allContexts"Yes

getContext

Retrieve a single context by ID.

ParameterTypeRequiredDescription
type"getContext"Yes
contextIdstring (UUID)YesThe context ID

allAreasOfFocus

Retrieve all areas of focus.

ParameterTypeRequired
type"allAreasOfFocus"Yes

getAreaOfFocus

Retrieve a single area of focus by ID.

ParameterTypeRequiredDescription
type"getAreaOfFocus"Yes
areaIdstring (UUID)YesThe area of focus ID

allPeople

Retrieve all people (for delegation/Waiting For).

ParameterTypeRequired
type"allPeople"Yes

getPerson

Retrieve a single person by ID.

ParameterTypeRequiredDescription
type"getPerson"Yes
personIdstring (UUID)YesThe person ID

Horizons Queries

activeGoals

Retrieve all active goals (Horizon 3).

ParameterTypeRequired
type"activeGoals"Yes

allGoals

Retrieve all goals (including completed).

ParameterTypeRequired
type"allGoals"Yes

getGoal

Retrieve a single goal by ID.

ParameterTypeRequiredDescription
type"getGoal"Yes
goalIdstring (UUID)YesThe goal ID

goalsByAreaOfFocus

Retrieve goals linked to an area of focus.

ParameterTypeRequiredDescription
type"goalsByAreaOfFocus"Yes
areaOfFocusIdstring (UUID)YesThe area of focus ID

goalsByVision

Retrieve goals linked to a vision.

ParameterTypeRequiredDescription
type"goalsByVision"Yes
visionIdstring (UUID)YesThe vision ID

goalsWithUpcomingTargetDates

Retrieve goals with target dates within a given number of months.

ParameterTypeRequiredDescription
type"goalsWithUpcomingTargetDates"Yes
withinMonthsintegerYesNumber of months ahead

activeVisions

Retrieve all active visions (Horizon 4).

ParameterTypeRequired
type"activeVisions"Yes

allVisions

Retrieve all visions (including completed).

ParameterTypeRequired
type"allVisions"Yes

getVision

Retrieve a single vision by ID.

ParameterTypeRequiredDescription
type"getVision"Yes
visionIdstring (UUID)YesThe vision ID

visionsByAreaOfFocus

Retrieve visions linked to an area of focus.

ParameterTypeRequiredDescription
type"visionsByAreaOfFocus"Yes
areaOfFocusIdstring (UUID)YesThe area of focus ID

getPurposeAndPrinciples

Retrieve the purpose statement and principles (Horizon 5).

ParameterTypeRequired
type"getPurposeAndPrinciples"Yes

Habits Queries

getRecurringTasks

Retrieve all recurring tasks (scheduled or deadline-based recurrences).

ParameterTypeRequired
type"getRecurringTasks"Yes

getRecurringTaskAnalytics

Retrieve completion analytics for a recurring task over a date range.

ParameterTypeRequiredDescription
type"getRecurringTaskAnalytics"Yes
taskIdstring (UUID)YesThe recurring task ID
startDatestring (date-time)YesRange start
endDatestring (date-time)YesRange end

getHabitsOverview

Retrieve a summary of habit completion rates over a date range.

ParameterTypeRequiredDescription
type"getHabitsOverview"Yes
startDatestring (date-time)YesRange start
endDatestring (date-time)YesRange end

getHabitsHeatmap

Retrieve a day-by-day heatmap of habit completions.

ParameterTypeRequiredDescription
type"getHabitsHeatmap"Yes
startDatestring (date-time)YesRange start
endDatestring (date-time)YesRange end

getHabitsTrend

Retrieve habit completion trend data at a given granularity.

ParameterTypeRequiredDescription
type"getHabitsTrend"Yes
startDatestring (date-time)YesRange start
endDatestring (date-time)YesRange end
granularitystringYesOne of DAILY, WEEKLY, MONTHLY

write-gtd

Execute GTD commands. Modifies state.

Top-level parameters:

ParameterTypeRequiredDescription
organizationIdstring (UUID)YesThe organization to modify
commandobjectYesThe command object; must include a type field

For creation commands (CaptureTask, CreateContext, CreateAreaOfFocus, CreateGoal, CreatePerson, CreateVision), the server generates the aggregate ID automatically. All other commands require an aggregateId field identifying the entity to modify.

Returns: JSON-serialized command result as text content.

Capture Commands

CaptureTask

Add a new item to the inbox.

ParameterTypeRequiredDescription
type"CaptureTask"Yes
namestringYesTask title
descriptionstringYesTask description
importancestringYesExtraLow, Low, Medium, High, or Critical
projectstring (UUID)NoParent project ID
{
  "organizationId": "...",
  "command": {
    "type": "CaptureTask",
    "name": "Call dentist to schedule cleaning",
    "description": "",
    "importance": "Medium"
  }
}

Clarify Commands

ClarifyTask

Clarify an inbox item by assigning it a GTD type. The nextState object uses a type discriminator to select the target kind.

ParameterTypeRequiredDescription
type"ClarifyTask"Yes
aggregateIdstring (UUID)YesTask to clarify
nextStateobjectYesTarget kind (see variants below)
namestringNoUpdated task name
descriptionstringNoUpdated description
importancestringNoExtraLow, Low, Medium, High, or Critical
projectIdstring (UUID)NoAssign to project
contextsstringNoComma-separated context IDs
areasOfFocusstringNoComma-separated area of focus IDs

nextState variants:

Todo (Next Action):

FieldTypeRequiredDescription
type"Todo"Yes
effortstringYesXSmall, Small, Medium, Large, or XLarge
dependsOnarray of UUIDYesTask IDs this depends on (empty array if none)
deadlineobjectNoDeadline object (see Deadline below)

Project:

FieldTypeRequiredDescription
type"Project"Yes
outcomestringYesWhat “done” looks like
effortstringYesEffort estimate
dependsOnarray of UUIDYesDependency task IDs
deadlineobjectNoDeadline object
goalIdstring (UUID)NoLink to a goal

Scheduled (Calendar item):

FieldTypeRequiredDescription
type"Scheduled"Yes
effortstringYesEffort estimate
scheduleobjectYesSchedule object (see Schedule below)

SomedayMaybe:

FieldTypeRequiredDescription
type"SomedayMaybe"Yes
effortstringYesEffort estimate
dependsOnarray of UUIDYesDependency task IDs

ReferenceFile:

FieldTypeRequired
type"ReferenceFile"Yes

WaitingFor (Delegated):

FieldTypeRequiredDescription
type"WaitingFor"Yes
personIdstring (UUID)YesThe person responsible
effortstringYesEffort estimate
dependsOnarray of UUIDYesDependency task IDs
deadlineobjectNoDeadline object
{
  "organizationId": "...",
  "command": {
    "type": "ClarifyTask",
    "aggregateId": "...",
    "nextState": {
      "type": "Todo",
      "effort": "Small",
      "dependsOn": []
    },
    "importance": "High"
  }
}

MoveTask

Move a clarified task to a different GTD kind. Accepts the same nextState variants as ClarifyTask.

ParameterTypeRequiredDescription
type"MoveTask"Yes
aggregateIdstring (UUID)YesTask to move
nextStateobjectYesTarget kind

DelegateTask

Delegate a task to another person (converts to Waiting For).

ParameterTypeRequiredDescription
type"DelegateTask"Yes
aggregateIdstring (UUID)YesTask to delegate
personIdstring (UUID)YesPerson to delegate to

Organize Commands

AddContextToTask / RemoveContextFromTask

Add or remove a context from a task.

ParameterTypeRequiredDescription
type"AddContextToTask" or "RemoveContextFromTask"Yes
aggregateIdstring (UUID)YesTask ID
contextIdstring (UUID)YesContext ID

AddAreaOfFocusToTask / RemoveAreaOfFocusFromTask

Add or remove an area of focus from a task.

ParameterTypeRequiredDescription
type"AddAreaOfFocusToTask" or "RemoveAreaOfFocusFromTask"Yes
aggregateIdstring (UUID)YesTask ID
areaOfFocusIdstring (UUID)YesArea of focus ID

AddDependency / RemoveDependency

Add or remove a dependency between tasks.

ParameterTypeRequiredDescription
type"AddDependency" or "RemoveDependency"Yes
aggregateIdstring (UUID)YesDependent task ID
dependencyIdstring (UUID)YesDependency task ID
resolvedbooleanYes (Add only)Whether the dependency is already resolved

AddProjectToGoal / RemoveProjectFromGoal

Link or unlink a project from a goal.

ParameterTypeRequiredDescription
type"AddProjectToGoal" or "RemoveProjectFromGoal"Yes
aggregateIdstring (UUID)YesProject task ID
goalIdstring (UUID)Yes (Add only)Goal ID

ReplaceTaskName

Change a task’s title.

ParameterTypeRequiredDescription
type"ReplaceTaskName"Yes
aggregateIdstring (UUID)YesTask ID
namestringYesNew name

ReplaceTaskDescription

Change a task’s description.

ParameterTypeRequiredDescription
type"ReplaceTaskDescription"Yes
aggregateIdstring (UUID)YesTask ID
descriptionstringYesNew description

ReplaceTaskImportance

Change a task’s importance level.

ParameterTypeRequiredDescription
type"ReplaceTaskImportance"Yes
aggregateIdstring (UUID)YesTask ID
importancestringYesExtraLow, Low, Medium, High, or Critical

ReplaceTaskEffort

Change a task’s effort estimate.

ParameterTypeRequiredDescription
type"ReplaceTaskEffort"Yes
aggregateIdstring (UUID)YesTask ID
effortstringYesXSmall, Small, Medium, Large, or XLarge

ReplaceTaskOutcome

Change a project’s outcome statement.

ParameterTypeRequiredDescription
type"ReplaceTaskOutcome"Yes
aggregateIdstring (UUID)YesProject task ID
outcomestringYesNew outcome

ReplaceTaskProject

Change which project a task belongs to.

ParameterTypeRequiredDescription
type"ReplaceTaskProject"Yes
aggregateIdstring (UUID)YesTask ID
projectIdstring (UUID)NoNew project ID (omit to unassign)

ReplaceTaskDeadline

Change or remove a task’s deadline.

ParameterTypeRequiredDescription
type"ReplaceTaskDeadline"Yes
aggregateIdstring (UUID)YesTask ID
deadlineChangeobjectYesDeadline change object

deadlineChange variants:

VariantFieldsDescription
Nonetype: "None"Remove the deadline
Oncetype: "Once", due: date-timeOne-time deadline
RecurrenceRuletype: "RecurrenceRule", rrule: string, start?: date-timeRecurring deadline (iCalendar RRULE)

ReplaceTaskSchedule

Change a scheduled task’s schedule.

ParameterTypeRequiredDescription
type"ReplaceTaskSchedule"Yes
aggregateIdstring (UUID)YesTask ID
scheduleobjectYesSchedule object

ReplaceTaskWaitingForPerson

Change who a Waiting For task is delegated to.

ParameterTypeRequiredDescription
type"ReplaceTaskWaitingForPerson"Yes
aggregateIdstring (UUID)YesTask ID
personIdstring (UUID)YesNew person ID

Engage Commands

CompleteTask

Mark a task as complete.

ParameterTypeRequiredDescription
type"CompleteTask"Yes
aggregateIdstring (UUID)YesTask ID
occurrenceDatestring (date-time)NoFor recurring tasks, the specific occurrence date

ReopenTask

Reopen a completed task.

ParameterTypeRequiredDescription
type"ReopenTask"Yes
aggregateIdstring (UUID)YesTask ID

UncompleteRecurrence

Undo a specific occurrence completion on a recurring task.

ParameterTypeRequiredDescription
type"UncompleteRecurrence"Yes
aggregateIdstring (UUID)YesTask ID
occurrenceDatestring (date-time)YesThe occurrence to uncomplete

TrashTask

Move a task to the trash.

ParameterTypeRequiredDescription
type"TrashTask"Yes
aggregateIdstring (UUID)YesTask ID

RestoreTask

Restore a trashed task.

ParameterTypeRequiredDescription
type"RestoreTask"Yes
aggregateIdstring (UUID)YesTask ID

DeleteTask

Permanently delete a task.

ParameterTypeRequiredDescription
type"DeleteTask"Yes
aggregateIdstring (UUID)YesTask ID

Context Commands

CreateContext

Create a new context.

ParameterTypeRequiredDescription
type"CreateContext"Yes
namestringYesContext name (e.g., @computer, @errands)

UpdateContext

Rename a context.

ParameterTypeRequiredDescription
type"UpdateContext"Yes
aggregateIdstring (UUID)YesContext ID
namestringYesNew name

DeleteContext

Delete a context.

ParameterTypeRequiredDescription
type"DeleteContext"Yes
aggregateIdstring (UUID)YesContext ID

Area of Focus Commands

CreateAreaOfFocus

Create a new area of focus.

ParameterTypeRequiredDescription
type"CreateAreaOfFocus"Yes
namestringYesArea name (e.g., Health, Career)

UpdateAreaOfFocus

Rename an area of focus.

ParameterTypeRequiredDescription
type"UpdateAreaOfFocus"Yes
aggregateIdstring (UUID)YesArea of focus ID
namestringYesNew name

DeleteAreaOfFocus

Delete an area of focus.

ParameterTypeRequiredDescription
type"DeleteAreaOfFocus"Yes
aggregateIdstring (UUID)YesArea of focus ID

Person Commands

CreatePerson

Create a new person (for delegation/Waiting For).

ParameterTypeRequiredDescription
type"CreatePerson"Yes
namestringYesPerson’s name
emailstringNoPerson’s email

UpdatePerson

Update a person’s details.

ParameterTypeRequiredDescription
type"UpdatePerson"Yes
aggregateIdstring (UUID)YesPerson ID
namestringNoUpdated name
emailstringNoUpdated email

DeletePerson

Delete a person.

ParameterTypeRequiredDescription
type"DeletePerson"Yes
aggregateIdstring (UUID)YesPerson ID

Goal Commands (Horizon 3)

CreateGoal

Create a new goal.

ParameterTypeRequiredDescription
type"CreateGoal"Yes
namestringYesGoal name
descriptionstringNoGoal description

UpdateGoal

Update a goal’s name or description.

ParameterTypeRequiredDescription
type"UpdateGoal"Yes
aggregateIdstring (UUID)YesGoal ID
namestringNoUpdated name
descriptionstringNoUpdated description

CompleteGoal

Mark a goal as complete.

ParameterTypeRequiredDescription
type"CompleteGoal"Yes
aggregateIdstring (UUID)YesGoal ID

ReopenGoal

Reopen a completed goal.

ParameterTypeRequiredDescription
type"ReopenGoal"Yes
aggregateIdstring (UUID)YesGoal ID

DeleteGoal

Delete a goal.

ParameterTypeRequiredDescription
type"DeleteGoal"Yes
aggregateIdstring (UUID)YesGoal ID

Vision Commands (Horizon 4)

CreateVision

Create a new vision.

ParameterTypeRequiredDescription
type"CreateVision"Yes
namestringYesVision name
descriptionstringNoVision description

UpdateVision

Update a vision’s name or description.

ParameterTypeRequiredDescription
type"UpdateVision"Yes
aggregateIdstring (UUID)YesVision ID
namestringNoUpdated name
descriptionstringNoUpdated description

CompleteVision

Mark a vision as complete.

ParameterTypeRequiredDescription
type"CompleteVision"Yes
aggregateIdstring (UUID)YesVision ID

ReopenVision

Reopen a completed vision.

ParameterTypeRequiredDescription
type"ReopenVision"Yes
aggregateIdstring (UUID)YesVision ID

DeleteVision

Delete a vision.

ParameterTypeRequiredDescription
type"DeleteVision"Yes
aggregateIdstring (UUID)YesVision ID

Purpose & Principles Commands (Horizon 5)

ReplacePurposeStatement

Set or replace the purpose statement.

ParameterTypeRequiredDescription
type"ReplacePurposeStatement"Yes
aggregateIdstring (UUID)YesPurpose and principles aggregate ID
statementstringNoNew purpose statement

AddToPrinciples

Add a principle.

ParameterTypeRequiredDescription
type"AddToPrinciples"Yes
aggregateIdstring (UUID)YesPurpose and principles aggregate ID
principlestringYesPrinciple text

RemoveFromPrinciples

Remove a principle.

ParameterTypeRequiredDescription
type"RemoveFromPrinciples"Yes
aggregateIdstring (UUID)YesPurpose and principles aggregate ID
principlestringYesPrinciple text to remove

ReplacePrinciple

Replace the text of an existing principle.

ParameterTypeRequiredDescription
type"ReplacePrinciple"Yes
aggregateIdstring (UUID)YesPurpose and principles aggregate ID
oldPrinciplestringYesExisting principle text
newPrinciplestringYesReplacement text

Shared Types

Deadline

Used by ClarifyTask, MoveTask, and ReplaceTaskDeadline.

VariantFieldsDescription
Oncetype: "Once", due: string (date-time)One-time deadline
RecurrenceRuletype: "RecurrenceRule", rrule: stringRecurring deadline (iCalendar RRULE format)

Schedule

Used by ClarifyTask (Scheduled kind), MoveTask, and ReplaceTaskSchedule.

VariantFieldsDescription
Oncetype: "Once", scheduleDate: string (date-time)One-time calendar event
RecurrenceRuletype: "RecurrenceRule", rrule: stringRecurring event (iCalendar RRULE format)

Effort

Enum values: XSmall, Small, Medium, Large, XLarge.

Importance

Enum values: ExtraLow, Low, Medium, High, Critical.