Skip to content

Operations Reference

The bridge exposes 16 operations, available via both MCP tools and CLI commands.

Task Operations

OperationMCP ToolCLI CommandDescription
task.listlist_taskstasks list [filters]List tasks with optional filters
task.getget_tasktasks get <id>Get a task by ID
task.createcreate_tasktasks add <title> [flags]Create a new task
task.updateupdate_tasktasks update <id> [flags]Update a task
task.completecomplete_tasktasks complete <id>Mark as done
task.uncompleteuncomplete_tasktasks uncomplete <id>Mark as not done
task.startstart_tasktasks start <id>Start time tracking
task.stop_currentstop_current_tasktasks stop-currentStop current tracking
task.get_currentget_current_tasktasks currentGet currently tracked task
task.set_currentset_current_tasktasks set-current <id>Set current task
task.archivearchive_tasktasks archive <id>Archive a task
task.restorerestore_tasktasks restore <id>Restore from archive

Other Operations

OperationMCP ToolCLI CommandDescription
project.listlist_projectsprojects listList projects
tag.listlist_tagstags listList tags
status.getget_statusstatusGet app status
bridge.healthhealthhealthCheck connectivity

Task Create Fields

FieldTypeRequiredDescription
titlestringyesTask title
notesstringnoTask notes
projectIdstring | nullnoProject to assign
tagIdsstring[]noTags to assign
parentIdstringnoParent task (creates subtask)
plannedAtstring | intnoPlanned date (ISO or epoch ms)
dueDaystring | nullnoDue date (YYYY-MM-DD)
dueWithTimeint | nullnoDue timestamp (epoch ms)
isDonebooleannoInitial completion state
timeEstimateint ≥ 0noTime estimate (ms)
timeSpentint ≥ 0noTime already spent (ms)

WARNING

parentId cannot be combined with projectId or tagIds (subtasks inherit from parent).

Task Update Fields

Same as create except: parentId is not allowed on update.

Task List Filters

FilterTypeDescription
querystringTitle substring (case-insensitive)
projectIdstringFilter by project
tagIdstringFilter by tag (TODAY for today's tasks)
includeDonebooleanInclude completed tasks
sourceactive | archived | allTask pool (default: active)

TIP

source=all expands the pool to include archived tasks but does not automatically show completed tasks. Most archived tasks are done, so combine with includeDone=true to see them. The taskCount in get_status reflects the active pool including done tasks (not all tasks across all sources).

Error Codes

CodeMeaning
SP_UNAVAILABLECannot connect to SP Local REST API
TIMEOUTRequest timed out
UNKNOWN_OPERATIONOperation not recognized
UNSUPPORTED_OPERATIONOperation exists but is not implemented
INVALID_INPUTPayload validation failed
TASK_NOT_FOUNDTask ID not found
PROJECT_NOT_FOUNDProject ID not found
SP_ERRORSP returned an error
INTERNAL_ERRORUnexpected bridge error

Intentionally Excluded

  • task.delete — Destructive operation excluded by design. Use archive/restore instead.

Released under the MIT License.